View Single Post
  #23   Spotlight this post!  
Unread 18-10-2006, 10:50
fowlerm's Avatar
fowlerm fowlerm is offline
Bringing .NET to Robots
AKA: Matthew Fowler
FRC #0312 (Heatwave); FRC #1369 (Minotaur)
Team Role: Engineer
 
Join Date: Apr 2005
Rookie Year: 2001
Location: St. Petersburg, FL, USA
Posts: 78
fowlerm has a spectacular aura aboutfowlerm has a spectacular aura aboutfowlerm has a spectacular aura about
Re: Gumstix Programming

Quote:
Originally Posted by Tom Bottiglieri
I'm wondering why you would want to run CE when there is a perfectly good linux kernel that comes standard with these things.
The biggest reason is that it provides a powerful and stable OS (not to say that Linux isn't) that many developers would be more familiar with. CE shares many of the same SDK features as Win32, and the .NET CF makes it even easier to transition from desktop to embedded development.

Quote:
Originally Posted by Tom Bottiglieri
It seems logical to use an easily changeable script to manage this, rather than cross compiling each time you want to change something.
This isn't really an issue since .NET can dynamically load assemblies. Also there are many scripting languages that will work with the .NET CF. As soon as the .NET CF includes the System.Reflection.Emit namespace I will be doing most of my robotics development using IronPython (Python for the .NET CLR).

Quote:
Originally Posted by Tom Bottiglieri
As good as it this is, you will probably be able to get better efficiency from a compiled C program.
This is true, but there are many things that you can do to speed up your applications. The biggest issue is memory consumption (because of the JIT compiler), but with good coding this can be minimized. For a comparison of execution speed of the .NET CF 2 vs. native code on the PXA255 CPU this is a great article. Also, the .NET CF can invoke native methods from managed code, so you always have the option of mixing managed and native code to speed things up.