• # Bon bon bon

    Posté par . En réponse au journal Pourquoi Mono/C# est une folie. Évalué à 10.

    Cher Patrick,

    Avant d'aller plus loin, je crois bon de souligner que je travaille pour Novell, dans l'équipe Mono. Ce qui fait que, si je ne suis définitivement pas partial, j'ai au moins le mérite de savoir comment les choses fonctionnent, aussi bien pour Mono, que pour son écosystème, et nos interactions avec Microsoft.

    Tout d'abord parlons un peu de cette interview, et de la réaction de Miguel. Je conçois tout à fait que tu penses que cette une interview avec beaucoup de blabla. Moi qui connaît le contexte, et certains gens de cette salle, et qui sait de quoi ils parlent, je l'ai trouvée très intéressante, et même si ils ne disent qu'à demi mot de quoi sera probablement constitué C# 4, et bien je pense avoir une vision assez nette de certains points qu'ils discutent.

    Et que tu le veuille ou non, oui, C# est un bon langage. On pourrait discuter des heures et des années, mais dans sa catégorie de langage OO, typé statiquement, c'est un bon langage, avec des bonnes librairies aussi. Et son orientation de plus en plus fonctionnelle est assez appréciable. Sa cohérence aussi. Et on dira ce qu'on voudra, mais oui, ça aide d'avoir une équipe de grosses têtes (faut voir les gens dans cette interview, la plus part sont plus qu'excellent techniquement), qui se rencontrent souvent, pour faire un langage cohérent.

    Mais là n'est pas vraiment la question hein.

    Oh la la, oh la la, oh la la (tel Michael J. Fox), Microsoft est le seul à décider du futur de C#.

    Et bien oui, C# c'est un bébé de Microsoft, et ils le font évoluer comme ils le veulent. Nous, nous avons notre mot à dire quand ils décident de standardiser ce sur quoi ils bossent à l'ECMA par contre. Mais ils n'ont pas encore publié quoi que ce soit pour C# 4 à l'ECMA.

    Plus j'écris, plus je me dis que tu n'as pas compris comment marche Mono en fait. Comme beaucoup de monde, et c'est dommage.

    Mono, c'est un projet constitué de deux parties bien distinctes. Une partie qui vise à implémenter les API .net à des fins de compatibilité, et de pouvoir faire marcher des applications .net sur Linux.

    Une autre partie, qui ne repose que sur les standards ECMA, et qui wrappe des API utilisables sous Linux existantes, telles que Gtk# pour, oui, Gtk, où on invente ce que l'on veut. Et dans cette partie, nous sommes libre d'innover, de faire ce que l'on veut.

    Et donc quand C# 4 va sortir, on va travailler à le supporter (comme Samba travaille à supporter continuellement les nouveautés). Pour que les gens puissent continuer à porter leurs application sous Linux.

    Mais si de ton côté C# 4 contient des choses qui ne te plaisent pas, et bien rien ne t'empêche de continuer de travailler avec la version C# 2, standardisée ISO et ECMA, avec des API standardisés ECMA, plus nos APIs libres et indépendantes de Microsoft.

    Et donc oui, nous avons en soit peu de visibilité et de contrôle sur les nouveautés de .net et de C#, mais si en général on implémente ce qu'ils font, dans l'effort de pouvoir exécuter des applications .net sous Linux, rien ne nous empêche de faire ce que l'on veut avec nos parties à nous (j'avais envie de la placer).

    Et des choses comme Tomboy, ou F-Spot, sont écrites en C# 2, standardisé ECMA et ISO, et sont basées sur le coeur de .net qui est standardisé ECMA, tout en utilisant nos API Gtk#, et autres joyeusetés, où Microsoft n'a rien à voir.

    Donc bon, si tu penses que c'est mal de donner le choix aux utilisateurs de Microsoft .net de migrer leurs applications sur Linux grâce à Mono, d'accord, y a pas grand chose qu'on peut faire.

    Et si tu penses que c'est mal d'avoir une bonne plate-forme, avec un bon langage, et des bons bindings vers nos API traditionnelles, sans être dépendant de qui que ce soit, c'est dommage aussi.

    Bref, encore une fois, beaucoup de «Oh Mon Dieu Encore Un Truc Qui Prouve Que Mono Et Miguel C'Est Le Mal», sans fondement.