I’m not sure how long you guys have in the industry, but I have been around the software engineering space for a while. I was already been coding and working professionally when Microsoft’s released .NET back in 2001 or 2002 and started tinkering with the thing using the beta build of .NET Framework 1.0.
The company I worked for at the time had some tough decisions to make and decided that the company was going to place a significant amount of its eggs in the proverbial basket sitting comfortably in the Microsoft bandwagon. I believed then as I do now that it was a wise decision however, being such early adopters, and being the ‘new kid on the block’ going up against the then industry darling Java, there was quite a bit of research and some pretty interesting debates at the office about the choice of .NET as our primary development platform.
I recall very clearly the day I fired up the IDE for the first time. It was Visual Studio 7 & .NET Framework v1 and a colleague (who was affectionately called ‘The Overlord’) for whom I have the greatest respect, looked over my shoulder and said, “Hum, that’s interesting, but … why don’t you use Java?”.
Over time there were a number of very heated discussions on various technology subjects and Microsoft’s technology decision as it related to their platform and products, but I think Microsoft did some things that won us over. They were certainly evolving their platform and doing some things extremely well. Their implementation of Attributes and delegates were impressive from the get go, then the choices that they made in implementing Generics in the version 2.0 of the Framework where truly impressive (especially compared to Java’s erasure implementation) to rationale behind the choices that they made in changing the runtime truly impresses us (well me at least). The evolution of the C# language and the truly productive IDE deserves mention as well. I can go on about the list of impressive things, but that isn’t the point of this post.
A lot of my career has been spent with smaller companies during their ‘building years’. My experience at those companies and interacting with others of similar size and developmental stages has been pointing to Microsoft .NET the preferred software development ecosystem. At the same time, when speaking with larger companies, either as clients or colleagues you would often get the funny looks and people push back saying as if it is simply a universal fact that – “At the enterprise level, no one uses the .NET platform. J2EE is what runs the enterprise”. I heard almost the exact same thing with regard to the Windows Server OS this week on the job, which shall be the subject of my next post … and by the way, I now function at an enterprise capacity as my company does consulting to the Government of Trinidad and Tobago.
As a Solutions Architect, its actually my job not to take sides and have an objective view of the entire playing field and when I hear (or make) statements such as these, I need some level of empirical evidence. It would seem that in this case however, the fire behind this particular argument has largely subsided since I found it a bit difficult to get recent and independent information on the subject. Any links that my readers find would be greatly appreciated =) … So… See for yourself:
and … some interesting findings from Research another group
LONDON, ON, Nov. 28 /PRNewswire/ – Despite commonly held assumptions in the developer community, Microsoft’s .NET platform is more popular than Java among enterprises of all sizes and industries, according to recent research from Info-Tech Research Group. The research study explored the relative prevalence of Java and .NET across different types of enterprises, revealing that Microsoft’s .NET platform has gained considerable market share, becoming the favorite of most enterprises.