Microsoft rend son moteur JavaScript Chakra open source

Microsoft rend son moteur JavaScript Chakra open source

Maintenant, direction Ubuntu et Node.js

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

15/01/2016 3 minutes
74

Microsoft rend son moteur JavaScript Chakra open source

Microsoft vient de rendre son moteur JavaScript Chakra open source en bonne partie. Désormais disponible sous licence MIT, il est accompagné des API qui en permettent l’intégration. La compatibilité avec Node.js et Ubuntu est par ailleurs déjà au programme.

Chakra est le nom de la machine virtuelle JavaScript d’Internet Explorer. Apparue avec la version 9, elle s’est enrichie jusqu’à devenir celle du navigateur Edge, uniquement disponible dans Windows 10. Chakra, comme le reste des moteurs dans Edge, a reçu des améliorations en partie liées aux demandes directes des développeurs. Mais Microsoft a décidé de passer au stade supérieur : l’ouverture des sources.

Tout le coeur de Chakra sous licence MIT

Depuis mercredi soir, une grande partie du code du moteur JavaScript est disponible sous licence MIT, sur le dépôt GitHub de l’éditeur. On parlera donc de ChakraCore, qui contient le moteur « de base », l’interpréteur, le parseur, le moteur JIT (Just In Time) et le ramasse-miettes. Ce bloc central est accompagné par les API JSRT Hosting, qui permettent globalement l’intégration du moteur dans à peu près n’importe quelle application Windows. Seule condition en fait, qu’elle s’exécute sur Windows 7 SP1 ou une version ultérieure.

Publier les sources sous licence MIT devrait permettre à Microsoft d’augmenter le degré de participation des développeurs. Le mouvement est exactement le même que pour la plateforme .NET, dont on rappellera qu’elle est désormais, elle aussi, open source en grande partie, tout comme Visual Studio Code. Or, cela permet non seulement aux développement de manipuler plus aisément les composants, mais également de proposer leurs propres améliorations. Et Microsoft d’indiquer que les demandes et propositions qui auront été acceptées seront répercutées sur le moteur Chakra, donc dans Edge et dans l’Universal Windows Platform (Windows 10).

chakracore

Une ouverture prévue vers d'autres systèmes

Ce dont l’éditeur rêve réellement, c’est de rendre en fait son moteur indépendant et exploitable un peu partout, un peu à la manière du moteur V8 de Google. Dans sa feuille de route, Microsoft indique donc que les développeurs pourront s’exprimer sur les plateformes qu’ils souhaiteraient voir supportées. On sait en tout cas qu’Ubuntu sera la première, les autres dépendant a priori des demandes qui seront formulées.

Les participations des développeurs devraient permettre à Chakra d’être améliorée de toute part. La machine virtuelle pourrait ainsi gagner en performances et en ouverture vers d’autres composants. Microsoft indique d’ailleurs qu’une demande a déjà été envoyée à Node.js pour rendre ce framework JavaScript compatible avec Chakra. Node.js est en effet bâti sur le moteur V8 de Chrome, mais sa popularité rend la demande potentiellement très intéressante.

Un programme chargé sur les six prochains mois

Ceux qui le souhaitent peuvent récupérer les sources dès à présent sur le dépôt GitHub de Microsoft. Les composants sont directement exploitables, en vue par exemple d’une intégration dans une application, un jeu ou autre (la licence MIT est particulièrement souple).

On trouvera également la feuille de route complète, dont Microsoft précise qu’elle concerne les six prochains mois. Le programme semble bien chargé, et l’éditeur prévoit d’en publier une nouvelle en juin prochain.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Tout le coeur de Chakra sous licence MIT

Une ouverture prévue vers d'autres systèmes

Un programme chargé sur les six prochains mois

Fermer

Commentaires (74)


Microsoft a ouvert son Chakra ?&nbsp;<img data-src=" />


L’open source et le libre vaincront. <img data-src=" />


Du calme. Effet d’annonce d’abord, ensuite on rebranche le cerveau, et enfin on se dit que c’est pas innocent.

&nbsp;


Ca faisait un petit moment qu’il y’avait pas eu de bond comme ça dans les moteur js…

&nbsp;

Ca change de la periode où on nous sortait un nouveau graphique tous les mois pour nous presenter une nouvelle techno qui etait supposée doubler les performances….








TexMex a écrit :



Du calme. Effet d’annonce d’abord, ensuite on rebranche le cerveau, et enfin on se dit que c’est pas innocent.

&nbsp;



&nbsp;

&nbsp;C’est open source mais ils gardent le contrôle du bébé ce qu’ils veulent c’est être un acteur dominant sur la planète javascript et pouvoir influer sur son évolution. Aujourd’hui, un des acteurs dominants est Google et Microsoft ne veulent par leur laisser ce plaisir. Je pense que ça ne va pas plus loin que cela ;)



<img data-src=" />


Et si ça se trouve, le chef de projet s’appelle Fabian LaRouche<img data-src=" />


Microsoft commence enfin à voir les bénéfices de l’Open Source :





  • développement mutualisé avec d’autres entreprises (et pourquoi pas des associations, particuliers…) ;



  • un code qui est portable et multi-plateforme ;



  • des retours et corrections de bugs qui seront plus rapides ;



  • en conséquence, un développement qui coûtera moins cher (Microsoft n’aura pas à assurer 100% du développement de Chakra, ce sera partagé avec d’autres entités) ;



  • une image d’entreprise plus ouverte à la collaboration et au travail en équipe.



    Bref une très bonne décision, bravo Microsoft de prendre cette direction <img data-src=" />


Google qui a dû se résoudre à utiliser TypeScript, le langage de preprocessing fortement soutenu par microsoft pour mettre Angular met quand même MS en bonne position hein.


Peut être que Dart commence a leur faire de l’ombre ?!


Bonjour



Question pour ma culture personnelle : à quoi sert le garbage collector?


C’est le mécanisme qui se charge de libérer la mémoire quand des données ne sont plus utilisées (ou plutôt utilisables).



Dans un langage de programmation comme le javascript, le développeur n’a pas à dire quand une donnée n’est plus nécessaire (pas d’allocation mémoire/libération de manière explicite). Donc c’est quand cette donnée n’est plus utilisée nulle part (aucune réference dans le code) que le Garbage Collector se charge de récupérer la mémoire tout seul.








Gigatoaster a écrit :



Bonjour



Question pour ma culture personnelle : à quoi sert le garbage collector?





C’est un mécanisme qui vise à nettoyer la mémoire (ram) des objets qui ne sont plus utilisés dans l’application.



&nbsp;Dans le language C++ par exemple, à chaque fois que tu alloues de l’espace mémoire pour un objet, si une fois que tu as fini de l’utiliser tu ne dis pas explicitement que tu souhaites le jeter, il restera en mémoire jusqu’à la fin de l’exécution de ton application. Cela crée des “memory leak” qui peuvent amener à des crashs du à un manque de mémoire disponible.



Dans le language Java par exemple, tu ne dois pas te préoccuper de dire que tu souhaites “jeter” un objet. Le garbage collector ou “ramasse miettes” va s’en occuper pour toi.



C’est un système assez complexe parce qu’il doit être capable de se rendre compte qu’un Objet A est lié à un Object B qui est lié à un Object C qui est lui-même liée à l’Object A.&nbsp;

Si aucun de ces objets n’est lié à un autre objet utilisé actuellement dans l’application, le garbage collector doit être capable de voir cela et donc de supprimer ces 3 objects.



Au moins autant que Linux <img data-src=" />



C’est peut être que mon impression mais à peu près tout le monde s’en fout de Dart. Même Google a lâché l’affaire en mettant finalement TypeScript en avant avec Angular et en abandonnant l’idée de supporter Dart directement dans chrome.



Sinon pour cette action de Microsoft, pas sûr que ça change grand chose à part leur image. Ils restent maîtres à bord quant à l’avenir de ce moteur et j’ai du mal à croire qu’ils laisseront la communauté s’impliquer réellement. Enfin je suis peut être mauvaise langue, on verra bien.








Konrad a écrit :





  • en conséquence, un développement qui coûtera moins cher (Microsoft n’aura pas à assurer 100% du développement de Chakra, ce sera partagé avec d’autres entités) ;





    La licence MIT est un mauvais choix pour ça. Elle permet d’y introduire du code proprio et donc des modifs non libres. Au final ce sera un gros bordel.









gogo77 a écrit :



Sinon pour cette action de Microsoft, pas sûr que ça change grand chose à part leur image. Ils restent maîtres à bord quant à l’avenir de ce moteur et j’ai du mal à croire qu’ils laisseront la communauté s’impliquer réellement. Enfin je suis peut être mauvaise langue, on verra bien.







L’Open Source ce n’est pas unilatéral. Ce n’est pas « je garde le contrôle du truc, je veux juste que d’autres gens fassent le dev gratuitement à ma place, mais je choisis quoi garder ». Une entreprise qui ouvre son code en pensant ça, va droit dans le mur.



Open Source, ça veut aussi dire que si la communauté aime l’outil (Chakra) mais pas les décisions prises par Microsoft, ils peuvent en faire un fork sur lequel Microsoft n’aura plus du tout la main. Éventuellement le fork peut devenir plus populaire que l’original…



Il suffit de regarder ce qui s’est passé avec Open Office, tombé dans les limbes : la communauté n’a pas aimé ce qu’a fait Oracle, elle a forké et aujourd’hui Libre Office suit son chemin…









gogo77 a écrit :



Au moins autant que Linux <img data-src=" />





Comme tu dis.&nbsp;<img data-src=" />



Parce que c’est bien connu, les autres entreprises font de l’open source par pure bonté d’âme et générosité.


Windows 10, le dernier des Windows à l’ancienne?



Les rumeurs entres programmeurs (toulibre par exemple) se font de plus en plus insistantes sur l’arrivée de Linux pour les prochains OS de Microsoft dédiés aux particuliers.



ça nous chamboule!



Est-ce qu’il y a des unités de recherches de Microsoft qui travaillent sur Linux pour son utilisation pour les particuliers à long terme?


<img data-src=" />&nbsp;Sacrées rumeurs.


J’ai l’impression que tu n’as jamais lu un de mes commentaire. Ou alors c’est de l’humour mais bon, on va dire que cela ne marche pas a tous les coups.








Ricard a écrit :



Comme tu dis.<img data-src=" />







Soyons honnêtes 5mn… C’est pas avec ça que ça va changer la face du monde. Et pourtant j’ai envie d’y croire aussi ^^







Konrad a écrit :



L’Open Source ce n’est pas unilatéral. Ce n’est pas « je garde le contrôle du truc, je veux juste que d’autres gens fassent le dev gratuitement à ma place, mais je choisis quoi garder ». Une entreprise qui ouvre son code en pensant ça, va droit dans le mur.



Open Source, ça veut aussi dire que si la communauté aime l’outil (Chakra) mais pas les décisions prises par Microsoft, ils peuvent en faire un fork sur lequel Microsoft n’aura plus du tout la main. Éventuellement le fork peut devenir plus populaire que l’original…



Il suffit de regarder ce qui s’est passé avec Open Office, tombé dans les limbes : la communauté n’a pas aimé ce qu’a fait Oracle, elle a forké et aujourd’hui Libre Office suit son chemin…







La différence c’est qu’OpenOffice était depuis le début un projet libre soutenu par la communauté donc ça paraissait logique que celle-ci se bouge si quelqu’un faisait n’importe quoi avec le projet. Là c’est juste une miette de Microsoft utilisée dans un produit commercial dont l’amélioration n’a principalement d’intérêt que pour Microsoft. Pas sûr que qui que ce soit se donne la peine de faire un fork qui plus est sur un projet qu’il serait très très difficile de faire percer.



<img data-src=" />








gogo77 a écrit :



Là c’est juste une miette de Microsoft utilisée dans un produit commercial dont l’amélioration n’a principalement d’intérêt que pour Microsoft.





Si Chakra est utilisé dans Node.js, non ca sera pas une miette et ca n’aura pas d’interet que pour MS









gogo77 a écrit :



Au moins autant que Linux







Ça me fait marrer les gens qui continuent de croire que Microsoft est tout-puissant et que Linux n’est qu’un petit grain de sable incapable d’ébranler la machine…



Faut vous réveiller les gens, même Microsoft réalise bien le potentiel de Linux et ne l’ignore plus. Au contraire, ils intègrent complètement Linux dans leur business plan :







  • Microsoft a contribué au noyau Linux, ça avait fait les gros titres en 2012.

  • Microsoft a développé une distribution GNU/Linux : Azure Cloud Switch.

  • Environ 30% des instances créées sur Azure sont des instances Linux.







    Sans compter que Android, système utilisant aussi Linux, fait de l’ombre à Microsoft non seulement en nombre de terminaux vendus (presque 2 milliards de smartphones vendus en 2015, contre 260 millions de PC desktop), mais aussi en parts de visites Web : les gens consultent davantage le Web depuis leur smartphone ou tablette, que depuis un PC de bureau.



    In case you don’t appreciate how fast the Windows monopoly is getting destroyed…



    Bref, difficile d’affirmer que Microsoft ignore Linux et n’en a rien à faire… Les responsables de chez Microsoft, Satya Nadella en tête, ont bien conscience qu’ils ne peuvent plus ignorer Linux !!









    Tolor a écrit :



    Parce que c’est bien connu, les autres entreprises font de l’open source par pure bonté d’âme et générosité.







    Bien sûr que non. L’image de l’Open Source avec des bénévoles qui développent des logiciels chez eux est révolue depuis bien longtemps.



    Ça fait longtemps que l’Open Source est avant tout fait par des entreprises, et par des développeurs professionnels : Intel, AMD, Oracle, Red Hat, Google, Samsung… Et aujourd’hui Microsoft fait aussi partie de ces entreprises. Ces entreprises font ça parce qu’elles y voient des avantages, et parce que c’est profitable pour leur business bien sûr.



    Mais le résultat est le même : ça veut dire qu’une nouvelle entreprise peut prendre ce code source et développer de nouvelles solutions dessus. Ça veut dire que les particuliers peuvent aussi bénéficier de tous ces développements, et ce gratuitement : noyau Linux, interfaces graphiques, logiciels entiers (LibreOffice, GIMP, Blender…).









Konrad a écrit :



Environ 30% des instances créées sur Azure sont des instances Linux.





Les gens qui font du .net sont plus “malins”, ils font du PaaS au lieu du IaaS, du coup ils demandent pas de machine (enfin pas directement). <img data-src=" />









gogo77 a écrit :



&nbsp;Même Google a lâché l’affaire en mettant finalement TypeScript en avant avec Angular et en abandonnant l’idée de supporter Dart directement dans chrome.&nbsp;



Non.

&nbsp;

La team Angular s’est juste orientée sur TS parce que c’etait le seul moyen d’avoir à terme une bonne &nbsp;transpilation pour Dart et pour JS. D’ailleurs, angular.io jusqu’à l’introduction recente de la beta ne proposait que deux version de download du framework et de la doc =&gt; Dart et JS. La version TS est arrivée en dernière.



Quand à l’abandon de chrome c’etait surtout une reaction lié aux refus categorique de Mozilla, mais au final les gens s’en foutait un petit peu parce que Dart marchait deja suffisament bien en js.

&nbsp;

Du coté de chez Google pas mal de dev utilisent le langage en interne, et meme si TS a l’air tres largement devant sur le plan de l’utilisation (google trend, stackoverflow…), au niveau des contribution c’est assez catastrophique. Doit y avoir genre 50 fois plus de portage sur Dart que de TSD pour typescript (ce qui est franchement honteux, mais vraiment hein). Donc ouais, les mecs de Google continuent de miser dessus et d’étendre toujours plus ses domaine d’application (après le web, le server, le mobile, ils bossent le support de l’IoT pour concurrencer MS).



Par contre je suis d’accord sur le “Dart, tout le monde s’en fout”. Parce qu’au final, à part chez Google, &nbsp;ça a pas l’air de décoller. Et quand on voit deja la facillité qu’à Google et lacher des techno qui marchent, ça donne vraiment pas envie de s’y investir plus.









Strimy a écrit :



C’est le mécanisme qui se charge de libérer la mémoire quand des données ne sont plus utilisées (ou plutôt utilisables).



Dans un langage de programmation comme le javascript, le développeur n’a pas à dire quand une donnée n’est plus nécessaire (pas d’allocation mémoire/libération de manière explicite). Donc c’est quand cette donnée n’est plus utilisée nulle part (aucune réference dans le code) que le Garbage Collector se charge de récupérer la mémoire tout seul.









mykoD a écrit :



C’est un mécanisme qui vise à nettoyer la mémoire (ram) des objets qui ne sont plus utilisés dans l’application.



&nbsp;Dans le language C++ par exemple, à chaque fois que tu alloues de l’espace mémoire pour un objet, si une fois que tu as fini de l’utiliser tu ne dis pas explicitement que tu souhaites le jeter, il restera en mémoire jusqu’à la fin de l’exécution de ton application. Cela crée des “memory leak” qui peuvent amener à des crashs du à un manque de mémoire disponible.



Dans le language Java par exemple, tu ne dois pas te préoccuper de dire que tu souhaites “jeter” un objet. Le garbage collector ou “ramasse miettes” va s’en occuper pour toi.



C’est un système assez complexe parce qu’il doit être capable de se rendre compte qu’un Objet A est lié à un Object B qui est lié à un Object C qui est lui-même liée à l’Object A.&nbsp;

Si aucun de ces objets n’est lié à un autre objet utilisé actuellement dans l’application, le garbage collector doit être capable de voir cela et donc de supprimer ces 3 objects.







merci bcp pour les explications <img data-src=" />









maverick78 a écrit :



Les gens qui font du .net sont plus “malins”, ils font du PaaS au lieu du IaaS, du coup ils demandent pas de machine (enfin pas directement). <img data-src=" />





Oui … mais



&nbsp; &nbsp; curl-7.44.0\AMD64&gt;curl –head www.microsoft.com



&nbsp;&nbsp; &nbsp; &nbsp;HTTP/1.1 200 OK&nbsp; &nbsp;



&nbsp;&nbsp; &nbsp; &nbsp;Server: Apache&nbsp; &nbsp;



&nbsp;&nbsp; &nbsp; &nbsp;ETag: “6082151bd56ea922e1357f5896a90d0a:1425454794”



&nbsp;&nbsp;&nbsp; &nbsp; Last-Modified: Wed, 04 Mar 2015 07:39:54 GMT



&nbsp;&nbsp; &nbsp; Accept-Ranges: bytes



&nbsp;&nbsp; &nbsp; Content-Length: 1020



&nbsp;&nbsp; &nbsp; Content-Type: text/html



&nbsp;&nbsp; &nbsp; Date: Fri, 15 Jan 2016 11:56:22 GMT



&nbsp;&nbsp; &nbsp; Connection: keep-alive



<img data-src=" />



Edit : reformaté …



Une bonne nouvelle dans le principe, car c’est toujours mieux que si c’était resté du code proprio.




 Maintenant, l'intérêt réel pour la communauté des dev., il me paraît faible dans l'état actuel des choses: V8 semble plus performant, déjà complètement ouvert, multi-plateforme et largement plus adopté.       





Le plus gros reproche de V8 en l’état actuel est sa documentation absente, et les changements d’API tous les 4 matins (et ça a fini par en rebuter plus d’un)



&nbsp;Si cette alternative de Microsoft ne propose rien de vraiment tangible comme valeur ajoutée par rapport à ce qui existe déjà, j’ai du mal à voir pourquoi cette solution là serait privilégiée quand dans un projet on cherche à intégrer une VM javascript proposée par un tiers.




 Bref, en l'état actuel l'intérêt est à peu près nul (d'autant plus que leur VM n'est pas multi-plateforme pour le moment). A voir sur la durée s'ils font évoluer la chose suffisamment pour qu'elle ait de véritables atouts que les alternatives n'ont pas.      

&nbsp;

Bizarre Firefox me donne ça :



Content-Length: 148

Content-Type: text/html; charset=UTF-8

Date: Fri, 15 Jan 2016 12:26:44 GMT

Location:http://www.microsoft.com/

Server: Microsoft-IIS/8.5

X-Powered-By: ASP.NET








zefling a écrit :



Server: Microsoft-IIS/8.5





Et moi j’ai un “Microsoft-IIS/7.5” sur https://www.microsoft.com/fr-fr



Y’a rien d’incohérent la dedans. C’est juste morcelé.

&nbsp;


V8 est pas forcément plus performant, ça dépend des cas d’utilisation, le but est justement d’offrir une alternative à ce qui est possible aujd. ils veulent avoir du .net sur mac et Linux nativement, avoir chakra qui tourne sur Ubuntu ( je pense que l’intérêt aujd n’est pas de porter edge complétement, mais pourquoi pas avoir du node-Chakra sur un linux sur azure , si ça consomme moins à perf égale, ça coute moins cher à héberger, ce genre d’intérêt là peu en attirer plus d’un, et si le support est officialisé par Node.js, tout les cloud node pourront proposer l’alternative, bref, la concurrence ça as du bon, comme d’hab :) )








brazomyna a écrit :



Et moi j’ai un “Microsoft-IIS/7.5” sur https://www.microsoft.com/fr-fr





On va dire que le frontend fait des redirections différentes en fonction du client…









Firefly’ a écrit :



V8 est pas forcément plus performant, ça dépend des cas d’utilisation





&nbsp;Si tu as des liens vers des infos là dessus, ça m’intéresse.





Firefly’ a écrit :



ils veulent avoir du .net sur mac et Linux nativement, avoir chakra qui tourne sur Ubuntu





Je ne dis pas le contraire, Microsoft a bien son intérêt à le faire. Mais moi je parlais surtout de l’intérêt d’avoir ça publié en open source, pour la communauté.







Firefly’ a écrit :



si ça consomme moins à perf égale, ça coute moins cher à héberger, ce genre d’intérêt là peu en attirer plus d’un, et si le support est officialisé par Node.js, tout les cloud node pourront proposer l’alternative, bref, la concurrence ça as du bon, comme d’hab :) )





&nbsp; Ah ben oui, c’est certain. Mais moi j’en étais resté à l’idée que v8 faisait systématiquement jeu égal ou mieux que le reste du monde, d’où le premier quote de ce comm.



&nbsp;



Firefly’ a écrit :



&nbsp;la concurrence ça as du bon, comme d’hab :) )





&nbsp;Je suis le premier à le dire, et je ne disais pas que les choses étaient figées ; juste qu’en l’état actuel des choses, l’intérêt est nul (et donc sous entendu que ça pouvait évoluer dans le futur … ou pas).

&nbsp;









Firefly’ a écrit :



V8 est pas forcément plus performant, ça dépend des cas d’utilisation






&nbsp;Si tu as des liens vers des infos là dessus, ça m'intéresse.      





&nbsp;





Firefly’ a écrit :



ils veulent avoir du .net sur mac et Linux nativement, avoir chakra qui tourne sur Ubuntu






Je ne dis pas le contraire, Microsoft a bien son intérêt à le faire. Mais moi je parlais surtout de l'intérêt d'avoir ça publié en open source, pour la communauté.      



&nbsp;







Firefly’ a écrit :



si ça consomme moins à perf égale, ça coute moins cher à héberger, ce genre d’intérêt là peu en attirer plus d’un, et si le support est officialisé par Node.js, tout les cloud node pourront proposer l’alternative, bref, la concurrence ça as du bon, comme d’hab :) )






&nbsp; Ah ben oui, c'est certain. Mais moi j'en étais resté à l'idée que v8 faisait systématiquement jeu égal ou mieux que le reste du monde, d'où le premier quote de ce comm.      





Et au passage, les perfs ne sont pas le seul facteur qui peut influer sur le choix d’une techno plutôt qu’une autre (cf. mes critiques à propos de v8: doc, API changeante, …).






&nbsp;





Firefly’ a écrit :



&nbsp;la concurrence ça as du bon, comme d’hab :) )






&nbsp;Je suis le premier à le dire, et je ne disais pas que les choses étaient figées ; juste qu'en l'état actuel des choses, l'intérêt est nul (et donc sous entendu que ça pouvait évoluer dans le futur ... ou pas).      

&nbsp;


Ça dépend vraiment sur quoi :https://arewefastyet.com/#machine=31


Je viens de tomber sur cet article, qui m’apprend deux choses:

&nbsp;

&nbsp;




  • d’une part que le fork de nodeJs pour intégrer Chakra en lieu et place de V8 date de mai 2015. Apparemment, le but initial était (au moins officiellement) le support de node sur Win10 ARM et l’accès aux Universal Windows Platform APIs dans cette version de node là.

    &nbsp;

  • d’autre part, l’auteur semble dire que Chakra en a dans le caleçon question perfs, comparé à v8.

    &nbsp;


Ils ont fumé quoi ? ou alors par prochain OS ils parlent d’un truc dans 10-15 ans ?


Pour le coup ton lien ça montre bien que Chakra est au moins aussi performant soit plus performant que Chrome dans la Majorité des tests ( seul Chrome sous OSX lui met 25% sur un test) ( dommage qu’il n’y ai pas de chrome Linux dans le test )


Le problème c’est qu’on a un qui est mono contre du multi. Quand que suivant le système il y a parfois beaucoup de différence sur un même moteur. C’est plus simple optimiser sa propre plate-forme. Moi j’attends de voir comment ça va évoluer. Après personnellement le voie que cela prend me plaît bien. On va finir par avoir une concurrence un peu plus saine.


concurrence un peu plus saine ?! avec Microsoft ? wait & see.Cette annonce, c’est &nbsp;juste un bon coup de buzz et de PR qui entre dans le plan global de&nbsp;reconquête&nbsp;des développeurs. C’est une brique d’un ensemble plus grand, il ne faut pas juste voir que la brique.&nbsp;


N’empêche, ça fait bien marrer de voir ça ! Qui l’aurait prédit il y a quelques années ?


Le readme du repo GitHub du fork de node par Microsoft:





To enable building and running Node.js with the Chakra JavaScript engine, we

created a V8 API shim on top of the Chakra runtime hosting API





Autant dire que c’est plus proche du patch crado pour faire rentrer leur moteur aux forceps, plutôt qu’une adaptation “aux petits oignons”.

&nbsp;


?





kgersen a écrit :



concurrence un peu plus saine ?! avec Microsoft ? wait & see.Cette annonce, c’est  juste un bon coup de buzz et de PR qui entre dans le plan global de reconquête des développeurs. C’est une brique d’un ensemble plus grand, il ne faut pas juste voir que la brique.





Parce que tu trouves que le quasi monopole de V8 c’est bien







Jarodd a écrit :



N’empêche, ça fait bien marrer de voir ça ! Qui l’aurait prédit il y a quelques années ?





Tu m’étonnes <img data-src=" />



Ca reste du chinois pour les developpeurs random tel que nous. Ah en plus 10K de lignes pour un simple fichier C++… j’en ferais pas autant en toute une vie pour ce language la, et encore faut que ca compile <img data-src=" />


Tu es naïf ou tu le fais exprès (je sais que tu fais souvent du second degré) ! <img data-src=" />



En tout cas je préfère la vision de The Register, elle me semble nettement plus réaliste…



http://www.theregister.co.uk/2016/01/14/microsoft_wants_you_yes_you_to_write_bits_of_windows_10_for_free/



(et les réactions sur le forum aussi !)



J’ai voté. <img data-src=" />


Plus réaliste, ou plutôt plus newsaclic … <img data-src=" />



Sinon les résultats du sondage sont intéressants aussi, la réponse la plus donnée est “I have no problem with this whatsoever” (juste devant “About a trillion years after the heat death of the universe” <img data-src=" />)


Oui, les deux opposés arrivent en tête ! <img data-src=" />



Comme quoi il faut de tout pour faire un monde.



Après (pataper NxI) il y a les journaux qui relayent la comm des attachés de presse de Redmond, et TheReg qui exprime un avis, c’est leur ligne éditoriale.



(Les Anglais ne sont pas toujours tendres avec leurs “cousins” U.S.)








gogo77 a écrit :



La différence c’est qu’OpenOffice était depuis le début un projet libre soutenu par la communauté donc ça paraissait logique que celle-ci se bouge si quelqu’un faisait n’importe quoi avec le projet.





C’était pas une version allégée de StarOffice libérée par Sun à l’époque ? De tête, il me semble bien.



Ca n’a juste aucun intérêt … Migré l’écosystème d’un noyau à un autre est un travail titanesque qui génèrera forcement des incompatibilité …



Quitte à le faire autant que ca soit pour être paré pour le futur …



Or le noyau Linux ou le Kernel NT sont des noyaux monolithiques écrit en c/c++ (ce qui implique des failles potentiel type buffer-overflow vue que ce ne sont pas des langage memory safe ….). De plus ces noyau ont été crée sur des concepts fondée sur l’informatique des années 70 (la mémoire dans les PC/processeur était lente et en petite quantité, les processeurs était peu puissant =&gt; il était à l’époque plus simple d’isolé les process matériellement en créant un Contexte d’exécution nécessitant un vidage de la mémoire du proco & co pour chargé le contexte d’un autre processus que de faire une isolation logicielle. Sauf qu’aujourd’hui un changement de contexte est juste un énorme goulot d’étranglement pour les perfs).

Passé de NT à Linux n’apporterait pas plus de performance, pas plus de sécurité … seulement de grosse incompatibilité …



Depuis 10 ans Microsoft planchait sur un OS en partant d’une feuille blanche complète (sans se soucier de la compatibilité avec l’écosystème actuel) afin de partir sur des bases saines d’aujourd’hui où la mémoire est abondante, les CPU sont multi-core etc … C’était le projet Singularity puis Midori (liens NXI1 NXI2, NXI3, Blog d’un des responsable du projet (ses derniers post très technique sont consacré à Midori). Cependant la grande incompatibilité avec l’écosystème actuel (seul les nouvelles Apps WinRT/Metro/Universal Apps étaient plus ou moins pensé pour ce type d’OS) a sonné le glas de ce projet …



Aujourd’hui Microsoft partirait plus sur une réutilisation du langage utilisé sur Midori, le M# (la productivité/sécurité du C# avec les perfs du C/C++) pour réécrire petit à petit le noyau de Windows (cf Wavefront, Linkedin)…



Fin bref, y’a les rêves des fanboys Linux et y’a la réalité technique, économique …








arno53 a écrit :



Ca n’a juste aucun intérêt … Migré l’écosystème d’un noyau à un autre est un travail titanesque qui génèrera forcement des incompatibilité …







Et pourtant…



On sait que Microsoft veut se séparer de l’héritage win32.



On sait que Microsoft a ouvert .NET aux autres plates-formes, en ciblant notamment Linux.



On sait que Microsoft veut que les développeurs conçoivent des applications universelles, notamment autour de .NET…



Alors certes, de là à dire que Microsoft développera à l’avenir une distribution GNU/Linux il y a un gouffre, ça ne se ferait pas tout de suite, ça demanderait énormément d’efforts à la fois de la part de Microsoft et des développeurs de logiciels. Mais d’un autre côté, ce qu’ils font en ce moment n’est pas incompatible avec ce scénario dans un futur plus ou moins lointain…



Je pense que voir Microsoft passé complément à Linux est juste un fantasme de certains…



Je pense plus que d’ici 1015 ans (ou moins), une grosse partie des Windows Moderne (Windows Nano/Windows Phone) sera open source…

La partie Win32/GDI restera sûrement closed source pour garder l’avantage de la compatibilité avec les applications Win32 legacy du monde de l’entreprise… Mais pour tout le reste Microsoft pourrait se créer une énorme communauté très facilement.


Ce n’est pas parce que ce n’est pas incompatible que c’est ce qui va se faire ou que c’est ce qui&nbsp;est prévu.

Pouvoir != vouloir.








darth21 a écrit :



Ce n’est pas parce que ce n’est pas incompatible que c’est ce qui va se faire ou que c’est ce qui est prévu.

Pouvoir != vouloir.







Et ce n’est pas parce que ça ne s’est jamais vu avant que c’est impossible. Je trouve ça tout aussi présomptueux de dire « ça n’arrivera jamais ».



Pour l’instant impossible de faire des prévisions, wait & see.



C’est comme quand on a vu un jeu Sega chez Nintendo, personne y aurait cru dans les années 90.


La question est plutôt quel intérêt pour Microsoft de passer son écosystèmes à Linux ?



Y’a une différence entre utiliser Linux pour créer un nouveau produit très spécifique (switch virtuel pour le cloud) et devoirs adapté l’existant pour faire une migration qui n’apporte rien in fine…



Le noyau Linux et NT sont de la même famille avec globalement les mêmes forces et faiblesses.. Le noyau Linux est peut être plus modulaire mais NT c’est affiné avec le projet MinWin… Aujourd’hui un Windows Nano server n’est pas tellement plus gros qu’une distribution Linux de serveur.



NT est compatible x86, ARM32 et l’ARM64 sera sûrement annoncé à la build dans 2 mois..



Fin bref l’intérêt est juste nulle…


Mais quel serait le but ?








arno53 a écrit :



Je pense que voir Microsoft passé complément à Linux est juste un fantasme de certains…



Je pense plus que d’ici 1015 ans (ou moins), une grosse partie des Windows Moderne (Windows Nano/Windows Phone) sera open source…

La partie Win32/GDI restera sûrement closed source pour garder l’avantage de la compatibilité avec les applications Win32 legacy du monde de l’entreprise… Mais pour tout le reste Microsoft pourrait se créer une énorme communauté très facilement.







Je pense exactement la même chose : une ouverture progressive, au fil des réécritures, des composants Windows en Open Source.

Cela pourrait coller avec les efforts effectués pour le début de la phase Redstone sur le noyau et faciliter la modularité du développement.









arno53 a écrit :



La question est plutôt quel intérêt pour Microsoft de passer son écosystèmes à Linux ?











darth21 a écrit :



Mais quel serait le but ?







Peut-être pour rejoindre une base standard de l’informatique : POSIX ?



Windows est le seul OS qui n’est pas de la famille UNIX/Linux aujourd’hui : Mac OS X et iOS ont une base UNIX, Android c’est du Linux… Si Microsoft veut que ses « Universal Apps » soient compatibles avec d’autres OS, le plus simple est que tous les OS aient la même base et respectent les mêmes normes, plutôt que de rester une plate-forme isolée sur le marché. Dans l’informatique personnelle Windows s’est fait complètement dépasser par Android/Linux, au point qu’il se vend aujourd’hui 8 fois plus de terminaux Android que de terminaux Windows… Par ailleurs tous les scripts et programmes développés pour serveurs UNIX ont pu facilement être portés sous Linux, mais c’est beaucoup plus difficile de les porter sous Windows.



Bref, je vois ça comme une possibilité, qui n’est pas farfelue. Je ne prétends pas que ça va forcément arriver hein… Je dis juste que ce n’est pas impossible.



Et je dis aussi et surtout que pour l’instant, c’est impossible de savoir ce que l’avenir réserve sur ce sujet.



MS ne veut pas que ses apps universelles soient compatibles avec d’autres OS, mais dispos sur tous les appareils tournant avec leur même OS unifié, c’est différent.



Quant au POSIX : “Par exemple, Microsoft Windows NT 3.x et 4 sont certifiés conformes à POSIX.1:1990, ce qui est suffisant pour des applications POSIX relativement simples. Cependant, des programmes plus complexes ont besoin d’une compatibilité plus large. Des logiciels supplémentaires tels que Services for UNIX ou Cygwin peuvent apporter à Windows ce niveau de compatibilité. UWIN offre une compatibilité POSIX[5], y compris sur les chemins de fichiers.”

https://fr.wikipedia.org/wiki/POSIX#Linux_et_POSIX








Konrad a écrit :



Peut-être pour rejoindre une base standard de l’informatique : POSIX ?





Même si je ne pense pas qu’à terme ils aient réellement envie de faire migrer windows vers un *nix, je plussoie cet argument.



Historiquement, l’informatique a jusque là subit un bouleversement majeur, qui est la migration de la valeur ajoutée du hardware vers le software ; c’est justement ce qui a tué l’hégémonie d’IBM à l’époue (dans les années 80) pour consacrer Microsoft.

&nbsp;

A l’heure actuelle on est pour moi en plein dans le second bouleversement, celui où la valeur ajoutée est en train de migrer du software vers l’écosystème de services. L’important n’est plus tant d’avoir la propriété du software que celle d’avoir réussi à capter les utilisateurs dans un écosystème pour leur vendre tous les services qui y sont associés. Dans ce cadre c’est ce qui est en train de faire ‘plonger’ (toute proportions gardées) Microsoft au détriment d’autres acteurs (typiquement Google, qui se sert d’Android comme écosystème pour vendre tout le reste, la pub en tête).



Dans cette perspective, on peut voir l’écosystème Microsoft sous deux angles:





  • soit on pense que l’écosystème existant est une de leur leur force étant donné leur base déjà installée dans l’informatique personnelle et dans le monde pro (même si elle a tendance à s’effriter).



    &nbsp;- soit on pense que ces domaines vont beaucoup ‘régresser’ en importance au profit d’autres domaines (mobilité, infra cloud/net, …) et qu’il vaudrait mieux se rapprocher de ce qui devient le ‘standard’ dans ces domaines (typiquement linux) pour capter la valeur ajoutée dans les domaines qui feront les rois à l’avenir.



    Perso, je dirais “ni plus ni moins, bien au contraire” <img data-src=" />



A noter que Microsoft peut très bien migrer sous une norme POSIX complète tout en ayant son propre noyau Unix.



Car après tout, s’il y a de grandes familles avec les Linux et les BSD (dont est issu Mac OS X), le reste des Unix ont un noyau disposant de leur propre implémentation de la norme. Et ils ne sont pas tous open-source, bien au contraire.

Exemple : AIX (et même maintenant les iSeries partagent une base Unix), HP-UX, Solaris…



En tous cas, au vu de la mutation que Microsoft démontre progressivement, je ne vois rien de déconnant à ce qu’ils migrent vers une norme commune permettant d’éviter de faire de Windows un environnement spécifique.

Comme l’a évoqué brazonyma ci-dessus, il y a déjà eu une grande mutation du hardware vers le software.

Le nouvelle grande mutation, c’est effectivement celle du software vers le service.



Déjà avec Azure on constate que Microsoft héberge une grosse partie d’instances basées sur du Linux, ils ont même développé une distribution en ce sens. Clairement, ils ont tout intérêt à maximiser l’étendue de leurs technologies plutôt que de rester ancrés dans leur pré carré et leur petite bulle et de finir en marginaux.

Ca ne me paraîtrait pas déconnant qu’à force ils portent leurs grosses cartouches du genre IIS, AD, SQL Server, etc, sur des systèmes concurrents pour pouvoir continuer de vendre du software et du service à défaut de vendre l’environnement d’exécution.


Ce n’est pas parce windows reposerait sur une base posix que toutes les applications seraient compatibles.

OSX repose peut être sur une base posix mais la plateforme de développement c’est du cocoa et elle n’a strictement rien à voir avec Linux. C’est la même chose entre android et Linux où les deux plateformes de développement sont totalement différentes.

De plus comme expliqué plus haut le noyau NT intègre déjà un sous système posix depuis longtemps.



Quand au passage sur un système linux je partage l’avis d’arno53 . une telle décision créerait de gros problèmes de compatibilités pour une plus value mineure. Sans compter que tous les appareils actuels sous Windows n’ont pas forcément un driver sous Linux.



Arnaud a parlé du projet WaveFront dont le but serait de passer graduellement le code Windows dans un nouveau langage safe.



Il y a un autre aspect je l’avais déjà expliqué par le passé. Au départ Microsoft a travaillé sur un os radicalement différent (Midori) mais aussi totalement incompatible avec Windows. C’est pour ça qu’ils ont crée le projet drawbridge. J’ai expliqué tout plus en détail sur mon blog. Mais l’idée de départ est de séparer totalement la plateforme applicative du système hôte. Au final on devrait avoir une sorte de méta os super leger écrit totalement en langage safe qui fait tourner des conteneurs Windows(voir de différentes versions) mais aussi des conteneurs linux ou android.

Au final Microsoft ne passera pas sous un os linux mais au final on devrait se retrouver avec des avantages en terme de compatibilité applicative sans les ennuis qu’on aurait pu avoir avec votre solution “radicale”.

Pour redstone côté serveur il y aura des conteneurs. Coté client apparemment ils bossent sur tout un tas de projets autour des conteneurs(j’avais déjà posté un lien linkedin).



Je pense que nadella veut vraiment plus s’ouvrir à Linux et au libre. Ces solutions techniques rendent cela possible :)








charon.G a écrit :



au final on devrait se retrouver avec des avantages en terme de compatibilité applicative







Ça ce serait le rêve : que toutes les applis soient 100% cross-plateforme Windows, OS X, Linux… Mais ça aussi ça demandera beaucoup de temps et d’efforts de développement.









BreizFenrir a écrit :



C’était pas une version allégée de StarOffice libérée par Sun à l’époque ? De tête, il me semble bien.



Allégée et gratuite (contrairement à SO qui était payant) tout à fait <img data-src=" />









charon.G a écrit :



Au final on devrait avoir une sorte de méta os super leger écrit totalement en langage safe qui fait tourner des conteneurs Windows(voir de différentes versions) mais aussi des conteneurs linux ou android.



Une sorte d’HyperV plus évolué, quoi.



Oui exactement. En fait c un peu la raison pour laquelle ils ont cree des conteneurs. La solution de virtualisation classique est trop lourde. L accès aux ressources matérielles est complexe.








charon.G a écrit :



Oui exactement. En fait c un peu la raison pour laquelle ils ont cree des conteneurs. La solution de virtualisation classique est trop lourde. L accès aux ressources matérielles est complexe.





Le conteneurs … Docker … justement un excellent exemple qui montre à quel point la base technique de Windows peut mener à l’isoler complètement d’une innovation majeure, le genre qui peut aujourd’hui bousculer toute une industrie sur son passage en l’espace de quelques dizaines de mois.







charon.G a écrit :



OSX repose peut être sur une base posix mais la plateforme de développement c’est du cocoa





Lol.



Ok. J’arrête là.

&nbsp;