Was kommt als nächstes für die .Net CLR von Microsoft?

Die Common Language Runtime von Microsoft, die virtuelle Maschine, die das .NET Framework verankert, muss überarbeitet werden. Das Unternehmen kündigt Pläne an, die CLR effizienter und skalierbarer zu machen.

Der Schlüssel zu dieser Modernisierung wird die Verbesserung der der CLR zugrunde liegenden Zwischensprache IL sein, die seit zehn Jahren nicht mehr aktualisiert wurde, sagte Mads Torgersen, leitender Designer für C # bei Microsoft. Das Unternehmen möchte die IL verbessern und die CLR zu einem umfassenderen Ziel für Programmiersprachen machen. 

Das Ziel der CLR ist es, .Net-Programme effizient auszuführen. Derzeit ist das größte Problem bei .Net die inhärente Begrenzung der Skalierbarkeit der Laufzeit selbst, sagte Ben Watson, Microsoft-Hauptsoftwareingenieur. Die CLR wird über ihre ursprüngliche Absicht und ihr ursprüngliches Design hinausgeschoben. Watson erklärte, dass beim Laden mehrerer Gigabyte Code die in die CLR integrierten Algorithmen ausfallen. 

Eine bevorstehende Verbesserung betrifft Span, ausgesprochen "Span of Tee", einen neuen Typ, der Sprach- und Framework-Funktionen bietet, um sichereren, leistungsfähigeren Code auf niedriger Ebene zu erzielen. Das "t" in Span bedeutet Typparameter. Span wird von C # und anderen Sprachen verwendet, um effizienteren Code zu erstellen, der keine großen Datenmengen kopieren oder für die Speicherbereinigung pausieren muss, sagte Torgersen. Neue Versionen der CLR verfügen über Insiderwissen über Span, um die Geschwindigkeit zu verbessern. Span wird in den nächsten Versionen des .Net Frameworks eingeführt. 

Die CLR dient als Microsoft-Gegenstück zur JVM der Java-Welt und bietet Codeverwaltung für .NET-Sprachen wie C #, Visual Basic und F #. Der Quellcode wird von den Sprachcompilern in IL-Code kompiliert. Die CLR führt das Programm aus, indem sie die IL ausführt und die Ausgabe in Maschinencode übersetzt, während das Programm ausgeführt wird. Weitere Dienste werden von der CLR bereitgestellt, einschließlich automatischer Speicherverwaltung und Typensicherheit, sodass der Programmierer diese Dienste nicht bereitstellen muss.