Paul Krill
Editor at Large

What’s next for Microsoft’s .Net CLR

news
Nov 17, 20172 mins

The common language runtime of the .Net development platform is slated for speed and scalability improvements

gear shift stick shift car automobile 5-speed
Credit: Peter Griffin

Microsoft’s Common Language Runtime, the virtual machine that anchors the .Net Framework, is due for a makeover, with the company announcing plans to make the CLR more efficient and scalable.

Key to this modernization will be improvements to the intermediate language underlying the CLR, called IL, which has not been upgraded in ten years, said Mads Torgersen, lead designer for C# at Microsoft. The company wants to improve the IL and make the CLR a richer target for programming languages. 

The goal of the CLR is to run .Net programs efficiently. Currently the biggest problem with .Net is the inherent limits of scalability of the runtime itself, said Ben Watson, Microsoft principal software engineer. The CLR is being pushed beyond its original intention and design. Watson explained that when multiple gigabytes of code are being loaded, algorithms built into the CLR start breaking down. 

One imminent improvement involves Span, pronounced “span of tee,” a new type that will offer language and framework features for achieving safer, more-performant, low-level code. The “t” in Span means type parameter. Span will be used by C# and other languages to create more efficient code that does not need to copy large amounts of data or pause for garbage collection, Torgersen said. New versions of the CLR will have “inside knowledge” about Span to improve speed. Span will be rolled out over the next few releases of the .Net Framework. 

Serving as Microsoft’s counterpart to the JVM of the Java world, the CLR provides code management of .Net languages including C#, Visual Basic, and F#. Source code is compiled by the language compilers into IL code; the CLR runs the program by executing the IL and translating the output into machine code while the program is running. Other services are provided by the CLR including automatic memory management and type safety, saving the programmer from having to provide for these services. 

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author