Monday, 21 January 2008

Developing in .NET: Initial Impressions

Well I'm a C++ backgroung programmer who initially started developing in VB 6 many years ago and moved into C++ shortly after, which was a welcome relief. I've avoided Microsoft technology every since, so developing in .NET is a big step for me. Why not try Java or Ruby? Well I would have liked to, but in the team I'm currently working with here .NET code and Microsoft technology is already heavily embedded so I could try to introduce a new language that would take a long time for developers to learn (and many of them do not want to) or I could learn a new language myself. I decided it was a good oppertunity to try something new. So with absolutely no .NET training I fired up a project, a website project. I created a page, added some code behind the page. Fired it up. Within 10 minutes of starting my first .NET project I have a login form that processes my username. So far so good, but I had heard this about .NET that it was very quick to get simple code in place. So I read up on Master pages, create a framework for the interface. Then I extract the code behind into a nice class structure with an interface into our reporting environment. I add a database structure and interface into DB2 and get one of my team to extract some authentication code (in VB, where as I'm writing C#) into a re-usable class. One week later, roughly 18 hours into development and I have a dynamic reporting application that only needs the final touches and interface to be beautified. I have to say that I'm fairly impressed at the speed at which I can create such an application. I spent 3.5 weeks creating exactly the same application in Java and I had an API to work with for the reporting component and had a good knowledge of Java before starting the project where as this is the first time I've programmed in C#. I still don't consider myself an avatar of .NET. I don't agree with many of the development principals that they use and the Microsoft restrictions that exist still bug me. But for its purpose, .NET appears after my first impressions to be a pleasure to develop good clean code in.

No comments: