Quelle est la prochaine étape pour le .Net CLR de Microsoft

Le Common Language Runtime de Microsoft, la machine virtuelle qui ancre le .Net Framework, doit faire peau neuve, la société annonçant son intention de rendre le CLR plus efficace et évolutif.

La clé de cette modernisation sera l'amélioration du langage intermédiaire sous-jacent au CLR, appelé IL, qui n'a pas été mis à niveau depuis dix ans, a déclaré Mads Torgersen, concepteur principal pour C # chez Microsoft. L'entreprise souhaite améliorer l'IL et faire du CLR une cible plus riche pour les langages de programmation. 

Le but du CLR est d'exécuter efficacement les programmes .Net. Actuellement, le plus gros problème avec .Net est les limites inhérentes d'évolutivité du runtime lui-même, a déclaré Ben Watson, ingénieur logiciel principal de Microsoft. Le CLR est poussé au-delà de son intention et de sa conception d'origine. Watson a expliqué que lorsque plusieurs gigaoctets de code sont chargés, les algorithmes intégrés au CLR commencent à tomber en panne. 

Une amélioration imminente concerne Span, prononcé «span of tee», un nouveau type qui offrira des fonctionnalités de langage et de cadre pour obtenir un code de bas niveau plus sûr, plus performant. Le «t» dans Span signifie paramètre de type. Span sera utilisé par C # et d'autres langages pour créer un code plus efficace qui n'a pas besoin de copier de grandes quantités de données ou de faire une pause pour le ramasse-miettes, a déclaré Torgersen. Les nouvelles versions du CLR auront des «connaissances de base» sur Span pour améliorer la vitesse. Span sera déployé dans les prochaines versions du .Net Framework. 

Servant d'homologue de Microsoft à la JVM du monde Java, le CLR fournit la gestion du code des langages .Net, notamment C #, Visual Basic et F #. Le code source est compilé par les compilateurs de langage en code IL; le CLR exécute le programme en exécutant l'IL et en traduisant la sortie en code machine pendant que le programme est en cours d'exécution. D'autres services sont fournis par le CLR, y compris la gestion automatique de la mémoire et la sécurité des types, évitant au programmeur d'avoir à fournir ces services.