M

Inhoudsopgave:
Velen van jullie hebben ongetwijfeld gehoord van Midori, wat de volgende stap voor Windows zou zijn. Een nieuw besturingssysteem, helemaal opnieuw geschreven, met een nieuwe kernel en geschreven in een moderne taal. Zo modern dat het als zodanig nog niet eens bestaat.
De taal, codenaam M, is gebaseerd op C en is specifiek ontworpen voor het programmeren van besturingssystemen, in staat om het laagste niveau te bereiken maar zonder de bruikbare abstracties te verliezen die nodig zijn om meer algemene programma's te maken, zoals een gebruikerstoepassing.
In een artikel op zijn blog heeft Joe Duffy, een van de ontwikkelaars van Midori, zeer interessante details over deze toekomstige taal gedeeld. Het hoofdidee van het project is het creëren van een taal met type-safe (type-safety) zoals C, maar c met zeer goede prestaties , zoals C++.
Veel van de prestatie-inspanning gaat naar het aanpassen van twee gebieden van C: de vuilnisman en het typsysteem In één oogopslag, de C garbage collector voor een programma elke X keer, zoekt naar objecten die niet meer in gebruik zijn (uw browser heeft bijvoorbeeld meerdere afbeeldingen in het RAM opgeslagen maar heeft ze niet meer nodig) en maakt hun geheugen vrij. Voor ontwikkelaars is het een systeem dat veel complexiteit vrijmaakt als het gaat om het beheer van geheugen, maar zoals je je kunt voorstellen is het langzamer. M zou in dit opzicht slimmer zijn door verschillende ideeën van C++ te lenen om de levenscyclus van objecten beter te begrijpen (wanneer ze beginnen te worden gebruikt en wanneer ze niet langer nodig zijn) en dus efficiënter te zijn als het gaat om het toewijzen en vrijmaken van geheugen zonder dat de vuilnisophaler erbij hoeft te komen.
Aan de andere kant proberen de wijzigingen in het typsysteem een van de problemen aan te pakken die de meeste oude talen (lees: ontworpen vóór 2005) momenteel hebben, de parallelism Op dit moment groeien computers niet in hoogte - processorsnelheid - maar in breedte, met meer cores parallel. Het maken van programma&39;s die goed gebruik maken van dergelijke parallelle verwerking is niet eenvoudig en er zijn veel subtiele details, vooral bij het delen van gegevens tussen meerdere processen of threads."
M zou concepten uit functionele programmeertalen brengen, voornamelijk de onveranderlijkheid van objecten en het omgaan met neveneffecten van methoden, waardoor het voor programmeurs en de compiler gemakkelijker zou worden om meerdere threads te maken voor profiteer van de meerdere kernen van computers en verbeter zo de prestaties aanzienlijk.
Bovendien zou M ook een nieuw foutafhandelingssysteem brengen: snel, gebruiksvriendelijk, efficiënt, gebruik makend van codecontracten om programmagedrag te beperken tot geldige paden, en gemakkelijk te begrijpen zodat de compiler kan optimalisaties uitvoeren.We zouden het dus hebben over een taal die het maken van veiligere en robuustere programma's vergemakkelijkt, iets heel belangrijks als we het voor een besturingssysteem willen gebruiken.
Genoeg met het technische jargon: wat betekent dit?
Na een tijdje in de wereld van programmeertalen te zijn gedoken, wat betekent het allemaal?
Allereerst lijkt Microsoft de volgende fase van Windows zeer serieus te nemen. Mary Jo Foley zegt dat Midori van slechts een onderzoeksproject is uitgegroeid tot onder de vleugels van Terry Myerson, in de Unified Operating System-groep. M en Midori zijn niet zomaar een experiment, maar de weg vooruit voor Microsoft.
Is het zinvol om nog een Windows voor te bereiden? Natuurlijk. Net als elk ander programma heeft een besturingssysteem een beperkte levensduur. De wereld is nu heel anders dan toen Windows werd ontworpen, en hoe flexibel het systeem ook is, zoveel veranderingen door de jaren heen om het aan nieuwe scenario's aan te passen, eisen uiteindelijk hun tol en het begint winstgevender te worden om helemaal opnieuw te beginnen ( iets dat wij computerwetenschappers erg leuk vinden).
Natuurlijk zal Midori er op korte of middellange termijn niet meer zijn. Maar als het klaar is (als het ooit klaar is, wat ook niet zeker is), zal het een systeem zijn dat, parallel en cloudgericht vanaf het begin, Microsoft op de kop van de wereld zal plaatsen van besturingssystemen, in ieder geval op technisch en capaciteitsniveau.
Wat M betreft, als het, zoals beloofd, een uitbreiding op C zou zijn zonder niet-ondersteunde wijzigingen, zouden veel ontwikkelaars er gemakkelijk naar kunnen overstappen. En als ze het volledig uit de doos vrijgeven, wat ze ook hebben beloofd, kunnen ze het misschien uit de 'Microsoft-loop' halen waarin C nu vastzit, het uitbreiden en zo een enorm voordeel behalen ten opzichte van andere talen en bedrijven.
Voor nu lijkt het erop dat de taal een toekomst heeft, en we zouden in de komende weken meer details moeten weten.Wat Midori betreft, laten we niet vergeten dat hij niet eens officieel is. Het zal nog lang duren voordat we meer over hem weten, maar dit soort verhalen vertellen ons waar Microsoft naartoe gaat.