When Microsoft first announced its .NET platform around the turn of the millennium, it met with plenty of skepticism. Java, then still owned by its creator Sun Microsystems, was already well entrenched in the enterprise space, leaving many to wonder if a company that was becoming best known for holding onto its territory was still capable of new conquests.
Even more than that, many were skeptical about Microsoft’s ability or willingness to deliver on the promises with which it introduced .NET (pronounced “dot net”). Talk of language agnosticism, a deep, fundamental commitment to security, and open standards did not necessarily ring true to many who had watched the software giant at work over the years.
Since then, most of those early claims have been borne out and the .NET platform has turned out to be an enduring success. While it has not necessarily taken the wider software development world by storm, .NET has done more than carve out an important place for itself. It has become a technology that many among even the most demanding developers and IT specialists truly respect and enjoy working with. There are good reasons for that, the top five of which are:
1. .NET is a Standardized, Increasingly Open Platform
In the days before Google and Apple came to stand atop the world of technology, Microsoft was hardly known for its openness. In fact, the company had a reputation for wielding what were putatively open standards as means of keeping competitors out, whether with its Internet Explorer browser features or the document formats preferred by newer versions of Office.
With the .NET platform, though, Microsoft actually took the goal of standardization seriously, and that early commitment is still paying off today. Instead of going it alone, the company partnered with Intel and Hewlett-Packard to work up a specification for the Common Language Infrastructure that was registered with the ECMA and ISO.
Since then, .NET has only become more open and standardized. With the open release in 2014 of the whole Core Common Language Runtime source, the .NET platform can fairly be regarded as one that anyone can have a stab at porting anywhere. This commitment to standardization and openness has served Microsoft, .NET, and the overall software community well throughout the changing times since the platform was first introduced.
2. Language Independence
When Sun’s engineers sat down to hash out Java in the early 1990s, they worked in lockstep on the Java language and the virtual machine that would host it. This meant that VM design choices tended to be tightly coupled to particular Java language features, with the resulting JVM being anything but a model of flexibility.
Microsoft could have gone that route with .NET, but it chose another one, instead. With hundreds of thousands of corporate programmers churning out Visual Basic CRUD apps and the company’s ASP web server tech also doing well, a VM that was focused on a single language would have made providing .NET-based alternatives difficult. Microsoft also wanted to take things a step further, and the high-level, memory-managed C# language that it delivered alongside ASP.NET and VB.NET turned out to be one of its most important accomplishments of all.
That fundamental commitment to independence from particular languages and to VM-level flexibility has turned out to be a major advantage for .NET. It has allowed language designers to be more ambitious with their updates, and it has also made it easier to introduce interesting, relatively off-the-wall ideas like the CLR-hosted F# language, a Microsoft-sponsored take on the Ocaml functional dialect.
3. Language Interoperability
Language independence at the level of the virtual machine almost guaranteed that there would be plenty of opportunities for cooperation and communication among .NET-hosted languages. Microsoft went still further than that, though, equipping early versions of .NET with plenty of straightforward facilities for interfacing with native code, making it easy to call into the countless .DLLs that ship with Windows, for example.
Early on, that set it apart from Java, where things were often quite a bit hairier. Java has since caught up in many respects, although the .NET experience still tends to be easier to come to grips with and more forgiving, and that can be very valuable. Many common C# jobs, for example, are greatly eased by the ability to quickly, simply bridge that high-level language with low-level libraries written in C++ or the like.
Java has never had a strong reputation when it comes to security, and this has sadly not improved in recent years. In fact, after nearly twenty years of the platform’s availability, many security experts are starting to recommend that end users either disable the use of Java in their browsers or simply uninstall the system entirely.
At the time that it was preparing to release .NET, Microsoft’s reputation in security quarters was even worse. Nonetheless, the engineers tasked with designing the new platform committed to making it a model of secure operation, equipping it with features that had never before been seen in production.
Since then, the CLR’s evidence-based, finely granular security model has clearly stood the test of time. While Java has succumbed to hundreds of vulnerabilities over the years, .NET remains a technology that many feel just as comfortable on an important server for ASP.NET jobs as on a home computer.
None of this would matter if the CLR or the languages that run on it were slow or required too much in the way of resources. At every step of the way, though, Microsoft has insisted on extracting the greatest possible performance out of the platform, making it a pleasure to use for those who care about maximizing what a given computer can do.
In other quarters, this kind of a focus on performance typically means giving things up. In the case of .NET, it often comes with additional options instead, whether that means the ability to compile to intermediate language ahead of time or a virtual machine that supports any conceivable type system. That is a real achievement, and it is undoubtedly an important reason why .NET is so popular and well-regarded today.
A Major Achievement and an Early Sign of an Evolving Microsoft
.NET was set free into the world at a time when Microsoft’s reputation, both among technologists and the general public, was likely at its lowest. Skepticism about its chances and the claims its creators made were understandable in that context, but those early opponents have largely turned out to be mistaken.
Whether a company with fewer resources could have done so well with a project as ambitious as .NET is an open question. What is clear, though, is that the .NET success story points in a lot of ways to a Microsoft that was already evolving, even while the company’s critics were at their fiercest. Those important qualities make it an excellent choice for many purposes today and a platform that many developers are understandably happy to make use of.
VALiNTRY is proud to work with some of the best .NET developers in the US at our Consulting sites throughout the country. Use this link to search our .NET opportunities now.