Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft publie en open source .NET CoreCLR avec son code source
Le moteur d'exécution de la déclinaison open source de .NET disponible sur GitHub

Le , par Hinault Romaric

65PARTAGES

4  0 
Dans le cadre de son initiative visant à mettre à la disposition des développeurs une version open source du Framework .NET, Microsoft vient de publier sur la plateforme de gestion des projets open source GitHub, le code source de .NET CoreCLR (Common Language Runtime).

.NET CoreCLR est le moteur d’exécution open source du Framework .NET dans Net Core. Il peut être comparé à la machine virtuelle Java par rapport au rôle qu’il joue. Lorsqu’une application .NET ASP.NET 5 est exécutée, par exemple, au-dessus de .NET Core, c’est CoreCLR qui est responsable de l’exécution du code de l’application, en plus des bibliothèques CoreFX/BCL.

Ce moteur d’exécution fournit des fonctionnalités comme le garbage collector (ramasse-miettes), le compilateur RyuJIT (nouveau compilateur JIT de Microsoft, permettant une amélioration de près de 30% des performances des applications lors du démarrage), native interop et de nombreux autres composants d’exécution pour .NET.

.NET CoreCLR comprend près de 2,6 millions de lignes de code écrites en utilisant une combinaison des langages C# et C++, dont 320 000 lignes de code pour le compilateur just-in-time et 55 000 lignes pour le garbage collector.


Le processus de build du code de CoreCLR est basé sur CMake (moteur de compilation multiplate-forme open source). Microsoft a opté pour CMake parce qu’il est disponible à la fois sur Linux, Windows et Mac.

Pour l’instant, CoreCLR fonctionne uniquement sous Windows. Microsoft prévoit de publier des versions pour Linux et Mac dans les prochains mois. La firme de Redmond veut permettre aux développeurs de profiter de son « voyage multiplateforme dès le départ. »

CoreCLR vient rejoindre Corefx qui avait été publié sur GitHub par Microsoft en fin novembre. Corefx contient les classes de base pour .NET Core. Il est construit entièrement en C#. Le programme contient actuellement environ 500 000 lignes de code, ce qui représente seulement 25% de sa taille finale.

Pour rappel, .NET Core représente le cœur du Framework .NET. La solution est disponible en open source et est en cours de développement par Microsoft en collaboration avec des développeurs externes, qui ont déjà contribué à environ 48% du projet.

Pour l’instant, .NET Core supporte uniquement deux types de projets : les projets ASP.NET 5.0 et les projets Windows Store. Le développement d’applications desktop avec WPF ou Windows Forms n’est pas supporté.

Source : Microsoft

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 20/11/2015 à 0:25
Citation Envoyé par kilroyFR Voir le message
encore une nouvelle syntaxe barbare a la M$ !
De quelle syntaxe parles-tu ? Cet article ne parle pas des langages, mais de la plateforme .NET

Il y a toutes sortes de langages basés sur .NET, avec des syntaxes très différentes (C#, VB.NET, F#, C++/CLI, Nemerle...). Après, on peut aimer ou non la syntaxe de ces langages, mais C# par exemple a des qualités largement reconnues, et de nombreux langages récents s'en inspirent (Swift, ECMAScript...)

Au passage, la syntaxe de ces langages ne sort pas de nulle part. Celle de C# est largement inspiré de Java et de C++, F# a une syntaxe presque identique à OCaml, etc. Donc je ne vois pas trop en quoi ils ont une syntaxe "a la M$" (sic).

Bref, renseigne-toi un minimum avant de troller gratuitement
10  0 
Avatar de youtpout978
Membre expert https://www.developpez.com
Le 04/05/2015 à 9:32
Citation Envoyé par matthius Voir le message
Les entreprise privées sont faites pour couler, par le simple fait qu'elle veulent s'approprier ce qui ne leur appartient.
Microsoft ne cherche qu'à survivre. En effet, les plus grosses entreprises montrent qu'elles veulent s'approprier la vie.
Allo Houston je crois qu'on l'a perdu.
9  0 
Avatar de Bono_BX
Membre confirmé https://www.developpez.com
Le 19/11/2015 à 23:22
Citation Envoyé par kilroyFR Voir le message
encore une nouvelle syntaxe barbare a la M$ !
Qui sera tellement barbare qu'elle sera reprise plus tard par les pro / sectaire de l'open source en arguant que c'est tout nouveau et que c'est eux qui ont tout inventé, comme d'habitude ... (voir HTML 5)
Et sinon, tu peux argumenter STP ?
5  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 04/02/2015 à 20:39
Citation Envoyé par DonQuiche Voir le message
Après des années d'annonces nébuleuses d'ouverture débouchant sur un code introuvable sur un site indisponible la moitié du temps avec une licence à la noix, et quelques bouts de code minuscules sur github par ailleurs, il semble qu'enfin on y soit arrivé.

https://github.com/dotnet/coreclr/tr...lib/src/System
https://github.com/dotnet/coreclr/tr.../master/src/gc
https://github.com/dotnet/coreclr/tr...master/src/jit

Enfin complet, sous github et sous licence MIT. Ne reste plus qu'à ajouter d'autres biblios maintenant.
Je comprends pas très bien ta réaction... Tu réagis comme si c'était le premier "gros" truc que MS rendait open-source... Pourtant depuis quelque temps ça n'arrête pas, et les "autres biblios" sont déjà là :



Bref, je m'arrête là parce qu'il y en a trop... CoreCLR est juste un pas de plus dans la même direction.

(EDIT: ajouté quelques frameworks importants que j'avais oubliés...)
3  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 04/02/2015 à 23:56
Citation Envoyé par DonQuiche Voir le message
tantôt que "core" voulait dire "system.xml"
Au début le projet .NET Core ne contenait effectivement que ça et quelques autres trucs, mais c'est juste parce qu'ils n'avaient pas encore mis le reste. D'ailleurs il n'y a pas encore tout, ils en sont à environ 25% de ce qu'il y aura au final.

Citation Envoyé par DonQuiche Voir le message
Avant cela le "reference source" restait un machin sous licence restrictive visible uniquement depuis un site moisi et HS la moitié du temps qui faisait que je préférais encore décompiler.
C'est clair que le premier site referencesource était assez pourri et ne servait pas à grand chose... Après ils ont mis un truc mieux (toujours accessible ici) qui permet une navigation facile dans le code.

Citation Envoyé par DonQuiche Voir le message
Sauf qu'apparemment le nouveau "reference source" n'inclue pas tout ce qu'il incluait avant. Bref... D'ailleurs en toute logique ça aurait déjà dû contenir mscorlib, donc pourquoi cette nouvelle annonce d'ouverture de "mscorlib" ?!
Comment ça ? mscorlib est bien inclus dedans. Et de quelle nouvelle annonce parles-tu ? Celle d'aujourd'hui concerne CoreCLR, le runtime pour .NET Core.
Sinon c'est vrai qu'il manque quelques trucs sur Github, notamment WPF qui est pourtant visible sur referencesource.microsoft.com. Je sais pas trop pourquoi il l'ont pas inclus.

Citation Envoyé par DonQuiche Voir le message
A part ça, oui, certaines biblios et outils annexes étaient dispos (Roslyn, Unity,etc), mais pas le framework en dépit de 387 annonces sur le modèle "nous aimons l'open source, nous mettrons tout en open source, regardez notre belle fondation, etc". Même Roslyn, longtemps annoncé comme étant open source, ne l'était pas vraiment (je ne me rappelle plus les détails, ça ne devait concerner qu'une vielle version ou la licence devait être restrictive) et ne l'est vraiment devenu (pour de vrai ?) qu'en janvier 2015.
Pour Roslyn, ils en ont publié la plus grande partie il y a un bon moment déjà. Il manquait certaines parties au début, mais entre temps ils ont ajouté ce qu'il manquait. Maintenant n'importe qui peut cloner le repo et ajouter ses propres features expérimentales à C# ou VB.NET.

Citation Envoyé par DonQuiche Voir le message
Bref, des années de grosse communication MS incompréhensible qui m'ont mis en colère. Et je reste convaincu que la prochaine fois que j'aurais besoin d'un morceau du code du framework il y aura de grandes chances qu'il ne soit pas dispo.
Ca devient pourtant de plus en plus difficile... la plupart des libs, frameworks, etc liés de près ou de loin à .NET sont maintenant dispo.

Enfin bref, je te trouve un peu sévère quand même... en moins d'un an, ils ont rendu open-source des millions de lignes de code dont personne ne pensait voir la couleur un jour. Tu veux quoi de plus ? Le code de Windows, d'Office... ? Vu que c'est les plus grosses vaches à lait de MS, ça m'étonnerait que ça arrive un jour... il faut bien gagner de quoi vivre aussi

Pour ce qui est de la communication, c'est vrai que ça a pas toujours été très clair, mais ils jouent de plus en plus sur la transparence. Par exemple les comptes-rendus des Language Design Meetings sont rendus publics aussitôt après, et ils se mettent même à diffuser des vidéos de réunions internes. On peut aussi venir discuter les features de la prochaine version de C# avec l'équipe sur Github. Bref, à condition d'essayer de suivre un peu ce qui se passe (pas évident parce qu'il se passe beaucoup de choses), la communication de Microsoft envers les développeurs n'a jamais été aussi bonne, à mon sens en tous cas...
3  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 05/02/2015 à 16:24
Citation Envoyé par Battant Voir le message
Tiens une bonne surprise, microsoft s'intéresse à l'open souce mais en fait, sous quel licence open source ce framework est-il publié ?
Licence MIT
https://github.com/dotnet/coreclr/bl...er/LICENSE.TXT

Citation Envoyé par Battant Voir le message
Peut-être qu'à terme, des programme qui ne tournait que sur windows, tourneront également sur mac et linux voir pc-bsd ou freebsd.

Est-ce selon vous une hypothèse crédible ?
Ce n'est pas une hypothèse, c'est un fait. Regarde sur la page d'accueil du repo Github :

3  0 
Avatar de Mat.M
Expert éminent sénior https://www.developpez.com
Le 06/02/2015 à 15:29
Citation Envoyé par DonQuiche Voir le message
Je ne leur demande pas de tout mettre en open-source. Je leur demande de faire moins de communication et de ne communiquer qu'une fois les choses accomplies car ils donnent une impression de brasser du vent et de promettre sans contenu derrière.
faut toujours qu'il y ait des gens qui râlent et qui soient pas contents...pour une multinationale comme Microsoft décider de publier du code source ça ne se fait pas d'un claquement de doigts...là c'est accéder à de la propriété intellectuelle pour faire plaisir à tout le monde

Citation Envoyé par dfiad77pro Voir le message
par contre quand je vois des fichiers comme gc.cpp qui prennent 35400 lignes de code ( y'a des commentaires, mais bon...),
je trouve que ce n'est pas normal pour un travail fait par des pros.

Pourquoi n'ont-il pas pu/voulu le séparer plusieurs fichier
+1
c'est certain qu'on s'attendrait à mieux de la part de l'éditeur qui pourtant commercialise de très bons outils comme Visual Studio.
Ou alors c'est qu'ils n'ont pas eu le temps de mettre le code source au propre..
3  0 
Avatar de Aeson
Nouveau Candidat au Club https://www.developpez.com
Le 19/11/2015 à 16:01
Ils n'y vont pas a moitier quand ils changent chez Microsoft.

Qui aurait pensé un jour voir Microsoft collaborer avec Google sur un projet OpenSource ?? (Angular 2).

Voir une presentation d'un produit openSource faites par des dev de Microsoft et Google en meme temp

Je suis impatient de faire tourner des app en .Net Core sur W2016 / Azure Stack....

C'est pas demain que je changerais de technos en tous cas.
3  0 
Avatar de Lutarez
Membre chevronné https://www.developpez.com
Le 19/11/2015 à 20:54
A noter également que le compilateur AOT (.Net Native) est lui aussi devenu un projet open-source depuis hier
Source : Twitter
3  0 
Avatar de Bono_BX
Membre confirmé https://www.developpez.com
Le 10/12/2015 à 17:54
Citation Envoyé par Traroth2 Voir le message
Est-ce qu'il est possible de bâtir un environnement de développement et un environnement de production complets avec seulement de l'open-source ?
Ta question est un peu vague. Comme nous sommes sur un article .Net, je pars du postulat que tu parles d'environnements .Net.
- Développement : oui, mais ça va être très limité car le seul IDE open source actuel avec .Net Core est Visual Studio Core. Comme son nom l'indique, tu as vraiment juste un ... Core. C'est un éditeur de code très avancé, mais on est bien loin de Visual Studio sous Windows. De plus, pour le moment .Net Core n'implémente pas l'intégralité du framework .Net, donc selon tes besoins, tu ne pourras pas y recourir ; mais c'est en cour de portage complet.
- Production : encore une fois, le principale problème vient de tes besoins : si tu utilises des fonctionnalités non implémentées dans .Net Core, tu seras bloqué. Un autre souci est l'hébergement, car pour du Web, il n'y a que IIS pour le moment.

Il ne faut pas oublier que le virage open source de .Net est récent (je mets à part Xamarin, qui n'est pas le sujet de l'article), et que les choses évoluent très vite. Donc pour te répondre je dirai que non, ce n'est pour l'instant pas possible, mais il est évident que cela va le devenir car Microsoft en a la volonté ... et les moyens, aussi bien en termes techniques qu'en termes de compétence.
3  0