![]() |
19 Victoria Terrace
Crieff, Perthshire PH7 4AA t/f : 01764 655022 |
It's been a long time since I wrote anything here - that's because I've been involved in quite a variety of things, one of which is the development of software to support a new business venture. I'll write some more about that later, but what prompted me to get back to updating the weblog is an article I read on the emergence of .Net as the software development platform of choice for an increasing number of developers. The reason that got me writing was that I am using .Net (and specifically C#) as the development platform for this project.
I won't go into a lot of detail about .Net, that's covered in plenty of other places, but I did want to share some observations. Firstly, it's been a while since I did any serious software development and that used to be in Fortran and C. Although I never really made the transition to C++ I did do a little playing in Java just to get the hang of OOP. So, when this project came along, given that it needs to run on Windows systems (because the whole point is to build a distributed monitoring system for Windows servers) it seemed natural to have a look at C#.
Since most of what I have been doing in a software sense in recent years was web-based, the first thing that put me off was the size of the download for the .Net Common Language Runtime. I don't mind the 120Mb+ download for the SDK because only I have to do that, but the 23Mb or so for the runtime seemed a bit large. However, I accepted that the trade-off of greater productivity in development plus the fact that increasingly it will be on all Windows systems anyway was justifiable for the benefits it would bring.
The SDK itself is free from Microsoft and gives you every you actually need to write .Net apps, including the command line C# compiler. Most of us like a little more comfort than that in the form of an IDE - the obvious one to choose is Visual C# or Visual Studio .Net but I chose to have a look at an Open Source IDE called SharpDevelop. I first came across this about a year ago when it was at release 0.99 and when I started this project I was using what they called Fidalgo Beta 1. It worked but it tended to balloon up its memory usage after it had been in use for a while. It's now up to Release Candidate 2 and they seem to have fixed this problem. It doesn't have a debugger yet, which you get with the Microsoft IDE's, but other than that it works pretty well.
The reasons for choosing to use this, apart from natural parsimony, was that I have a general desire to use and support Open Source projects. When you find one which works this well and which has obviously had such a lot of work go into it, it's worth sharing a bit of recognition.
The other interesting thing about .Net now is that is is becoming cross-platform in the guise of the Mono project. This is possible because Microsoft has put the whole specification for .Net and the C# language into the public domain under the ECMA standards process. The Mono project is now supported by Novell and it fits very nicely with their acquisition last year of the Suse Linux operating system. Mono has now reached version 1.0, and while I haven't tried it yet, it offers the possibility that our monitoring system can be extended fairly easily to include non-Windows platforms, something which we are already getting enquiries about. With .Net being cross-platform it starts to look like a more serious competitor to Java as the language of choice for distributed systems development, the theme of the article which triggered this post in the first place.
Anyway, the long and the short of all this is that the software development project is fun and .Net is helping me to get it done a lot faster and better than any other way I could see of doing it.
| Home |
Services |
Company |
Resources |
Weblog |
Contact © EIT Consulting 2004 |