Thursday, May 05, 2005

Two weeks after my C# course

Well all that course really did for me was to get me to appreciate Java more. C# is a pretty good copy of Java but it seems that most of the differences/compromises from Java seem to be for supporting legacy Windows components. I don't think that's a bad thing necessarily but unless you have a huge pile of C++ or COM code lying around, I think the choice of Java or C# would be pretty difficult, especially if you're developing web apps. Afterall, why constrain yourself to one platform and one application server? Also having experienced the limitations of Visual Studio for a week, I know that code editing can be made way more efficient (yay Eclipse!).

I think the place where C#, .NET and Visual Studio shines is in the creation of rich client applications. Dot-NET leverages all the native Windows components so your apps look good and behave well. Rich client .NET apps, like Java apps, seem to take a little while to get going but once you're there you don't really know you're running a .NET app. I think if IBM ever gets their act together and make a decent SWT GUI editor then Java may (finally) be a contender on the Windows platform. But for now MS has this all to themselves

So what have I really done with my new knowledge? Well not much.
  1. I wrote a little application to interface with iTunes (which has a pretty full fledged COM interface). It just grabs the song title and artist of the currently playing track and throws it on the clipboard. Handy for sending someone an instant message.
  2. I also tried out ADO.NET with Mono. Mono ships with a driver for PostgreSQL. So I wrote a little command line app to connect, execute a query, and print out the results. Not too exciting but pretty easy.
  3. I spoke with the instructor about Object Relational Mapping and without any prompting from me, he suggested NHibernate. He's using it on his current project and says it works quite well. I really dig Hibernate so it's good to hear that C# developers can benefit from this technology as well.
  4. I tried to create a GUI using Windows.Forms on my Mac. That was a bust. Apparently it's possible but you have to install a bunch of other junk. I just wasn't that interested.
The next things for me is to probably find a gig where I can really exercise this thing called .NET...

No comments: