Wednesday, May 30, 2007

C#, .NET, Visual Studio 2005 Express

Last year I taught as a tutor in Alan Crispin's courses "Computer-Based Applications" and "Computer-Based Graphics", which were my first introduction to C#. All these years before I had used C / C++ for all my software development activities: starting in 1990 with the conversion of road tracking software from Pascal to C, then developing new components with ANSI C for a transputer-based cluster. In 1996 I switched to Microsoft's Visual Studio and familiarized myself with C++ and the Microsoft Foundation Classes (MFC). Quite a useful API for programming under Windows - I enjoyed creating ActiveX controls, and wrote a set of classes which allowed me to quickly develop software projects. I stayed up to date with updates for the Visual Studio (VS), but when the Visual Studio .NET came out in 2002, with a further update in 2003, I was not very impressed. Code development seemed much slower and more cumbersome in the .NET version, and I remained faithful to the old Visual Studio 6.0 and its latest service pack #6.

Here at Leeds Met we have site licenses for VS.NET 2003, and due to the requirements for the course I had to make the switch. But then, new versions came out, and Microsoft offered on their website Visual Studio 2005 Express editions, free of charge. After I had installed the Visual Studio Express for C# and also the .NET Framework. The latter one comes in varios versions: 1.0, 1.1, 2.0, 3.0. In order to stay compatible, I installed them all, starting with the oldest version. There are also service packs available - which I installed too.

Working with Visual Studio Express is actually very nice: the IDE supports many tasks, provides quick help. Variable names are automatically completed, methods / properties of classes can be completed automatically. Since I did not know much of the internals of C# and the .NET framework, I often used the built-in help, accessing MSDN either locally or online.

The .NET framework is quite powerful. A really big step forward over MFC. When writing with MFC, I had to write a lot of code to get a simple task done. With .NET, often just a few lines do the trick.

I am now in the process of rewriting most of my previous work / classes / modules into C# and .NET. I think that this framework will stay around for a while - its potential has probably not yet been exploited to its fullest by the software developer community. Excellent classes, with lots of encapsulated functionality. In most cases I just need a small fraction of that functionality - but it is good to know that it is there.

And interesting is that the whole software development kit is free. No need yet for me to purchase a full version of Visual Studio - the Express edition works just fine. Maybe I will eventually find a weak point, but currently I will stay with that platform. Many thanks to MS for making this software available!

Big applause to Microsoft also for their support of XML - this is going to have a big impact in the Open Source community.

My current software development project: a tool for Geo-Tagging JPG images.