Le développement open-source souffre-t-il d'une surabondance de choix ? C'est ce que pense un expert en Ruby

Le 19/08/2010, par Idelways, Coordinateur publications
Kevin W. Gisi est un développeur et activiste open-source américain, expert dans le langage Ruby et les standards Web.

Dans un billet de son blog, intitulé « Alors vous voulez devenir un développeur Ruby » il pose sous forme d'un récit satirique, le problème de la surabondance de choix dans le langage Ruby.

Une situation qu'on retrouve dans d'autres communautés open-source, comme Java.

Trop d'implémentations, trop de frameworks, trop de versions, trop d'adaptateurs de bases de données, trop de librairies qui font à peu de chose près la même chose...

Cette situation peut créer de la confusion chez les débutants en programmation ou les développeurs confirmés qui souhaitent s'initier à de nouveaux langages.

Elle peut augmenter la courbe d'apprentissage et rendre difficile la prise de décision.

Entre une richesse qui fait leurs force ou un frein à l'adoption de ces technologies, à vous de nous le dire ?
Pensez-vous que les technologies open-source souffrent d'une surabondance de choix ?

Source : Blog de Kevin W. Gisi

Les rubriques (actu, forums, tutos) de Développez
Retrouvez le dossier complet de la rédaction


Poster une réponse Retrouver la discussion sur le forum

Avatar de Killing Joke Killing Joke
Membre actif
le 19/08/2010
Franchement je suis particulièrement d'accord avec le constat qu'il y a surabondance de librairies qui font presque la même chose, voire carrèment la même chose, et que la plupart des ces librairies sont quand même parfois "mal finies" (bugguées, fonctionnalités manquantes, manques de documentations).

Il n'y a qu'à voir le nombre de mécanisme pour travailler avec du XML en Java. Alors oui certains mécanismes sont complètement aux antipodes des autres et ça c'est bien, ça permet à tout le monde de prendre la façon qu'il préfère selon ses affinités, ou à avoir des choses taillées pour telle ou telle situation (perso., je suis assez fan des mécanismes par annotations de SimpleXML). Pareil pour les ORM, les tas d'implémentations de JPA, etc. (je ne suis pas trop fan d'Hibernate, qui est loin d'être la panacée pour moi). Genre l'autre jour je cherchais une librairie pour gérer de l'OFX en lecture / écriture, il n'y en a pas 36 mais il y en a quand même quelques unes, donc aucune parfaitement aboutie. Dommage. J'ai failli me refaire la mienne ... (et finalement non).

Après pourquoi il y a des projets en double ?
a) parce qu'il y a des vrais divergences de fonctionnement (JDOM != SimpleXML, SpringJDBC != Hibernate) ;
b) parce que les équipes ne savent pas ce qui existe : c'est franchement la jungle pour avoir un "état de l'art" sur tel ou tel sujet, et beaucoup de projets, même s'ils sont sur "sourceforge" / "google code" / etc. restent dans l'obscurité et n'émergent pas sur une recherche rapide ;
c) parce que les informaticiens ont souvent un égo démesuré ... je plaisante, mais n'empêche, souvent pour certaines choses on préfère faire "par soi même" et "à sa sauce" que de reposer sur quelque chose de déjà fait qui ne conviendra quoi qu'il arrive pas à 100% ;
d) parce que participer à des projets existants, malgré l'open source c'est souvent laborieux voire impossible : j'ai déjà apporté des extensions à certaines librairies, que j'aurais bien aimé voir commitée / ajoutée, et ben franchement, c'est la croix et la bannière (souvent : même pas de réponses) ;
Avatar de Idelways Idelways
Coordinateur publications
le 19/08/2010

Citation:





Envoyé par rurouni alex
Voir le message

Sauf qu'il ne parle absolument pas du cas de l'Open Source mais de celui de Ruby...



En effet, l'auteur parle du cas Ruby, qui est open-source soit disons passant, mais ça nous a semblé plus intéressant de généraliser le débat aux autres technologies open-source où il n'y a pas de licences restrictives ou une entreprise derrière pour canaliser les efforts (le cas du .NET par exemple)
Avatar de blbird blbird
Membre confirmé
le 19/08/2010

Citation:





Envoyé par csperandio
Voir le message

Mon exemple le plus frappant que j'ai vu est un projet nait dans ma boite il y a quelques années par une jeune équipe Java (jeune dans le sens d'inexpérimentée dans ce langage). Ils ont l'idée pour la persistence des objets dans un BDD de faire leur propre framework. Alors qu'Hibernate existait, était stable et répondait aux besoins. Le problème c'est que leur framework est un veau, difficile à maintenir, à utiliser et n'apporte aucune nouvelle idée.



J'ai connu exactement la même chose mais en DotNet!

Concernant l'article, il y a avantages et inconvénients à la multiplicité des frameworks en Java (ce que je confirme fortement, et je pense que c'est lié au côté open-source important depuis de nombreuses années) :

- Avantages : adaptation fine possible des couches d'un dev. au besoin, multiplicité des idées qui fleurissent (souvent gratuits!)

- Inconvénients : complexité de choix, complexité de mise en place, possible arrêts/abandons de framework inopinés

On ne peut pas tout avoir.
Avatar de B.AF B.AF
Membre Expert
le 20/08/2010
Que ce soit Ruby ou Java, ce que signifie ce post, c'est que sans une vision produit, une techno devient vite un grand n'importe quoi.
Même IronRuby, qui est bien, la doc est un cataclysme.

Je veux bien admettre que ce soit open source, mais je ne comprends pas le raisonnement d'un dev qui fait quelque chose et ne pond pas la doc nécessaire à ce que les autres s'en servent...
Avatar de randriano randriano
Membre chevronné
le 25/08/2010
Désolé si j'ai pas lu tous vos messages mais moi je me demande est-ce qu'il y aura une mondialisation des langages informatiques, il y en a trop, il ne devrait rester que quelques uns.
Bon c'est un avis, il y aura ceux qui disaient que tout le monde est libre de créer son langage, c'est vrai mais au niveau humain, il y a par exemple l'anglais qui s'impose
Avatar de fkylol fkylol
Futur Membre du Club
le 27/08/2010
Quand des librairies et des outils en nombre raisonnable émergent "naturellement", c'est le signe d'une certaine maturité. Si on veut pouvoir bénéficier des avantages des langages récents, c'est forcément au prix d'une étude approfondie d'un existant foisonnant et mal organisé, avec le risque de faire le mauvais choix et de perdre un temps considérable.
Avatar de Drawingrom Drawingrom
Membre confirmé
le 28/08/2010

Citation:





Envoyé par randriano
Voir le message

Désolé si j'ai pas lu tous vos messages mais moi je me demande est-ce qu'il y aura une mondialisation des langages informatiques, il y en a trop, il ne devrait rester que quelques uns.
Bon c'est un avis, il y aura ceux qui disaient que tout le monde est libre de créer son langage, c'est vrai mais au niveau humain, il y a par exemple l'anglais qui s'impose



Je pense qu'aujourd'hui quand même, il y a des langages bien plus représentés que d'autre. Tu as plus de chance de trouver un projet en Java qu'en vala ou en Erlang.

Après, vient aussi le fait que certains langages sont plus adaptés que d'autre pour un besoin donné (embarqué, web,...).

Le foisonnement de langages c'est quand même intéressant, intellectuellement, non ?

Mais c'est vrai, pour en revenir au sujet, l'offre open source est souvent déroutante, que ce soit dans les framework pour le dev, comme les applis.

Il faudrait interdire les forks, vous ne pensez pas ?
Avatar de randriano randriano
Membre chevronné
le 30/08/2010

Citation:





Envoyé par Drawingrom
Voir le message

Le foisonnement de langages c'est quand même intéressant, intellectuellement, non ?



Je pense qu'il y en a trop. De plus, il y a concurrence, par ex chaque grande firme n'utilisera jamais le langage d'un concurrent, il va en créer
Avatar de davcha davcha
Membre Expert
le 30/08/2010
Il n'y en a pas forcément trop, en fait.

Imaginons qu'il n'y ait que quelques langages, disons une dizaine. Une dizaine qui soient plus ou moins spécialisés dans un domaine de l'informatique : embarqué, gestion, gpu, etc...

On court le risque de se retrouver avec davantage de langages dans la situation du C++ : un langage dont l'évolution est pénible, et les fonctionnalités trop disparates parce que les acteurs d'influence veulent tous tirer la couverture pour eux. Et on obtient un résultat dont personne n'est réellement satisfait : le moins mauvais compromis.

Avec la pléthore de langages, la possibilité laissée aux gens de développer leur propre langage, on contourne ce problème.
Avatar de nicorama nicorama
Membre Expert
le 07/09/2010

Citation:





Envoyé par Drawingrom
Voir le message

Le foisonnement de langages c'est quand même intéressant, intellectuellement, non ?



En Javascript, il y a répétition entre Prototype, Dojo et Jquery, voire Ext-JS.

Par contre, en Java, je suis bien content qu'un pettit Groovy/Grails et même GWT puisse percer et apporte vraiment quelque chose.
 
 
 
 
Partenaires

Hébergement Web