4 short years ago, Microsoft unveiled its new framework/engine for programming and running applications in a virtual environment, and the world was stunned. Microsoft had introduced a run-time environment that was for the first time a true “Write once, run everywhere” implementation, but that was far from being the end. With .NET 3.0 on the loom, NeoSmart Technologies takes a look at how far .NET has come and just how long it can keep going.
Besides being a true virtual machine implementation that really does work everywhere no matter how terrible your code is, .NET is paving the way for a revolution that’ll end with it either dead or the only language worth using.. and from what we see, it sure isn’t the first!
Update: Once you’re done reading, here’s a follow-up that should clear some things up.
In the past week, .NET has made several huge steps that bring it a lot closer to truly taking over the world. Following the July 27th release of RC1 for IronPython 1.0 at Microsoft’s CodePlex which allows for complete Python-powered applications to tap right into the .NET platform and it’s powerful resources with little to no code changes. IronPython is much more “just another language ported to .NET,” rather IronPython was the first domino to fall, a gateway to .NET globability.
Python is special. It’s a “hard-core” language that puts the programmer in the front-seat, but more importantly, it’s a dynamically typed language, and a preview of what’s to come. The old arguments that .NET would fail because of it’s insistence on strong static types and nominative structure just wouldn’t appeal to certain users was no longer valid – for IronPython is the very opposite of the “traditional” (C# or VB.NET) application.
So .NET can run on non-type-safe languages – but what does that mean? Besides the obvious “easier to code, less troublesome” applications, it means that .NET is now ready to go past the desktop. The .NET Framework was tied strictly to the desktop platform by its need for pre-compiled applications and static languages, but all that is about to change. Drastically.
Following the release of IronPython’s RC, just days ago, Queensland University made its own Ruby.NET compiler public, and with it, the age of the dynamic languages powered by .NET officially began. Ruby may be famous for it’s AJAX & Web 2.0 influence and its popularity with the in-crowd today, but as a .NET implementation, it means a lot more than that. Ruby is a dynamic language.
While Ruby.NET isn’t a pure dynamic language, it certainly is a step in the right direction – especially with Microsoft nearing the final 2.0 release of Phalanger (PHP.NET). Phlanger is complied PHP with complete access to the .NET Framework and it’s enormous resources and functions libraries.
Alright, .NET supports dynamic languages. Almost every major “big name” language has been ported to .NET, and many of those can be re-compiled as .NET CLRs without touching a line of code.. but if .NET isn’t perfect, who cares? Read on!