Fremus.co.za

Demistifying Life and Web Development

Why use .NET as development platform?

The purpose of this post is to make it clear to myself why I use .NET as a development platform. The need to make it clear has arisen because I have noted a trend lately that saw at least two .NET developers moving to other platforms, and it made me wonder why I still choose .NET as a development platform at the moment. I have been reading up a bit on Ruby-on-Rails, because it seems to be the next big thing in terms of web development, and I haven’t found a compelling reason to dump .NET. If I had to think of reasons why I would not drop .NET it would be something like the following:

  • Operating System familiarity. Yes I know Mac OS X and Linux are potentially more stable and more superior. But superiority comes at a price. Everything I need works in Windows, from networking, office suites, wireless devices, development environments and file management. A Windows network is easy to setup, as is file and print sharing, and Microsoft Office is still the de facto desktop Office Suite. There aren’t many wireless devices that can NOT connect to a Windows-based system, which makes Windows almost ubiquitous.
  • Having stated that I like to do my development in a Windows environment because of the familiarity it provides, the next important thing relates to the skill sets I have acquired over of a period of time. The skill sets I have acquired over the last 4/5 years have been acquired doing development on Windows-based systems. My development environment allows me to retain a core set of skills that are applicable across a wide variety of devices. The CLR (Common Language Runtime) remains the same in the way it runs and executes whether it’s on a mobile device or a desktop application or in a browser. Class libraries might change and you might add new references, but at the end of the day the code you write still compiles to that same IL code. I can thus retain the knowledge I have of the CLR and focus on learning the nuances of a particular implementation, such as focusing on aspects of SOA when developing WCF Services, or focusing on the intricacies of WPF when developing desktop applications. At the end of the day you are still writing code and your activities should be targeted towards a better understanding of your development environment, and ensuring that your code is of a great quality through tried-and-tested practices. Developing software is all about achieving a business objective.
  • Continuing from the previous point, I believe that all software development follow the same structured and disciplined approach. The platform on which you do it is irrelevant, it is more important that you follow best practices, and for this reason I believe you can write great quality software on the .NET platform, and if you do things right you could probably write that software on another platform too
  • From the second point I can also create an architecture that flows from end-to-end with total and complete integration. In other words I could develop an Intranet application that connects to web services from a web application and allows me to transmit information between the two without having to do any manual file copying. I can thus design processes around the activities in one area to interact with processes in other areas and create measurable and timely information. I could for instance allow a group of sales people to directly interact with customers from an intranet to a production website using the same technology with its various subsets.
  • I have not reached the pinnacle of what I can achieve on the .NET framework in terms of personal and professional development and I believe I can learn and apply the same practices elsewhere, but I still need to learn those best practices. Whether I learn them on the .NET framework or in a J2EE or Ruby-On-Rails environment, it’s not that relevant.
  • Share/Bookmark
posted by fr3dr1k in General and have No Comments

Place your comment

Please fill your data and comment below.
Name
Email
Website
Your comment
Get Adobe Flash playerPlugin by wpburn.com wordpress themes