.NET ueber alles

Through this spring i’ve been playing around with some iPhone development to teach myself Objective-C. It hasn’t been all fun..

With 10 years of .NET development behind me i’ve got a good understanding of development, and I  read  code in almost any language. Now a few days before i start my summer vacation have learned two things…

  • I really enjoy developing software.
  • I still find it painful to take joy in developing software in Objective-C.

It is two-folded; I don’t really like the language, and  the standard IDE Xcode is an incomplete and non-productive IDE in my opinion.

For me it is not a evolutionary step forward when it comes to how a programming language should look and feel. Maybe it is for those who do ninja style C++ but as a developer who’s mainly been doing development with Java and C# (and Visual Basic before that)  i’ve just concluded that this nonsense is at an end.

Instead of learning yet another language and spend a lot of time becoming a Obj-C master developer I rather use my skills as a .NET C# developer. I’ve purchased MonoTouch and I am really looking forward to learning more about it, the joy of programming is back!. MonoTouch (and the mono project) has helped achieve what i find more important than pure speed, and that is the possibility to write code once.

Not only reusability on a single platform, but being able to write code once, for any platform. Of course, there’s not possible to make all code work on all devices, but being able to write business logic code once in a single language and then attach specific UI and hardware code will be a huge improvement in device software development for companies that specializes  in device software.

Funny enough, this is where Java could have been huge, really huge, if they’ve planned a bit smarter.  Java had everything it took to become large on devices, instead Java on devices just became outdated. Fast. I wonder how it came to this? Years ago you could’ve counted on a port or a framework from the Java open source community,  but what now? Why is there no java equivalent of MonoTouch? Maybe they’re just happy with the Android and Blackberry development?

So the days of straying off the path is at an end. It looks like there’s one language to bind them all and that is C#.

C# on Windows Mobile 5.x, 6.x on rugged and industrial devices, C# with Silverlight on Windows Phone 7, C# with MonoTouch on iPhone, iPods and iPad, and finally when monoDroid goes out of beta there will be C# with monoDroid on the Android platform.

With these tools i’ll be able to cover the majority of mobile devices for a long time.

[Update]

Curiously enough a few hours after I wrote this I found a PhoneArena.com article originating from engadget.com that touches multi platform development. According to engadget and AppStore HQ there are 1,412 registered developers that do development on both iOS and Android. Of the total 53,384 registered developers on both “camps,  only 2,64% of them develop for both platforms.  With tools like MonoTouch and MonoDroid this number should be expected to grow considerably.

C# ueber alles.

Use Facebook to Comment on this Post

Tags: , , , , , , , , ,

No comments yet.

Leave a Reply