0
Il y a toujours eu beaucoup de critiques sur le travail de Miguel de Icaza en ce qui concerne Mono et C#. Outre la méfiance envers tout ce qui vient de Microsoft, l'argument le plus souvent employé est que le monde du libre va être perpétuellement à la traîne de Microsoft et ne pourra donc jamais innover. Comme C# est une techno Microsoft la conséquence logique c'est que de Icaza et ses développeurs vont se contenter de plus ou moins tout réimplémenter et qu'ils ne pourront jamais décider du futur de cette technologie.
Si cet argument semble de bon sens je n'en avait toutefois jamais vu de manifestation concrète....jusqu'à aujourd'hui.
Le groupe Microsoft chargé de la future version 4 de C# vient de donner une interview sur leur travail : http://channel9.msdn.com/posts/Charles/C-40-Meet-the-Design-(...)
C'est essentiellement beaucoup de blabla sans aucun détail technique spécifiques sur les nouveautés du langage.
Miguel de Icaza a posté une entrée dans son blog au sujet de cette interview. Il commence par s'extasier sur le fait que la team C# de Microsoft se réunit dans la même pièce 3 fois par semaine et depuis 9 ans. Pour Miguel cela explique pourquoi le langage a aussi bien évolué.
Mais ce qui est vraiment révélateur/fascinant/consternant/hallucinant ce sont les 2 phrases suivantes de Miguel :
"Malheureusement il n'y a pas de détails dans l'interview à propos des nouveautés de C# 4.0. Nous devons attendre jusqu'au PDC (Professional Developers Conference) pour avoir une idée de ce qui va arriver.
Heureusement, le compilateur C# de Mono est déjà compatible avec la version 3.0 et nous sommes prêt à ajouter les fonctions de la version 4.0 dès qu'elles seront rendues publiques".
C'est vraiment l'aveu franc et ingénu du mode de développement de Mono/C# par Miguel de Icaza et son team. On laisse Microsoft décider de tout et ensuite on réimplémente avec plusieurs mois/années de retard. Le monde du libre n'a rien à dire.
Autrement dit et pour reprendre la critique du début : "ils ne pourront jamais décider du futur de cette technologie".
Conclusion : Faire reposer des éléments essentiels de l'écosystème Linux sur Mono/C# est dangereux car c'est Microsoft le seul et unique décideur.
> Lire le journal (298 commentaires, moyenne: 2,8).
Vous avez demandé le commentaire #951417.



Et ?
Conclusion : Faire reposer des éléments essentiels de l'écosystème Linux sur Mono/C# est dangereux car c'est Microsoft le seul et unique décideur.
Clair que c'est dangereux, MS pourrait implementer un mot du langage qui formatte le systeme si c'est un Unix et cette feature apparaitrait alors automatiquement dans Mono sans qu'on puisse la stopper !
C'est tres rigolo la maniere dont tu parles d'un langage de programmation.
C'est pas un soft avec un format proprio hein, c'est un langage, t'as peur de quoi ? Qu'il contienne des gros mots dans ses mots reserves ?
La realite c'est qu'un langage n'a aucun moyen de menacer les softs qui sont ecrits avec, si le langage evolue dans un sens qu'on ne veut pas, ben on n'implemente pas les nouvelles features, rien de bien complique. Et je ne parlerais meme pas de l'idee que le langage est dangereux car developpe par MS, genre MS va ajouter des constructions de langage qui ne tournent que sur un OS donne ? Quel gag, tu me montreras comment ca se fait ca m'interesse...
Quand a etre en retard, peut-etre oui, et ? Ca rend le langage dangereux ? T'es super-presse d'avoir les dernieres features du langage et ne peut pas vivre sans ? Non.
Bref, que tu n'aimes pas C# car developpe par une boite que tu peux pas sentir et car le libre ne le controle pas soit, mais dire que le langage est dangereux, c'est une anerie pure et simple, a la limite du FUD.
[^]Re: Et ?
Je ne crois pas que l'auteur du journal ait voulu dire que le language C# soit dangereux.
Je pense qu'il a voulu dire que se baser sur cette technologie est dangereuse pour l'innovation étant donné que seul une société ait la main dessus.
[^]Re: Et ?
D'un autre côté, si c'était l'innovation qui était recherchée, on aurait pas implémenté le langage de microsoft, mais développé un langage totalement différent ...
Le but de mono n'est-il pas d'offrir la possibilité aux logiciels concu pour windows d'être compatible avec d'autres OS ?
[^]Re: Et ?
Des applications spécifique à gnome sont développer en Mono, Tomboy ne vient pas du monde window$
[^]Re: Et ?
Ben si tu commences à utiliser le bouzin ou à l'implémenter, apriori c'est pour continuer. Si ce n'était qu'une histoire de mots clés à ne pas utiliser, ça serait ok, mais là il y a les bibliothèques etc... (en plus mono ça implémente aussi .NET qui est une sorte de machine virtuelle non ?)
[^]Re: Et ?
Quel est le probleme avec les bibliotheques ? Mono est oblige de toutes les implementer ? Non, ils ont meme des bibliotheques specifiques Linux (Gtk, etc...), les librairies ne sont pas un probleme du tout.
Quand a la VM, ben elle est sensee implementer le langage, la VM est dictee par le langage et rien d'autre, bref pas un probleme non plus.
[^]Re: Et ?
Le langage de programmation n'est pas plus dangereux qu'un binaire. Ce qui est dangereux c'est d'un point de vue "politique", si je puis dire.
Quand on vois les trolls velues de "propriété intellectuelle" que radote le lanceur de chaise qui vous sert de CEO à propos du noyau linux, j'ose même pas imaginer ce qu'il pourrait sortir sur Mono.
Le wiki de l'association culture libre : collection d'œuvres sous licence art libre.
[^]Re: Et ?
Ben moi j'aimerais bien savoir, parce que C# est un standard ISO/ECMA, avec une couverture niveau implementation vis-a-vis des brevets, chose que Linux n'a pas.
[^]Re: Et ?
> est un standard ISO/ECMA
Parceque après le fiasco de votre format OOXML, tu parles encore de l'ISO et l'ECMA comme un gage de crédibilité ? Muhahahaha... je ris jaune en fait...
> avec une couverture niveau implementation vis-a-vis des brevets, chose que Linux n'a pas.
Mais mon garçon, si tu n'as pas envie de brevets, tu n'en déposes pas !
Ensuite, tu parles du noyau Linux ? Ou des logiciels libres en général ? Dans le second cas, il y a la GPLv3 qui est un bel outil contre les brevets tout de même...
Jabber ID : xmpp:Nyco@jabber.fr
[^]Re: Et ?
Dans le second cas, il y a la GPLv3 qui est un bel outil contre les brevets tout de même...
Ca c'est une vaste connerie... C'est pas parcque tu mets l'étiquette GPLv3 sur ton soft qu'il va se trouver à l'abris par magie.
MonoFrance
[+] [^]Re: Et ?
L'ISO c'est pas un gage de credibilite ? Ok, j'en deduis donc que ODF et Java ne vallent rien.
Eh oui mon cher, c'est trop facile de donner du credit a l'ISO quand ca t'arrange et l'enlever quand ils prennent des decisions qui ne te plaisent pas, c'est tout ou rien.
Quand aux brevets, t'as beau mettre la GPLv3 sur tout ce que tu veux, si ton code viole un brevet de MS, t'es toujours dans la mouise.
[^]Re: Et ?
C'est pas parce que l'ISO n'est plus crédible que tout ce qu'il dit c'est de la mer**.
L'ISO ne fait pas que de l'informatique et il a fait des trucs bien mais il n'est pas plus crédible que ça tout de même.
Pour juger de quelque chose sa standardisation ISO ne suffit pas.
Debian Sid
[^]Re: Et ?
L'ISO c'est pas un gage de credibilite ? Ok, j'en deduis donc que ODF et Java ne vallent rien.Aïe. Tu viens de tuer deux professeurs de logique formelle dans le monde.
On reprend.
Tu prétends que (a) "ISO/ECMA est un gage de crédibilité" implique que (b)"ce qui est certifié par ISO/ECMA est crédible" ce qui implique aussi que (c)"C# certifié ISO/ECMA est crédible"
Jusqu'à là, on est d'accord.
Ce à quoi on te répond que (d)"OOXML validé malgré les nombreuses malversations et les appels" => (¬a)(non a)"ISO/ECMA n'est un pas gage de crédibilité"
Là encore ok.
Et toi tu nous dit que puisque a=>b=>c et que d=>¬a, alors
d=>¬a=>¬b=>¬c. Ce qui est faux.
Si a=>b, alors ¬b=>¬a et non pas ¬a=>¬b.
C'est une erreur de raisonnement de base. Ça aurai bien fait rire platon à l'époque. Ou n'importe qui de pas trop faible d'esprit et qui a l'habitude des sophismes.
D'ailleurs pour approfondir un peu dans le sujet ISO/ECMA et manque de crédibilité, il y a pour moi deux périodes.
La période pré validation OOXML, où les normes sont relativement sûres et que j'accepte de considérer comme des normes.
La période post validation OOXML où les normes ne veulent plus rien dire. Elle peuvent aussi bien être validées pour une bonne raison que par des moyens peu éthiques.
Je n'ai pas connaissance de malversations avant cette histoire d'OOXML, mais si j'apprend quelque chose de ce style, je reverrais mon jugement, soit en déplaçant la limite temporelle définissant ce en quoi j'ai confiance ou non, soit en ne faisant plus confiance à l'ISO du tout.
[^]Re: Et ?
> c'est tout ou rien.
Mais le monde n'est pas binaire enfin !
Jabber ID : xmpp:Nyco@jabber.fr
[^]Re: Et ?
>> c'est tout ou rien.
> Mais le monde n'est pas binaire enfin !
«Seuls les Siths sont aussi absolu»
[^]Re: Et ?
C'est tres rigolo la maniere dont tu parles d'un langage de programmation.
On a l'expérience de Java sur la question. Ce ne sont pas des langages de programmation, mais des environnements de développements avec bibliothèques complètes. Et même une machine virtuelle, non?
En tant que langage de programmation, Java est très bien supporté par gcj. Ce qui pêche au niveau du libre, ce sont les bibliothèques et la vm. gcj+gnu classpath peine franchement à faire tourner des exemples basiques en java 5.0. J'ai même sous la main des exemples en awt pour lesquels il faut cacao > 0.99, aucune autre jvm libre ne parvenant à les faire tourner.
Résultat: pour faire tourner la pupart des gros programmes java sous Linux, il faut un java pas libre.
Avec C# il n'y a même pas de solution propriétaire complète pour pallier les manques éventuels de mono. Donc oui, être ainsi à la traine est une très mauvaise idée.
Non, rien
[^]Re: Et ?
> En tant que langage de programmation, Java est très bien supporté par gcj. Ce qui pêche au niveau du libre, ce sont les bibliothèques et la vm. gcj+gnu classpath peine franchement à faire tourner des exemples basiques en java 5.0.
En meme temps c'est 100% la faute des implémentations libres !
Tu peux contribuer à l'évolution du langage, de la VM et de la bibliothèque standard par le biais du JCP. En général les implémentations libres arrivent même à avoir accès au TCK gratos. Les JSR ressemblent beaucoup aux groupes de travail de l'IETF.
Après si GNU arrive 10 ans après la bataille et sans les moyens humains pour faire le boulot. Bin c'est de la faute de GNU. Si tu veux une implémentation libre tu bosses dessus...
Pour .Net le problème est différent puisqu'il n'y a pas d'équivalent du JCP à ma connaissance (et ce n'est pas dans la culture Microsoft). Mais pour C# c'est exactement le même problème qu'avec C, C++ or fortran. On implémente à partir des specs .|
[^]Re: Et ?
Mais pour C# c'est exactement le même problème qu'avec C, C++ or fortran. On implémente à partir des specs .|
Pas vraiment car les specs pre-publication des langages tel que C, C++ et fortran sont disponibles ce qui permet a tout le monde de savoir vers ou va le langage et de commencer les implementations, seuls des details restant a rajouter et/ou a corriger. De plus pour la definition de ses trois langages il n'y a pas qu'une seule boite qui decide mais tout un ensemble venant d'horizon diverse et varie (entreprise, universitaire etc).
[^]Re: Et ?
Résultat: pour faire tourner la pupart des gros programmes java sous Linux, il faut un java pas libre.Juste comme ça, Java est libre depuis un moment déjà...
[^]Re: Et ?
C'est un travail en cours et qui avance plutôt bien. Fedora a décidé que c'était bon, mais Debian a vraiment une mentalité d'intégriste tatillon et pour eux il y a encore deux trois bricoles à régler.
Voir ici pour les détails:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=138
Non, rien
[^]Re: Et ?
http://packages.debian.org/search?keywords=openjdk&searc(...)
[^]Re: Et ?
Bon d'accord. Accepté le 12 juillet, il m'avait échappé. D'autant qu'ils n'ont pas mis en place le build ppc, apparemment.
Non, rien
[^]Re: Et ?
Parce que Fedora est ouvert au non-libre ?
Je te rappelle que chez debian, il y a les parties contrib et non-free, donc on installe le java de SUN avec un simple apt-get !
Avant de sortir des grands mots d'exclusion, merci d'être un peu plus respectueux du travail des autres.
[^]Re: Et ?
Le openjdk6 de sun n'est pas celui inclus dans debian. Il a été modifié pour suivre les DFSG. Je présume que ça doit être aussi le cas pour celui inclus dans fedora, à moins que fedora soit moins exigeant que les DFSG sur la liberté du code. L'anonce; http://linuxfr.org/2008/06/20/24235.html parle d'openjdk6 et pas d'une version modifiée. D'où ma remarque. Qui n'a rien d'une exclusion. Faut pas s'énerver comme ça.
Le openjdk6 de Sun ne sera complètement libre qu'après la correction des bugs référencés par le lien ci-dessus. Qui étaient toujours présents dans le b10. Le b11 datant de la semaine dernière je ne sais pas ou ça en est. Sun espère un Openjdk sans problèmes de copyright pour la fin de l'année.
http://www.sun.com/software/opensource/java/faq.jsp#b4
Non, rien
[^]Re: Et ?
Résultat: pour faire tourner la pupart des gros programmes java sous Linux, il faut un java pas libre.
Avec C# il n'y a même pas de solution propriétaire complète pour pallier les manques éventuels de mono. Donc oui, être ainsi à la traine est une très mauvaise idée.
C'est quoi une solution "complete" ? Il y a une partie du framework qui est standardisee, et si je ne me trompe pas Mono supporte cette partie entierement, ce qu'il ne supporte pas c'est les librairies supplementaire developpees par MS, mais il a ses propres libs d'un autre cote.
Sans parler du fait que "etre a la traine" ne signifie rien du tout, soit Mono repond a tes besoins et tu l'utilises, soit non et tu ne l'utilises pas, mais il n'est pas dangereux, en tout cas pas plus que Wine ou Samba.
[^]Re: Et ?
Une solution complète, c'est le fait que je peut/pouvait utilisé n'importe quel programme java, respectant les spécification, sous linux sans problème
[^]Re: Et ?
Et avec Mono tu peux utiliser n'importe quel programme repondant aux specs ECMA/ISO sous Windows et sous Linux.
[^]Re: Et ?
Mais, pour la nouvelle version (car c'est bien de l'évolution de .net qu'on parle dans ce journal), il faudra attendre que l'équipe Mono réimplémente les modifications, ce qui peut mettre très longtemps en fonction de leur motivation/taille des modifications.
[+] [^]Re: Et ?
Mais mon cher, tu peux te joindre a Mono et aider, c'est pas ca la beaute de l'open-source comme vous vous plaisez a le repeter ?
[^]Re: Et ?
L'équipe de Mono est liée aux décision de m$ et n'importe qu'elle équipe doit attendre que les specs soient publiées avec la release de .net et donc ça prendra des mois, quel que soit la taille de l'équipe.
[^]Re: Et ?
Les specs ne sont pas publiees avec la release finale de .Net, mais bien avant lors de la beta. Ils ont donc du temps pour bosser dessus avant la sortie finale de MS.
[^]Re: Et ?
La beta est déjà un stade avancé, il ne peuvent sortir leur version finale que plusieurs mois après la version de m$. Eux aussi doivent sortir leur beta.
[+] [^]Re: Et ?
Et ?
T'as remarque que KOffice bouge bien plus lentement que OO ? Faut eviter ODF alors, KOffice n'arrive pas a suivre !
Mono n'a pas besoin de reimplementer tout ce que MS fait(car tout ne sera pas partie du standard), faire les memes erreurs, recommencer, etc... ils n'ont qu'a copier en lisant la doc/spec, ce qui est bien plus simple.
[^]Re: Et ?
Il n'empèche qu'il y aura quand même un décalage indéterminer dans les sortie des 2.
[^]Re: Et ?
Super, et ? On va eviter un standard car on n'est pas les plus rapides ? Quelle logique !
[^]Re: Et ?
Parce qu'on est pas sûr du temps qu'il mettront à être adapté sur linux s'il sera adapté (car une équipe peu se lasser de devoir suivre m$ sans avoir son mot à dire). Avec java on avait au moins la vm non libre de sun. Ici on a rien.
[^]Re: Et ?
L'equipe peut se lasser ? Tu me fais rire, c'est de l'open source mon cher, n'importe qui peut s'y joindre et bosser dessus.
Admets simplement que tu cherches des pous sur la tete d'un chauve.
[^]Re: Et ?
c'est un language pas un logiciel, tout les programmes codés en C# ne vont pas passer au C#4 et se rendre totalement incompatible avec les anciennes versions le lendemain de sa sortie. Et tout les logiciels libres codés avec les versions précédentes continueront toujours de fonctionner.
[^]Re: Et ?
Toi et le logiciel LIBRE, ça fait deux.
Prend Java, certe la situation n'est pas idéal, mais des membres de Red Hat et gcj participe. Ils ont l'information dès qu'elle est dispo. Ils peuvent participer à l'évolution. C'est n'est plus un team fermé de Sun qui définit Java, c'est tout le monde. Tout ceux qui veulent/peuvent participer et tout le monde et sur le même pied d'égalité.
Pour C#, ce n'est pas compliqué, c'est MS et que MS.
[^]Re: Et ?
Pour C#, ce n'est pas compliqué, c'est MS et que MS.
Super, et ? Ca rend C# dangereux en quoi ? Allez, un exemple concret et realiste
[+] [^]Re: Et ?
genre MS va ajouter des constructions de langage qui ne tournent que sur un OS donne ? Quel gag, tu me montreras comment ca se fait ca m'interesse...
Oui, on voit bien comment Internet Exploser interprète le HTML 3 et 4 et les CSS 1 (est ce que l'on peut considérer que les CSS 2 sont implémentées, partiellement?).
Je laisse aux lecteur le soin de tirer les conclusions adéquates.
[^]Re: Et ?
Fais seulement mon cher, donne moi une construction de langage qui ne peut etre implementee que sur un OS donne, j'attends.