Soutenez-nous

Mono 2.11 : l'implémentation open source de .NET supporte C# 5
Et apporte des améliorations de performances et du compilateur

Le , par Hinault Romaric, Responsable Actualités
Mono, l’implémentation open source du Framework .NET est disponible en versions bêta 2.11 pour les tests.

Cette version apporte une mise à jour majeure à la plateforme avec un support amélioré pour le langage C#, des améliorations de performances et une prise en charge des API .NET 4.5.

Mono 2.11 offre une prise en charge de C# 5 avec un support complet pour la programmation asynchrone. Les bibliothèques de classes de Mono ont été mises à jour pour offrir une meilleure prise en charge de l’asynchrone.

Le compilateur C# a été entièrement réécrit et unifie tous les compilateurs anciens (mcs , gmcs , dmcs et smcs) dans un unique compilateur simple, désormais plus rapide et flexible. Le compilateur Mono en tant que service et le Shell C# ont été améliorés et étendus.

Bien que la version finale de .NET 4.5 n’ait pas encore été publiée, le compilateur utilise par défaut l’API 4.5 qui apporte la compatibilité WinRT, des nouvelles assemblies (System.Net.Http et System.Threading.Tasks.Dataflow).

Enfin, le garbage collector (ramasse-miettes) SGen croit en stabilité et peut désormais être utilisé en environnement de production. Des centaines de petites modifications ont été apportées au projet afin d’améliorer les performances.

Mono 2.11 est la première d’une série de bêta qui mèneront à la sortie de la version stable Mono 2.12. La mouture est disponible pour Windows, Mac et Linux.

Télécharger Mono 2.11

Source : Annonce Mono 2.11

Et vous ?

Que pensez-vous de ces nouveautés ?


 Poster une réponse

Avatar de StringBuilder StringBuilder
Membre Expert
le 27/03/2012 10:21
L'intérpet que je vois à avoir Mono sous Windows, c'est que malgré les améliorations de Mono, il ne couvre que partiellement le framework de Microsoft.

L'utiliser sur une machine de développement sous Windows (qui permet d'utiliser un IDE qui tiens la route, c'est toujours mieux que VI) permet de s'assurer que le code va fonctionner sous Linux et Mac.

En effet, lors de ma première tentative de portage d'un programme écrit sous Windows, j'ai du réécrire 90% du code pour Mono, car la plupart des objets standards du framework que j'avais utilisé n'était pas portés sous Mono !

Et je peux te dire que corriger du code .NET avec VI, bah c'est la galère ^^
Avatar de Flaburgan Flaburgan
Modérateur
le 27/03/2012 11:04
Euh, des IDE sous Linux yen a hein ? VI c'est quand t'es dans un routeur et que t'as rien d'autre.. Ça fait des années que je code sous Linux et j'ai jamais ouvert VI de ma vie.
Avatar de StringBuilder StringBuilder
Membre Expert
le 27/03/2012 11:23
Tout dépend des outils que tu as à ta disposition.

Ici, linux c'est que des serveurs, dont t'as VI en telnet sinon rien... Ah, si, ultraedit en bossant par FTP...
Avatar de Freem Freem
Expert Confirmé
le 27/03/2012 11:28
Citation Envoyé par Flaburgan  Voir le message
Euh, des IDE sous Linux yen a hein ? VI c'est quand t'es dans un routeur et que t'as rien d'autre.. Ça fait des années que je code sous Linux et j'ai jamais ouvert VI de ma vie.

Ou vi c'est pour les scripts
Et pour d'autres, c'est un IDE...

Perso, je reste avec mon IDE classique, mais j'ai le pressentiment que c'est parce que je ne maîtrise pas suffisamment la bête. Dire que vi c'est juste quand on a pas d'interface graphique me paraît un peu crû.
D'autant que sur les routeur, il faut se log en ssh je suppose? Donc il y a sûrement moyen d'accéder aux fichiers du routeur comme si c'était une simple partition distante donc utilisation d'IDE possible.

En tout cas, je suis impressionné par mono, je ne pensais pas qu'ils avaient atteint un tel niveau de maturité.

@ StringBuilder :
Eclipse, codeblocks, kdevelop, netbeans. 4 IDE qui me viennent à l'esprit la. Je ne sais pas s'ils font C#, mais je sais qu'ils supportent C et C++.
Eclipse en supporte une floppée, probablement comme netbeans.
Codeblocks supporte au moins le D (jamais essayé cela dis). C# ne doit donc pas être si dur que ça a ajouter.

Et un petit tour sur wikipedia france à la page de mono me donne ce lien: http://fr.wikipedia.org/wiki/MonoDevelop

[edit]
VI en telnet O.O
Tu parles de serveurs ou de passoires??? Telnet, avec ses mdp en clair sur le réseau...
Avatar de air-dex air-dex
Membre Expert
le 27/03/2012 12:07
Citation Envoyé par StringBuilder  Voir le message
L'intérpet que je vois à avoir Mono sous Windows, c'est que malgré les améliorations de Mono, il ne couvre que partiellement le framework de Microsoft.

L'utiliser sur une machine de développement sous Windows (qui permet d'utiliser un IDE qui tiens la route, c'est toujours mieux que VI) permet de s'assurer que le code va fonctionner sous Linux et Mac.

En effet, lors de ma première tentative de portage d'un programme écrit sous Windows, j'ai du réécrire 90% du code pour Mono, car la plupart des objets standards du framework que j'avais utilisé n'était pas portés sous Mono !

Et je peux te dire que corriger du code .NET avec VI, bah c'est la galère ^^

MonoDevelop, l'IDE de référence de Mono, est disponible sur Linux. Ok il ne casse pas 3 pattes à un canard mais c'est toujours mieux que vim et emacs.
Avatar de StringBuilder StringBuilder
Membre Expert
le 27/03/2012 12:16
Vous pourrez me pondre autant d'IDE qui tournent sous Linux que vous le voulez. Dans un nombre non négligeable de boîtes, les postes de dev, c'est Windows, et sur les serveurs, on n'a pas d'interface graphique. Point.

Pour moi, le portage de Mono sous Windows sert à ça, pouvoir compiler sur la machine de DEV Windows en s'assurant que le programme fonctionnera aussi sous Linux.
Avatar de Freem Freem
Expert Confirmé
le 27/03/2012 14:06
Citation Envoyé par StringBuilder  Voir le message
Vous pourrez me pondre autant d'IDE qui tournent sous Linux que vous le voulez. Dans un nombre non négligeable de boîtes, les postes de dev, c'est Windows, et sur les serveurs, on n'a pas d'interface graphique. Point.

Pour moi, le portage de Mono sous Windows sert à ça, pouvoir compiler sur la machine de DEV Windows en s'assurant que le programme fonctionnera aussi sous Linux.

Hum... En fait, le truc, c'est que, tout bêtement, mono permet de faire des choses portables en C#.NET, si je comprend bien. Après tout, ça marche sur le même principe que java, avec une machine virtuelle.

Les IDE aussi, ça peut être portable. Et quand on peut accéder à un système distant, on peut très bien importer les fichiers pour bosser dessus et les ré expédier ensuite sur la cible.

Le portage de MONO n'est évidemment pas inutile, mais je dois admettre avoir du mal a comprendre pourquoi si les machines cibles sont sous linux pourquoi vous n'avez pas de bureau sous linux également.
Enfin, je t'accorde que les infrastructures sont pas toujours logiques.
Avatar de DonQuiche DonQuiche
Expert Confirmé
le 27/03/2012 14:10
Citation Envoyé par Freem  Voir le message
Perso, je reste avec mon IDE classique, mais j'ai le pressentiment que c'est parce que je ne maîtrise pas suffisamment la bête. Dire que vi c'est juste quand on a pas d'interface graphique me paraît un peu crû.

Allez, je vais être charitable avec VI : grâce à lui tes doigts bougent moins, ce qui te rend plus productif (insignifiant et largement annulé par ses inconvénients) et retarde l'arrivée des problèmes de canal carpien. En plus il consomme moins de CPU, un argument de green marketing que les adeptes masochistes de VI essaieront de refourguer à leur direction - les fourbes.

Voilà, la minute de charité est terminée. Car en pratique VI ne mérite que de périr et ses contributeurs devraient être pendus par les parties génitales.

En tout cas, je suis impressionné par mono, je ne pensais pas qu'ils avaient atteint un tel niveau de maturité.

Effectivement, ça fait un bail que Mono est tout à fait utilisable sur des projets commerciaux, par exemple pour d'autres plateformes que MS. Cela dit certaines parties du framework sont plus mûres que d'autres.

Eclipse, codeblocks, kdevelop, netbeans. 4 IDE qui me viennent à l'esprit la. Je ne sais pas s'ils font C#, mais je sais qu'ils supportent C et C++.
Eclipse en supporte une floppée, probablement comme netbeans.
Codeblocks supporte au moins le D (jamais essayé cela dis). C# ne doit donc pas être si dur que ça a ajouter.

Attention, il y a IDE C# et IDE C#. Parser le langage C# ce n'est que le sous-sol. Il faut aussi :
* Fournir un vrai parser, générant un DOM exhaustif qui ne bute pas sur les petits trucs chiants comme les lambdas, types anonymes, déclarations partielles, yield return, async, etc.
* Supporter le xaml, le T4 et la syntaxe ASP : trois langages utilisés nulle part ailleurs.
* Ecrire un débogueur spécifique au code dotnet : travailler avec le débogueur natif pousserait à s'arracher les cheveux.

Avec ça on a le minimum décent. Mais il en manque encore pas mal avant d'avoir un IDE un tant soit peu efficace.
Avatar de _ash_ _ash_
Membre habitué
le 27/03/2012 19:23
Yeah, ça part en n-ème débat (VIM/Emacs) Vs reste du monde !

Je ne suis pas particulièrement intéressé par le troll, mais je me permets une unique participation afin de permettre à de potentiels novices qui arriveraient ici, de ne pas avoir un unique son de cloche. (Notez que je parle bien de vim et non de vi)

Juste pour situer mon contexte : j'ai eu à bosser sur une machine sans environnement graphique, donc tête la 1ère forcée dans Vim [1].
Au bout de 3 mois à l'utiliser quotidiennement et à me former pro-activement [2], j'étais devenu aussi efficace qu'avec un IDE.
15 mois de plus à l'utiliser plus par obligation technique mais par gout, et maintenant que je suis contraint de bosser sous windows [3], je suis frustré par la vitesse à laquelle je développe sous Visual. (Du moins, je l'étais jusqu'à ce que je découvre son plugin VsVim qui me permet de retrouver une grande partie de la puissance de cette outil.)

A titre indicatif, ce qui me fait préférer vim plutôt qu'un IDE c'est la possibilité de tout faire sans souris. Pas tant parce que ça permet de se la péter grave [4], mais parce qu'il me semble logique que je sois plus efficace en utilisant mes 10 doigts et en ayant à peine à bouger mes mains, plutôt qu'en utilisant 2 doigts et en ayant à bouger tout mon bras.
(au niveau des features, on retrouve à peu près la même chose de chaque côté entre un IDE et un vim + ctags (sauf le debugger intégré...))

Bref, les conclusions de cette parabole, se sont :
- Oui, la courbe d'apprentissage de vim est très raide au début, et se lancer dedans "juste pour voir en 5min", ou pire, parce qu'on est obligé pendant 4h par un prof en TP, c'est une super manière de s'en dégouter
- En revanche, lorsque l'on a gravi une partie de cette courbe, ça peut devenir très addictif.

Bref, je comprends parfaitement qu'on ne soit pas près à fournir l'effort nécessaire pour rentrer dedans (je ne l'aurais peut-être jamais fait sans cette contrainte technique), mais si vous ne connaissez pas encore (ou mal) vim, s'il vous plait, gardez ceci en tête avant de le descendre en flèche !

Ps : promis, je ne rentre pas dans le troll, je n'ai pas pour volonté de pourrir ce topic sur Mono, et je ne donnerai pas suite à d'éventuelles contre-réponses.

[1] : et pas emacs, non pour troller, mais parce qu'il n'y était pas.
[2] : sessions lecture de docs & tutos, sollicitation de collègues qui maitrisaient le bouzin, ...
[3] : où j'ai un gvim, mais qui n'arrive pas à la cheville d'un vrai vim sous unix
[4] : encore que je n'ai jamais réussi à draguer une fille avec ça...
Avatar de frfancha frfancha
Membre confirmé
le 05/02/2013 21:39
Citation Envoyé par _ash_  Voir le message
...A titre indicatif, ce qui me fait préférer vim plutôt qu'un IDE c'est la possibilité de tout faire sans souris. Pas tant parce que ça permet de se la péter grave [4]
...
[4] : encore que je n'ai jamais réussi à draguer une fille avec ça...

Petit comique
Avatar de youtpout978 youtpout978
Membre Expert
le 06/02/2013 10:14
Je crois que mono est utilisé dans plusieurs projet comme unity3d ou monodroid, je pense que ces projets peuvent avoir un intérêt pour les développeurs sur Windows, mais je ne sais pas si ces nouvelles fonctions seront exploité par ces projets par contre.

Après il est possible de développer sur Visual studio en utilisant pratiquement pas sa souris il faut connaître les différents raccourci, il y a aussi une courbe d'apprentissage pour ça.
Offres d'emploi IT
ATS-Niort- Analyste Fonctionnel Assurance (H/F)
CDI
Atos Technology Services - Poitou Charentes - Niort (79000)
Parue le 13/04/2014
Ingénieur Développement JAVA h/f
CDI
ERIVA RH - Rhône Alpes - Saint-Étienne (42000)
Parue le 10/04/2014
Ingénieur Systèmes Expert poste de tra
CDI
Atos Technology Services - Centre - Orléans (45000)
Parue le 01/04/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula