Journal Des vertus pragmatico-économiques de la monoculture Microsoft

Posté par  (site web personnel, Mastodon) .
Étiquettes :
0
12
mai
2007
Un developpeur américain est selon ses propres dires passé du côté obscur de la Force en reconnaissant sur le site d'O'Reilly les qualités de la plateforma Microsoft C#, .NET et VSTO (Visual Studio Toolkit for Office).

Il met cela en parallèle avec la pléthorique offre du logiciel libre qui si elle est éthiquement une valeur fondamentale (à savoir la liberté de choix) n'en est pas moins un éventuel handicap dans le milieu professionnel au moment où l'on doit pragmatiquement évaluer et opter pour une solution.

Extrait :

Alors, quels sont les avantages d'une monoculture et pourquoi Microsoft gagne-t-il si souvent quand les gens doivent choisir une plateforme ? C'est en grande partie à cause de ce que la communauté open source voit comme une force mais que ceux qui essaient de faire leur boulot dans le monde réel voient comme une faiblesse. Nous célébrons la diversité de choix disponibles pour résoudre un problème et nous appelons cela la liberté. Les directeurs informatiques et les patrons de la branche informatique (IT managers et CIOs en anglais) y voient du chaos, de la confusion et des doutes.

Est-ce que je devrais utiliser iBatis ou Hibernate? XFire ou AXIS? Perl, PHP ou Ruby? Debian, Fedora, Ubuntu ou Suse? Si vous prenez la mauvaise décision vous pouvez perdre énormément de temps, comme nous l'avons découvert sur un projet récent où nous avons gâché une semaine à essayer de faire marcher AXIS2 pour un projet de service web pour finalement nous rendre compte que XFire était ce qu'il nous fallait.

Pour Monsieur Microsoft cette confusion n'existe pas. Vous utilisez ADO.NET, ASP.NET, C# et Windows. Ils fonctionnent tous, ils sont tous bien documentés du point de vue des besoins des développeurs, sans un seul "regarde le code source" désobligeant. A chaque fois que je pensais que j'allais être bloqué il y avait une douzaine d'articles expliquant comment faire exactement ce que je voulais faire, avec un exemple de code qui était à jour avec les versions du logiciel que j'utilisais et qui répondait vraiment au problème que je cherchais à résoudre.

Microsoft apporte le confort de ne pas avoir à choisir. Avoir le choix n'est pas toujours bon et la communauté open source offre parfois bien trop de manières différentes de plumer un canard, des choix qui sont pris plus par fierté, ego ou entêtement que par une authentique nécessité d'avoir deux alternatives différentes. Je ne montrerai personne du doigt, tout le monde connaît des exemples.

En fait, à moins que vous ne pensiez que je me sois tourné vers le Côté Obscur, le GROS problème avec une monoculture, c'est que vous vendez plus ou moins votre âme pour la stabilité d'un ensemble de choix défriché pour vous. En empruntant le chemin .NET, en gros, vous vous y perdez à tout jamais, et ce malgré Mono. Vous travaillerez toujours sur une plateforme Windows. Vous avez le joli anneau en or, mais Sauron tire les ficelles et vous fait danser. Pour beaucoup d'entreprises, celles qui n'ont pas besoin de se soucier du déploiement dans un environnement hétérogène, c'est un pacte qu'elles sont plus que prêtes à conclure.


- The Virtues of Monoculture
http://www.oreillynet.com/onlamp/blog/2007/04/the_virtues_of(...)

- Microsoft ou les vertus de la monoculture (traduction française sur le Framablog)
http://framablog.org/index.php/post/2007/05/05/Microsoft-ou-(...)

PS : Troll en retard du samedi matin.
  • # Minoritaire ?

    Posté par  . Évalué à 9.

    J'avouerais personnellement me sentir mieux en compagnie de personnes que l'idée de pouvoir faire des choix n'effraie pas, sans pour autant estimer nécessaire de faire le bonheur de ceux qui ne font pas de cauchemars à l'idée de devoir, peut-être, parfois, risquer de se retrouver à devoir faire des choix.
    • [^] # Re: Minoritaire ?

      Posté par  . Évalué à 5.

      Ce monsieur n'a pas tord sur beaucoup de points. ne pas faire de choix est un confort pour l'esprit, c'est clair.

      Mais il me vient une reflexion : Si les dissaïdors cherchent a ne plus decider alors a quoi vont ils servir ?
      • [^] # Re: Minoritaire ?

        Posté par  . Évalué à 4.

        Je ne voudrais pas tuer tes espoirs dans l’½uf mais ça fait un moment que ça fonctionne comme ça (à savoir que les dissaïdors ne décident pas, ou, pour le peu qu’ils décident, cherchent à éviter de décider).

        Ce n’est pas qu’une boutade : la phrase « Personne ne s’est jamais fait virer pour avoir choisi IBM. » date de l’époque hégémonique de big blue, ce qui fait un bail…
  • # Il n'y a pas de troll

    Posté par  . Évalué à 2.

    Tout est dit...

    Cet homme est un humoriste qui a mal tourné. Ceci étant dit, je le vois bien faire de bonnes blagues avec Steeve Ballmerog.
    • [^] # Re: Il n'y a pas de troll

      Posté par  . Évalué à 4.

      "A chaque fois que je pensais que j'allais être bloqué il y avait une douzaine d'articles expliquant comment faire exactement ce que je voulais faire, avec un exemple de code qui était à jour avec les versions du logiciel que j'utilisais et qui répondait vraiment au problème que je cherchais à résoudre."


      J'espère que Microsoft l'embauchera un jour.
      • [^] # Re: Il n'y a pas de troll

        Posté par  (site web personnel) . Évalué à 5.

        oui, bin cette phrase que tu cites c'est bien la seule qui me ferait passer au libre : parce que bon, quand tu trouves la doc' (parce que ce n'est pas tout à fait exact : il n'y en a pas pour tout ou alors pas forcément compréhensible ou complète non plus, faut être réaliste) et que la fonctionnalité que tu souhaites utiliser est soit bugguée, soit absente, même si elle est dispo dans un autre produit, bin tu l'as dans l'os, tu fais sans. Avec du libre, tu as la possibilité de rajouter cette fonctionnalité ou de patcher pour corriger un bug, ce qui peut permettre de faire avec la fonctionnalité (ça a un coût). C'est toute la différence entre le "possible" (apporté par la liberté) et le "pas possible" (vous attendrez la prochaine version, osef, achetez le nouveau produit, celui-là est abandonné).

        Clairement, sur un projet utilisant du libre, prévoir une intégration plus lourde dès le début est un avantage : si tout marche "comme" avec du proprio, bin tu as annoncé les bons coûts à ton client, si tu as besoin de faire un ajout (un tout petit peu de dév' en plus de l'intégration standard du produit) bin t'as déjà prévu le coup et tu ne rentres pas dans des discussions houleuses avec ta MOA... et juste tu le fais. Ça marche aussi même si tu as un éditeur : cela peut être un travail concerté plutôt qu'un discours de sourd "bug / évolution" quand visiblement l'éditeur ne veut pas le faire...
  • # Chasse aux canards

    Posté par  . Évalué à 5.

    La communauté open source offre parfois bien trop de manières différentes de plumer un canard

    Pan ! Pan !
  • # ...

    Posté par  . Évalué à 9.

    PS : Troll en retard du samedi matin.
    je vois ca :

    Est-ce que je devrais utiliser iBatis ou Hibernate? XFire ou AXIS? Perl, PHP ou Ruby? Debian, Fedora, Ubuntu ou Suse?
    Python et mandriva ne sont pas des solutions pour le décideur pressé.

    PS :
    Pour Monsieur Microsoft cette confusion n'existe pas. Vous utilisez ADO.NET, ASP.NET, C# et Windows. Ils fonctionnent tous, ils sont tous bien documentés
    lol, faudra m'expliquer pourquoi la seul fois que j'ai eu a toucher des techno MS, j'ai eu le choix entre visual basic 5 et visual basic .net (incompatible entre eux), plusieurs moteurs pour accéder aux bases de donnée, et de la documentation obtenu a force de recherche sur des moteur sde recherche (disant, ceci est bugé, il faut effectuer un contournement) et encore il faut filtrer toutes les infos du style je sais pas ce que je fais, je sais pas comment ca marche, mais en tapant des trucs (copier a droite a gauche), j'arrive a obtenir un truc qui plante pas.
  • # et moi j'ai vu la Vierge

    Posté par  . Évalué à 6.

    "ADO.NET, ASP.NET, C# et Windows. Ils fonctionnent tous, ils sont tous bien documentés du point de vue des besoins des développeurs" ?

    voici ce qu'a vécu à ce sujet un certain Joel Spolsky (Joel on Software, CityDesk) :

    http://www.joelonsoftware.com/articles/fog0000000250.html

    qu'il conclut par un laconique "Today, you need to know how to work with libraries of thousands of functions, representing buggy code written by other people."

    dès lors que vous essaierez d'utiliser cette plateforme pour de vrai, vous rencontrerez ce genre de petits gags par dizaines... et on a d'ailleurs typiquement les mêmes en Java, mais chut, hein.

    ah, et la documentation, MSDN, comment dire... heureusement que Google est là pour l'indexer. allez zou, il le dit mieux que moi :

    http://www.regdeveloper.co.uk/2007/03/08/msdn_gloom/
    • [^] # Re: et moi j'ai vu la Vierge

      Posté par  . Évalué à 9.

      Comment je ne peux que confirmer, reconfirmer et surreconfirmer...

      À chaque fois que j'ai du me plonger dans MSDN, ça a été un enfer sans nom pour comprendre quoi que ce soit... Vous avez vu le film cube? les gars qui progressent de pièces en pièces sans avoir l'impression d'avancer d'un pouième? MSDN, c'est exactement ça... vous cliquez sur tous les liens, vous vous baladez de fonction en fonction, vous revenez à l'index, vous essayez de trouver une description globale, et si vous tombez dessus, elle ne vous est d'aucune aide, alors vous cherchez des exemples de code (ahahah et pourquoi pas en GPL pendant qu'on y est), finallement vous vous rabattez sur google, et là vous avez la sérieuse impression d'être le premier connard à vouloir utiliser la fonction en question... alors vous revenez à la doc des fonctions, en vous disant que cette fois ci vous allez mieux comprendre, ben nan, perdu, vous vous sentez toujours aussi con qu'il y a 10mn, finallement, après divers tatonnements et autant de crashs, vous reussissez à écrire votre bout de code qui n'est finallement pas beaucoup plus compliqué qu'en utilisant n'importe quelle API et vous vous demandez : comment est ce possible d'avoir une doc aussi pourrie? comment toute cette bande d'enflures d'ingénieurs MS à pu passer autant de temps à écrire autant de texte vide de signification sans se questionner 10s sur l'inutilité de leur boulot?

      Désolé, ce commentaire n'apporte rien par rapport aux précédants, mais ça m'a vraiment fait plaisir de cracher ma bile. On peut sans doute trouver plein d'avantages aux outils MS, mais cette doc MSDN... comment dire? c'est une sorte de farce monstrueuse...
    • [^] # Re: et moi j'ai vu la Vierge

      Posté par  (site web personnel) . Évalué à 5.

      Pour le peu que j'ai eu à travailler avec la doc MSDN, en c++ pour l'anecdote, je me suis retrouvé avec une doc assez complète à l'index assz douteux, il faut le reconnaitre, mais surtout écrite par un ingénieur surement hyper fort mais incapable de vulgariser. La doc MSDN est en générable imbitable. C'est son plus grand défaut.

      La doc Java, bien que mieux structurée, est à peine mieux, on doit quelque fois tirer le vers du nez à google....

      Non, la meilleur doc que j'ai jamais rencontré et distançant toutes les autres, et de très loin est, je vais me faire tapper dessus, celle de Windev.
      EH oui ça peut paraître étonnant, mais cette environnement de dev ultra-propriétaire et très bugué est doté d'une doc quasi parfaite, complète et limpide.


      Par exemple quand on cherche les fonctions opérant sur chaîne, on tombe déjà sur un tableau avec le nom de la fonction, et ce qu'elle fait. C'est betement stupide, mais j'ai rarement vu ça ailleurs.
      Ensuite, lorsque l'on va voir la fonction en détaille, on a :
      - un exemple en situation
      - une description de la fonction
      - le détail de tous les paramètres, chacun expliqué
      - des remarques éventuelles.
      - un lien "voir aussi", très intelligent qui permet de naviguer et souvent de trouver ce qu'on cherche.

      C'est très bien pensé, parce qu'en caricaturant, ya deux types de gens : les inductifs et les déductifs; Les premiers comprennent avec un exemple, les seconds avec une explication formelle.

      Les docs logiciels sont beaucoup trop arides à mon goût, et ça fait fuir pas mal de gens à mon avis.

      Je pense que les langages dont les libs sont bien documentés auront un net avantage sur les autres.
      En fait il faut pour un langage, deux types de doc pour une même lib :
      - une doc aride qui reprend toutes les autres, du style http://smarteiffel.loria.fr/libraries/index.html
      - une doc style windev comme décrite plus haut, pour les principales libs les plus utilisés.

      De la sorte, le débutant commence avec la seconde, se fait la main, et ne reste pas bloqué des heures, et le dev expérimenté dispose d'une doc complète qui lui suffit.

      Une base de connaissance bien structurée en plus et c'est parfait.

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

      • [^] # Re: et moi j'ai vu la Vierge

        Posté par  (site web personnel) . Évalué à 7.

        Dans les langages biens documentés, un les bats tous...

        Il s'agit de php.

        La doc est bien faite, traduite, il y a des références aux autres fonctions utiles, etc...

        Sans parler des exemples de code dans les commentaires qui sont parfois aussi utile que la doc de la fonction.

        Bon après les règles de nommage des fonctions php ça sux grave (surtout la portion pré-historique non préfixée).

        Pour les glandus qui vont encore dire que php n'est pas un langage, allez faire un tour sur le site de zend.

        J'y ai trouvé un article très bien qui explique que php est auto-appris en regardant le code des autres.

        Malheureusement il y a très peu de code objet de bonne qualité qui utilisent toute la puissance de php (singleton, variable statique, héritage, factory, etc).
  • # [Troll] Le libre, c'est comme le PS...

    Posté par  (site web personnel) . Évalué à 5.

    ...Ca n'arrive pas à prendre le "pouvoir", on lui dit pourquoi, mais il ne veut pas entendre, et continue comme avant, en se plaignant qu'on ne le suit pas.

    (Et dans les deux, heureusement qu'il y en a qui essayent de faire bouger les choses, petit à petit...)

    PS : c'est un réaction à propos des commentaires du journal, pas sur le journal en lui-même.
    • [^] # Re: [Troll] Le libre, c'est comme le PS...

      Posté par  . Évalué à 3.

      Qu'on le veuille ou non, ce bon monsieur marque un point.
      En fin de compte un programmeur dans une entreprise veut que ça fonctionne vite. Et quand on fait du libre, ben c pas toujours gagné.

      C'est quand-même super sympa de pouvoir utiliser tous les programmes que les utilisateurs utilisent et les faire intéragir. Mon expérience m'a montré que parfois, au lieu de se casser la tête à faire une belle interface, il suffit de créer un joli fichier excel et avec l'API lire le tout et ça fonctionne. Et bon l'interopérabilité entre ses propres produits est bonne. C'est même souvent ce qui rend les produits Microsoft si lourds et en retard.
      La preuve de ce problème est l'important des standards de toute part dans le monde du libre. Il faut absolument qu'on arrive à faire en sorte que les API ne soient le moins possible spécifique à un programme mais plutôt à des types de programmes. Genre si on pouvait interagir avec un word processor quelque soit le programme que la personne utilise. Ben ça ça ferait mal. Et c'est pour cela que Microsoft a tellement peur des services Web. C'est parce que les services web choisissent ce qui est installé et ne se cassent pas la tête de quel programme tu utilises. Ils offrent le service et c tout.

      Bref le problème existe. Visual Studio, qu'on le veuille ou non, est bien foutu. Microsoft s'est donné de la peine pour ses langages de prog même si l'importance de programmer indépendamment de l'architecture n'est pas un énorme problème quand on programme sous Windows (je me trompe?).

      Heureusement des IDE le libre en a des supers aussi sans oublier que le libre n'est pas encore homogène comme il le devrait mais tout converge vers des standards bien définis et des programmes stables et de bonne qualité. Bref Linux devient une plateforme de développement de plus en plus intéressante et j'espère que bientôt développer une application pour Linux sera aussi facile que sous Windows.
  • # .

    Posté par  . Évalué à 8.

    Je suis d'accord avec certains points : l'abondance de choix pas tous matures est de temps en temps un handicap, mais il y'a point sur lequel je ne suis pas d'accord :
    Pour Monsieur Microsoft cette confusion n'existe pas. Vous utilisez ADO.NET, ASP.NET, C# et Windows. Ils fonctionnent tous, ils sont tous bien documentés du point de vue des besoins des développeurs, sans un seul "regarde le code source" désobligeant. Quand ça marche bizarrement et qu'il n'y a pas de réponses sur les forums MS, et bien à ce moment là j'aimerai bien avoir le code source...
  • # Le proprio est un choix

    Posté par  . Évalué à 2.

    Quand on se retrouve avec du Krosoft dans sa boite, c'est qu'on a répondu aux questions suivantes :
    - Libre ou propriétaire ?
    - Exchange ou Notes ?
    - MS Office ou Lotus ? (oui bon là c'est ptetre un peu vieux)
    - ...

    Enfin bref, dire que le propriétaire nous exonère de tout choix, c'est limite quoi.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.