Linked by Thom Holwerda on Tue 18th Jul 2006 22:31 UTC, submitted by Tom Magnum
Thread beginning with comment 144454
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.





Member since:
2006-07-19
I have been writing application commerically for .NET on mobile platforms since MS shipped their MS VS 7.0. And my opinion is very clear: It sucks!
In the beginning of the project we were concerned over the performance of the system and our concern turned out to be correct. When in need of a fast, responsive system only native code can be used. I believe we have spent the same amount of time in performance optimizing .NET ( by writing critical code in C++ ) and expanding CF .NET ( due to lack of functionality in the .NET CF on Windows CE ) as we have developing the applications.
To me it seems that if Mono is to be used for mobile devices it better out perform the MS .NET CF or else it is completely useless.
Admittedly, the .NET allows non-programmers to write applications and programmers to quickly produce a lot of applications. However, it does not produce better code. Programmers tend to get more "relaxed / lazy" due to the fact that a garbage collector will "clean the memory". Quality have certainly gone down as well as performance.
If I had to advice anyone about programming on mobile devices my advice would be to skip .NET. I don't know of the performance of Java on mobile devices but I know the .NET CF performance and it's very poor. OK, I have no experience with Mono on mobile devices or embedded systems but at least the MS version sucks performance wise. I have problems seeing that Mono would outperform ( both in speed and stability ).
Personally, I have 2 more opionions:
1st. I work with MS platforms and tools. But this doesn't mean that I'm a true believer. I like Open Source and contribute myself. At the time of writing I'm porting a Linux 2.6 kernel to our embedded system ( XScale 398 MHz, 64 MB RAM / 64 MB Flash ) for the fun of it and to get to know the performance of Linux in embedded systems. Maybe with a Java interpreter installed.
2nd. I work with high performing systems. I do not care about programmer wannabes ( meaning people with no programming skills what so ever who wants to create applications ). I help people who wish to learn how to program a system but not just by making software by clicking around and copy / pasting code. Therefore, .NET, Basic etc. are only fine if the performance is right. I think that it's important to destinguis between 2 types of people: Those who know how to program ( maybe not the platform - but they can learn ) and those who wants to call themselves programmers just by using some framework like the .NET. The latter cannot expect any higher performance from their system.