2000 Microsoft releases beta versions of the .NET Framework. At that time the .NET Framework and the CLR were the core, the foundation of .NET. The CLR was modernizing/popularizing/mainstreaming compile-on-demand, runtime hosted programming. (Sure, Java was doing it, but .NET ushered in a change such that programming languages were to predominantly consist of languages compiled to IL and hosted in a runtime.) The Microsoft development division leaders were those building the framework. (Okay, C# was cool to but not really a revolution... just the perfect language to match the Framework. What made C# spectacular was it's meticulous development and painstaking pursuit of OOP perfection. 2003 Generics are added to early betas of the .NET Framework. Revolutionary... no... just an obvious next step that folks begged for at the language level but Microsoft wisely postponed so that it could be in the Framework. Was there anything revolutionary at the time for the .NET CLR.... not particularly. 2006 Okay, so what is on the horizon in the .NET CLR? I would say LINQ but unlike generics, this is a language implemented feature, not some fundamental change in the CLR. Well, Microsoft is obviously very pregnant with WCF/WF/WPF - known as .NET 3.0. But this didn't emerge from the CLR team and there wasn't any fundamental CLR change needed to support .NET 3.0 development. Phoenix is cool too but not anything that is garnering wide spread adoption. So... what's next for the CLR? As I see it there are three main possibilities: Move to maintenance only mode. Heck, lets focus higher up the stack, we have solved this level in the same way that we "solved" assembler - making it unnecessary detail for the vast majority of developers. Aspect Oriented Programming: The idea has fallen out of vogue but there is still an untapped vision here. .NET scripting/dynamic language support Well, Microsoft's recent hire of John Lam seems to be pretty indicative of where they are investing. And I am excited. If the pain I have endured to learn PowerShell is any indication, Microsoft has lots of work to do in this area. Sure, I love PowerShell but only because it has a .NET object pipe and that it exposes .NET objects on the command line. After that... Yuck! Anyway, imagine a world in which the CLR changes to truly embrace and conquer the dichotomy between strongly typed languages and scripting languages . Imagine scripting languages that supported intellisense. Imagine writing C# code on the command
Read More...