M #, la nouvelle langue pour le système d’exploitation Microsoft suivant.

Beaucoup d’entre vous ont sûrement entendu parler Midori, qui serait la prochaine étape pour Windows. Un nouveau système d’exploitation écrit à partir de zéro, avec un nouveau noyau et écrit dans un langage moderne. Tellement moderne qu’il n’existe même pas encore en tant que tel.

La langue, qui aurait comme nom de code M #est basé sur C # et est spécifiquement conçu pour programmer des systèmes d’exploitation, capables d’atteindre le niveau le plus bas mais sans perdre les abstractions utiles et nécessaires pour créer des programmes plus courants, comme une application utilisateur.

Dans un article sur son blog, Joe Duffy, l’un des développeurs de Midori, a partagé des détails très intéressants sur ce futur langage. L’idée principale du projet est de créer un langage dactylographié en toute sécurité (sécurité de type) comme C #, mais csur de très bonnes performancescomme C++.

M #, la nouvelle langue pour le système d’exploitation Microsoft suivant

Une grande partie de l’effort de performance consiste à modifier deux domaines de C# : ramasse-miettes et système de saisie. Grosso modo, le ramasse-miettes C# arrête un programme toutes les X fois, recherche les objets qui ne sont plus utilisés (par exemple, votre navigateur a enregistré plusieurs images en RAM mais n’en a plus besoin) et libère sa mémoire. Pour les développeurs, c’est un système qui libère beaucoup de complexité en matière de gestion de la mémoire, mais comme vous pouvez l’imaginer, il est plus lent. M # serait plus intelligent à cet égard, empruntant plusieurs idées à C ++ pour mieux comprendre le cycle de vie des objets (quand ils commencent à être utilisés et quand ils cessent d’être nécessaires) et ainsi être plus efficace lors de la réservation et de la libération de mémoire sans le éboueur devant entrer en jeu.

D’autre part, les modifications du système de typage cherchent à faire face à l’un des problèmes que la plupart des « anciennes » langues ont actuellement (lire : conçu avant 2005), la parallélisme. À l’heure actuelle, les ordinateurs ne se développent pas en haut – la vitesse du processeur – mais en largeur, avec plus de cœurs en parallèle. Créer des programmes qui tirent parti de ce traitement parallèle n’est pas facile et il existe de nombreux détails subtils, en particulier lorsque les données sont partagées entre plusieurs processus ou threads.

M #, la nouvelle langue pour le système d’exploitation Microsoft suivant

M # apporterait des concepts de langages de programmation fonctionnels, principalement l’immuabilité des objets et le contrôle des effets secondaires dans les méthodes, ce qui permettrait aux programmeurs et au compilateur de créer plus facilement plusieurs threads pour tirer parti de plusieurs cœurs informatiques et ainsi améliorer considérablement les performances.

De plus, M # apporterait également un nouveau système de gestion des erreurs : rapide, facile à utiliser, efficace, qui utilise des contrats de code pour restreindre le comportement du programme à des chemins valides et facile à comprendre afin que le compilateur puisse effectuer des optimisations. On parlerait d’un langage qui facilite créer des programmes plus sûrs et robustesquelque chose de très important si nous voulons l’utiliser pour un système d’exploitation.

M #, la nouvelle langue pour le système d’exploitation Microsoft suivant

Assez avec le jargon technique – qu’est-ce que cela signifie?

Après avoir plongé un peu dans le monde des langages de programmation, Qu’est-ce-que tout cela veut dire?

Tout d’abord, Microsoft semble prendre très au sérieux la prochaine étape de Windows. Mary Jo Foley dit que Midori est passé d’un projet de recherche uniquement à être sous l’aile de Terry Myerson, dans le groupe Unified Operating System. M # et Midori ne sont pas seulement une expérience, mais le chemin que Microsoft doit suivre.

M #, la nouvelle langue pour le système d’exploitation Microsoft suivant

Est-il judicieux de préparer un autre Windows ? Bien sûr. Comme tout autre programme, un système d’exploitation a une durée de vie limitée. Le monde est très différent maintenant depuis la conception de Windows, et quelle que soit la flexibilité du système, tant de changements au fil des ans pour l’adapter à de nouveaux scénarios finissent par faire des ravages et il devient plus rentable de repartir de zéro (quelque chose qui nous les informaticiens l’aimons beaucoup).

Bien sûr, Midori ne le sera pas à court ou moyen terme. Mais lorsqu’il sera finalisé (s’il est enfin réalisé, ce qui n’est pas sûr non plus) ce sera un système qui, étant focalisé sur les systèmes parallèles et le cloud depuis le début, mettra Microsoft aux commandes. tête dans le monde des systèmes d’exploitationau moins sur le plan technique et des compétences.

Quant à M #, s’il était promis d’être une extension C # sans modifications non prises en charge, de nombreux développeurs pourraient facilement y basculer. Et s’ils le libèrent complètement hors de la boîte, ce qu’ils ont également promis, ils pourront peut-être le sortir du «cercle Microsoft» dans lequel C # est coincé en ce moment, l’étendre et ainsi obtenir un énorme avantage sur autres langues et sociétés.

M #, la nouvelle langue pour le système d’exploitation Microsoft suivant

Pour le moment, il semble que la langue aura un avenir, et nous devrions connaître plus de détails dans les prochaines semaines. Quant à Midori, rappelons que ce n’est même pas officiel, il nous faudra encore beaucoup de temps pour en savoir plus sur lui, mais ce genre d’histoires nous dit où va Microsoft.