• [^] # Re: Mono SUCKS

    Posté par . En réponse à la dépêche Sortie de Mono 1.0 beta 1. Évalué à 4.

    Et encore un beau troll tout poilu ;-)

    Bon aller, je vais essayer de répondre à qqe points en expliquant clairement et calmement certaines choses.

    En premier, un ancien post que j'ai fait pour rappeler certaines base nécessaire afin d'éviter les trolls autour de Java, merci d'y jeter un oeil ;-)

    http://linuxfr.org/comments/406097,1.html(...)

    >Une application .Net n'utilisant pas les APIs spécifiques à Windows a de grandes chances d'être utilisable avec Mono.

    C'est quoi l'estimation de la probabilité d'un "grande chance" ? Il est ou le test résultat des tests de compatibilité avec .net ? Tant que MS ne livrera l'intégralité de ses specs, et des tests de compatibilités (à la mode du TCK de Java). Personne ne peut parier sur le caractère hypothétique d'une solution !

    En clair, Mono n'est pas compatible .net ! Et l'inverse n'est pas vrai non-plus. Mono est simplement un sous ensemble non-précisé de .net sur lequel une iterroperabilité a été envisagée. Sur cet ensemble se pose le problème de l'évolution dans le temps (améliorations du périmètre et régressions fonctionnelles). Ainsi que les effets de bords dus au changement d'une spec sur laquelle Mono n'a aucun regard (ni contrôle, ni vérification, ni vision claire).

    > À l'heure où SUN fait la sourde oreille pour placer Java sous une licence plus acceptable, Mono commence à apparaître comme un challenger intéressant pour le développeur de logiciel libre et/ou open source.

    "une license plus acceptable", si ça c'est pas du FUD ;-)
    Je te propose de relire ce qui a été expliqué sur Java sur le lien ci-dessus. Pour rappel, oui on peut faire une version Opensource de Java et la FSF y travaille le projet s'appelle Classpath ! Et Non, pour l'instant la versions de Sun à savoir la RI du J2SE, n'est pas opensource même si les sources sont publiquement disponible (sous licence JSPA/RI ou JCSL si ma mémoire est bonne).

    Quand à Mono, "challenger" de Java, cela ferait même sourire à Redmont. Car même , si Mono arrive à avoir un jour le dixième de projet opensource de référencé sur sourceforge ou sur Apache dont Java dispose. Se posera toujours le problème du suivit des évolutions de Mono par rapport à son « modèlée ». Il illusoire de penser écrire qqch de compatible avec un spécification mouvante et non définie publiquement. Tout comme il est illusoire de penser que MS laissera Mono arriver à un niveau de compatililité tel qu'il mettrait en danger l'interdépendance entre .net et windows ;-)

    De plus Sun a prouver (sans le vouloir) qu'assurer la portabilité inter-plateforme du binaire est quelque chose de très délicat qui nécessite une spécification fine et complète de l'ensemble de la plateforme virtuelle. Ou sont les specs de .net ? Pour rappel, mise à par les quelques pourcentage (CLI/CLS/langage...) que MS a bien daigné donné à ECMA pour s'assurer un alibi d'ouverture, l'ensemble des API restent propriétaires et contrôlés intégralement par MS.
    A l’opposé coté Java chaque Spec est contrôlée par un groupe de surveillance multilatéral (éditeurs commerciaux, organisations à but non lucratifs, groupes d’utilisateurs, …). Et même si sur les specs les plus important de Java Sun reste le chef d’ochestre, une fois le TCK publié il ne peuvent plus exercer aucun contrôle sur les implémentations effectuées. Car seul le TCK est juge de la bonne implementation d'une API. Ici on ne dépend pas du bon vouloir d’un tiers certificateur ;-)

    Pour rappel la plateforme Java, tout est entierement disponible et sans contrapartie du moment que tu es une organisation à but non-lucratif.

    > .Net est un framework élégant et Mono permet de l'employer sur plusieurs plate-formes.

    Non, c'est faux ! Mono permet de faire fonctioner certain programmes .net particulièrement conçus pour fonctioner sous Mono. Car la portabilité complète n'etant pas assurée, on ne peut présager de la portabilité à posteriori.

    >- Mono n'est pas aussi complet que l'implémentation Microsoft

    CQFD ;-) Mais j'aurait dit "Mono n'implemente pas entièrement .net".
    Certains morceaux "facheux" genre COM+ ont été oubliés ;-)
    Adieu donc les plateformes à haute dispobilités pourtant incontournables dans du developpement coté serveur.

    >- on peut craindre que le fait que Mono implémente les mêmes APIs que Microsoft soit une épée de Damoclès ...

    Ce que l'on peut surtout craindre, c'est que les developpeurs du monde libre attirés par les lumières se retrouvent piégés par VS.net ;-)
    Car il faut être clair, aucun outil adapté à .net "n'existe" en dehors des outils de MS (on mettra entre parenthèse les outils de borland, dont la strategie .net et leur implication sur le long terme dans cette plateforme n'est pas encore bien établie).

    Partir sur Mono c'est avant tout faire une fleur à MS en favorisant une technologie entièrement controlée et dirigée par MS.

    Enfin, quelques points divers évoqués dans les fils:

    - La performance, la différence entre les perfs d'exécution d'une JVM et de la VM .net (celle disponible sur WindowsXX) sont négligeable. Sur windows, la VM de MS prend l'avantage car elle effectuée des préchargement et des optimisations au lancement (optimisations dont certaines ont été remarquées par le securityfocus et indiquées comme faille potentielle de l'architecture de sécurité). Mais sur ce point les dernieres JVM comblent plus que largement la différence. On attend avec impatience que MS autorise ses partenaires .net à publier des vrais comparatifs Java/.net sans contrôle préalable par MS des résultats et conclusions ;-)

    - Les fonctionnalités : ont peu sans choquer personne dire que Java et .net sont à peu prés au même niveau et se suivent de très près. La force de .net tient dans le rouleau compresseur MS, qui est capable d'écraser tout rival commercial devant lui en utilisant un compte en banque illimité. Pourtant la force de Java est dans sa communauté opensource riche et dynamique qui invente constamment de nouveaux concepts et relance en permanence le débat sur la pertinence de tel ou tel élément.

    Pour finir, je dirais simplement que l'innovation ce n'est pas se contenter de copier ce que fais le voisin même si il le fait bien. Où est l'innovation dans Mono ? Quelle est son utilité face à un éditeur qui peut à tout moment changer la donne ? On peut regretter de voir tant d'heures de perdu, pour un projet dont la viabilité ne peut être assurée à long terme. Alors qu'a l'opposé un projet comme Classpath à besoin de beaucoup de ressources pour fournir lui une implémentation GPL intégrale d'une plateforme complètement définie et qui assurerait une réelle suprématie aux logiciels libres.

    Ainsi, il y a des fois ou je regrette les choix purement politiques de certains car je pense qu'il manque d'ambition et de perspective pour le libre. Et je ne peux que m'interroger sur les réelles raisons qui poussent ses choix d’autres ...

    http://www.theregister.co.uk/2002/02/05/explain_yourself_miguel_dem(...)

    :-)