Breaking Down Walls
He said that version was successful because it delivered a full type system, full class libraries and full tools support. Version 2 of the CLR brought with it the edit and continue feature and full generics support. Overall, the improvements have been built on previous investments. For instance, LINQ and the Silverlight cross-platform plug-in for delivering next-generation media experiences and rich interactive applications are examples of technologies that have benefited from previous investments.Meanwhile, the DLR (Dynamic Language Runtime), which is based on the CLR, allows for easier integration of other languages in the future. Zander also discussed how the Microsoft developer division evolved some of its licensing to include open-source-style licensing, beginning with the SSCLI (Shared Source Common Language Infrastructure) to the Microsoft Reciprocal License to the Microsoft Permissive License, which has "made it easier for future releases" to go out under open-source like licenses. According to Zander, Microsoft's ASP.NET AJAX, IronRuby and the DLR have been released under these licensing terms. Meanwhile, Hejlsberg said the walls between various programming styles are breaking down. "The taxonomies of programming languages are starting to break down," he said. Hejlsberg said there are dynamic languages, programming languages and functional languages. In addition, "future languages are going to be an amalgam of all of the above. I think that bleed will continue. We're very keen to exploit that in C#." However, Hejlsberg said there are things missing in C#, "like dynamic linking, and we're planning to add that." Hejlsberg also said his group and others at Microsoft are working on solutions to deal with concurrency or programming for parallel environments. "PLINQ [a parallel implementation of LINQ] is an example, but we need to look at more ways," Hejlsberg said. "We have to find meaningful ways to write concurrent programs or we're out of business."
"Procedural, functional and dynamic languages were a goal from day one," Zander said. And version 2 of the platform also added greater performance and lightweight code generation.