Why I chose C#.NET to implement ‘Nerve’ (a practice management system)
Being a programmer who has used a LOT of languages, I must say that
the benefits provided by ‘managed code’ outweigh (by an overwhelming margin I might add) any other consideration.
It is just not worth my employers time to have me tracking down memory leaks. The magic of automatic garbage collection is here to stay.. Embrace it.
Choices now got narrowed down to .NET or Java.
Don’t get me wrong.. Amazing code can be cooked up in Java.. Take a look at Azureus – the bit torrent client.. absolutely mind blowing piece of software.. Cool graphics, fantastic algorithm. Why then did I NOT use Java for this project?
Two reasons.. Database management and reporting.
This was to be almost a 100% database driven app.
Reporting was a significant aspect of what I was trying to do. At some point, I could envision having an easy to use ad-hoc reporting mechanism that could be widely and easily used. What better tool than MS Access . That all pervading MS Office beauty that may one day end world hunger and may very well be the solution for melting polar ice caps 🙂
Now, MS Access links well with most relational databases.
Within the application, some advanced reporting mechanism would save a lot of time and effort. Crystal reports perfectly fit the bill.
There it was.. The most contemporary technology that offered all I was looking was.. it had to be .NET talking to SQL server (The SQL server choice for the backend was clinched because of my fondness for MS Access ADP)
C#.NET and VB.NET: I am more syntactically comfortable with C# (VB.NET and C#.NET for the most part are functionally identical. The coding effort involved is about the same).
Now the cons of my decision:
1. Windows only environment.. Who are we kidding.. Windows is here to stay.
2. Requirement of a fairly heavyweight .NET runtime. Fortunately, all target systems are state of the art win XP/2K based systems (80+gigs HDD and 512MB+ram). Also, .NET comes preinstalled with XP. So, the runtime is ‘already there’ on almost all sytems.
Did I make the right decision? I think so.. but as they say, the proof is in the pudding. Let’s wait and watch 🙂