Pocket C# is port of C# compiler from DotGNU project to Windows CE. DotGNU contains open-source runtime, compiler and tools creating a free cross-platform .NET environment.
Pocket C# is port of C# compiler from DotGNU project to Windows CE. DotGNU contains open-source runtime, compiler and tools creating a free cross-platform .NET environment.
What next. A version of DotGNU Ported to Windows XP, which performs better than the Microsoft Version?
I didn’t see anything about it perfoming faster on the Pocket PC. However, it is very cool.
soon on palm?
palm os 6 is supposed to run .net
Unlike the .NET Desktop Redistributable (which is free as beer – if you’re interested in detox) .NET compact Framework is heavily licensed per copy.
Might be a good thing for embedded developers needing WinForms on handhelds .
Also DotGNU was ported to Zauruses and Ipaqs way back in 2003
Which one is more advanced, has better support for .NET, DotGNU or Mono?
> Which one is more advanced, has better support for .NET, DotGNU or Mono?
Depends on what you want …
Windows.Forms => DotGNU
ASP.NET => Mono
ADO.NET => Same codebase
DotGNU is a bit more diverse than Mono , in that it has
some unique stuff that .NET does not have .For example
a Managed C compiler (with advanced things like pthreads
support working) or compile support from C# to other
bytecodes like Parrot (perl6) or JVM.
It’s like measuring apples to oranges really
To add to what t3rmin4t0r said…
On a lower level, Mono supports JIT on more platforms than DotGNU currently, but DotGNU’s non-JIT interpreter is more efficient and easier to port than Mono’s so DotGNU is currently usable on more platforms. On Mono JIT-supported platforms it is faster than DotGNU.
On the other hand, I would rather have DotGNU on a Pocket PC platform than Mono. JIT takes a lot of memory, and memory is at a premium on embedded platforms. A really efficient token-threaded interpreter can be advantageous when working on constrained platforms.
> Which one is more advanced, has better support for .NET, DotGNU or Mono?
Politics completely aside – I believe that Mono has better support for Microsoft’s .net libraries than DotGNU maybe because it is more complete I think. Saying this I’m likely to get lambasted – and admitting my own guilt I haven’t worked with dotgnu at all. Like t3rmin4t0r pointed out the often mentioned compatibility to c. Which is another great language added to the abilities of .net – there are tons that you should know about (http://www.dotnetpowered.com/languages.aspx has a good list). In theory, once in IL form, they all have the potential to run on whatever compatible runtime you choose to use so compiling in mono and running on ms’s runtime can work (I’m pretty sure this is true for dot gnu as well as long as you don’t do anything funky). I believe that dotGNU’s ado .net comes a la Mono (I’ve heard this mentioned before and it also says so in their faq). Also I believe that Mono has a substantially larger developer pool which is likely pushing things faster for mono – having Novell’s support I’m sure this is a real [welcome] feather in their hat too.
But asking which one is more advanced is a bit of a loaded question. I don’t think it’s because they are like comparing apples and oranges at all – my feeling it is because they are so alike. Some bits are extremely interchangeable – so much so that at one level why bother to compare them that way at all. From what I can tell it’s their foundations (compiler/options) that are very different. Please correct me if I’m wrong here.
<shameless-plug>After saying all that I’d like to add that I personally have been attracted to Mono for it’s awesome community, professionalism, projects, and initiative.</shameless-plug> – which is not meant to be an insult thrown at dotgnu.
I just read the site. Unfortunately t3rmin4t0r, this is not a port of the Portable.NET runtime – it is just a port of the compilers and build tools. Pocket C# runs on and currently requires the .NET Compact Framework.
So no savings in license fees for you, and no possibility of running it at all for me. None of my WinCE devices are supported by the .NET CF, nor can they be upgraded. Unless I do it myself or buy new devices I am out of luck.
Were you really going to start writing and compiling c# programs on your handheld???
Wow!
Thanks guys for your answers. Greatly appreciated indeed.
@Chris:
One of my handhelds is an HP820. Keyboard, VGA screen, laptop replacement, non-upgradable. That one I would program on. The other PocketPC machine (3.0, not ARM) I would probably just run programs that I wrote elsewhere.
I would be more interested in the runtime itself than in C# as such. Language implementation is one of my hobbies and I’ve just recently become interested in DotGNU’s CVM interpreter. It seems like a promising approach that may help on resource-constrained devices.
Really, I’m just a little sick of C/C++ and would rather avoid them if I can. Between that and time/money constraints I was hopeful when I thought someone had done the C parts of the porting already.
Programming is one of the reasons I have handhelds in the first place. They’re too awkward to be used as ebook readers for too long, so that just leaves me with the address book and map software. If I have a portable programming environment I have something to do when I’m waiting away from my desk, something that takes up a good chunk of my time. Right now all I can fill that time with is reading.
That’s what I get for not playing video games or listening to music regularly.