Pourquoi les développeurs entrent-ils dans une guerre des tranchées
Lorsqu'il est question de langage de programmation ?

Le , par Stéphane le calme, Chroniqueur Actualités
Dans de nombreux forums de développeurs, vous avez sans doute constaté qu’il arrive souvent que de nombreux professionnels défendent bec et ongles un langage de développement en particulier, l’érigeant presqu’en incontournable. Par exemple sur des forums comme ceux de Quora, la question de savoir « quel langage de programmation devrais-je étudier » a suscité de longs débats qui se sont transformés en guerre des tranchées. Il arrive souvent qu’il n’y ait pas beaucoup de consensus. Nous pouvons citer plusieurs exemples sur la façon dont les débats peuvent très vite dégénérer. Python contre Java, Java contre Ruby, plus récemment Objective-C contre Swift, les langages ont leurs adeptes qui les défendent farouchement pour certains.

Des débats qui pourraient sembler bizarres à des observateurs non-techniques dans le sens où le langage de programmation est totalement immergé tandis qu’une application est utilisée.

Une raison qui pourrait expliquer cette attitude serait que les développeurs veulent choisir un langage avec des perspectives d'emploi solide ainsi que des salaires élevés, ou alors garder leurs compétences à jour pour tout emploi futur. Une autre raison serait que les développeurs, en particulier ceux qui présentent un esprit plutôt académique, apprécient la nouveauté et le défi de l'apprentissage d'un nouveau langage de programmation ainsi que de ses forces et ses manquements. Pourtant, la plupart d’entre eux estiment que chaque langage de programmation représente une philosophie autant que le fait un produit.

« La plupart des gens sont émotionnellement très attachés à eux », avance Paul Jansen, qui dirige l’Index TIOBE, un baromètre relativement populaire de la popularité des langages de programmation et qui est surveillé de près par de nombreux développeurs. « Les différences entre la plupart des langages sont petites et la plupart de ces différences sont juste une question de goût » continue-t-il. Pourtant, malgré ces « petites différences » qu’il évoque, les développeurs continuent de se tenir informés sur les « meilleurs langages de programmation », que ce soit sur l’Index TIOBE ou le baromètre du cabinet d’analyse Red Monk, à la même fréquence que les personnes qui observent les fluctuations de la bourse, essayant de savoir dans quelle direction le monde est en train d’aller.

Bien entendu, les développeurs ne sont pas toujours libres de choisir. Parfois, ils doivent travailler sur un projet que quelqu'un d'autre a commencé, ce qui signifie que le choix est déjà établit. D'autres fois, la contrainte temporelle ne permet pas d’apprendre quelque chose de nouveau. Il arrive également que la tâche assignée soit de développer une application rapide et non une application fiable.

Mais « même là il y a toujours plusieurs alternatives qui sont en concurrence les unes avec les autres. Donc, il n'y a pas un seul meilleur langage de programmation. En conséquence, les débats sur les meilleurs langages de programmation sont la plupart du temps seulement des guerres de religion », estime Jansen.

Deux autres phénomènes connexes y participent :

Tout d’abord, notons l’importance de la communauté. Pour illustrer ce propos, prenons le cas d’un développeur néophyte qui prend par exemple des solutions de ses problèmes de codage dans la communauté Google Go. Il peut devenir un participant actif dans cette communauté. Ce qui signifie que, s’il fait face à un problème, vers quel langage il se tournera en premier ?

« La motivation, la tolérance à la frustration, le soutien social et l’accès à l’expertise sont plus importants que le langage lorsque vous êtes sur la voie de devenir un programmeur », a avancé le développeur Jesse Farmer sur Qora. Le support d'un tas de professionnels expérimentés, compétents, qui sont assez aimables pour vous faciliter la compréhension d’un langage de programmation en vous aidant à résoudre vos problèmes est donc un avantage. Cependant, un effet secondaire pourrait être l’altération de votre vision des choses. Si la plupart du temps vous traînez avec les développeurs Go, par exemple, alors il vous sera progressivement difficile de voir une solution à un problème qui ne concerne pas Go.

Ensuite, les développeurs veulent épargner une dépense en temps et en énergie dont ils auraient besoin pour l’apprentissage d’un nouveau langage. Un peu comme dans les langages qui nous servent à communiquer entre nous (Français, Anglais, Espagnol, etc.), certains parviennent facilement à apprendre de nouveaux langages tandis que d’autres non, mais il faut quand même fournir des efforts. Et si un autre langage, qui viendrait objectivement combler les lacunes d’un précédent, arrivait sur le marché, cela pourrait signifier que l’autre va devenir obsolète. Le résultat se traduit par un certain refoulement du nouveau langage. « Alors tout le monde défend son langage et prétend qu’il est le meilleur afin de s’assurer que son investissement ne soit pas totalement perdu » avance Jansen.

Source : billet Jesse Farmer (Qora)

Et vous ?

Qu'en pensez-vous ? Qu'est ce qui peut expliquer cette attitude ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Cvanhove Cvanhove - Membre du Club https://www.developpez.com
le 19/06/2015 à 8:40
"Pourquoi les développeurs entrent-ils dans une guerre des tranchées?"

C'est simple : L'esprit humain et l'expérience

J'entend par là le fait que chaque individu progresse dans sa vie de différente manière et c'est pour cela que les goûts de chaque personne sont différents!
Couplez à cela l'expérience de chacun et vous comprendrez pourquoi il est impossible d'avoir un et un seul avis dans quelques domaine que ce soit. Par expérience j'entend à la fois l'expérience acquis qui permet de faire la part des choses dans ce que nous CONNAISSONS et la manque d'expérience qui ne nous permet pas de prendre en considération ce que nous ne CONNAISSONS PAS ou TROP PEU.

Cordialement, le volatile!
"crôa crôa"
Avatar de tontonnux tontonnux - Membre expérimenté https://www.developpez.com
le 19/06/2015 à 9:05
M'est avis que ça a moins à voir avec la programmation et ses langages qu'à internet et ses forums.
Quelque soit le sujet, les forums Internet regorgent de ce genre de débats à la c** où chacun semble surtout essayer de se persuader d'avoir fait "le bon choix".
Avatar de herve4 herve4 - Membre habitué https://www.developpez.com
le 19/06/2015 à 9:12
Pourquoi ? Très simple.

BIEN connaître un langage de programmation (pour l'utiliser professionnellement notamment) nécessite
plusieurs années de pratique.
C'est un outils. Donc à travers sa performance, c'est notre performance qui est critiqué.

Pour un programmeur, un langage qui tombe en désuétude, c'est son CV, son utilité professionnelle, social, etc.
qui est remise en cause.

J'exagère un peu. Ce n'est pas si dramatique (heureusement) mais, c'est mon sentiment
(je suis analyste programmeur depuis 10 ans en C#, VB .Net. J' envisage d'apprendre le JAVA)
Avatar de stailer stailer - Membre chevronné https://www.developpez.com
le 19/06/2015 à 9:30
"Pourquoi les développeurs entrent-ils dans une guerre des tranchées?"

C'est simple : L'esprit humain et l'expérience

Moi je dirai "la bêtise". Nombre de fois je me suis battu sur le forum pour expliquer que C# et PHP sont 2 langages très performants et qu'il est idiot de dire que l'un est mieux que l'autre. Si on prend les 2 outils : ASP.NET MVC et PHP Zend Framework, pour moi il est clair que ce sont 2 équivalents.
Je pense également qu'en java il y a d'autres outils tout aussi performants mais comme je ne connais pas, je n'en parle pas... D'ailleurs parler de choses qu'on ne connait pas est malheureusement assez monnaie courante ici
Avatar de NotNow NotNow - Membre actif https://www.developpez.com
le 19/06/2015 à 9:32
"Pourquoi les développeurs entrent-ils dans une guerre des tranchées?"

Une des raisons : par égo, par chauvinisme. Beaucoup soutiennent un langage car c'est celui qu'ils utilisent le plus souvent. Comme ceux qui supportent et adulent l'équipe de Perpettes les oies car ils y habitent.

Après, je rejoint mes collègues précédents.
Avatar de Theta Theta - Membre éclairé https://www.developpez.com
le 19/06/2015 à 9:34
M'est avis que ça a moins à voir avec la programmation et ses langages qu'à internet et ses forums.

Malheureusement ce n'est pas que sur les forums.

Par exemple j'ai travaillé dans une équipe de recherche, dans le même organisme il y a une autre équipe qui bosse sur un sujet proche, avec pas mal de besoins communs. Les deux équipes aurait pu développer pas mal de choses en commun mais ne le faisait pas car une équipe travaille avec Python et C++ tandis que l'autre travaille en Java, et qu'aucune des deux ne voulait changer.
Avatar de fabien29200 fabien29200 - Membre habitué https://www.developpez.com
le 19/06/2015 à 9:47
Je pense qu'il y a ce genre de débats parce que les gens se passionnent pour "leur" langage.

Je suis développeur Java et à certains moments, j'ai aussi eu des phases où aucun autre langage ne trouvait grâce à mes yeux.

Et puis, c'est comme tout, on évolue. On s'aperçoit que certaines techniques d'autres langages permettent d'aborder les choses autrement.
Et même si on continue son langage, on peut faire du code différemment en mettant d'autres concepts en place.

Cela permet aussi de faire évoluer le langage (voir les lambdas de Java 8) avec des idées différentes.

Bref, je pense qu'il ne faut pas être sectaire. Et même si ces langages "alternatifs" ne se répandent pas en entreprise, y jeter un œil améliore la culture du développement et il y a toujours un petit truc à en retirer.

Par contre, pour apprendre le développement, je ne peux que conseiller de regarder plusieurs langages et paradigmes différents. Se limiter à un seul langage, c'est un peu comme ne jamais essayer un autre OS, on perd un autre point de vue.
Avatar de spyserver spyserver - Membre averti https://www.developpez.com
le 19/06/2015 à 9:50
Quoiqu'il en soit certains langages sont quand meme plus pourris que d'autres (pas d'IDE correct, pas d'APIs, pas ou peu documenter etc.) rien ne vaut les grands classiques, c'est bien beau les scala et cie mais va faire un projet SI avec une chaine de production et des grilles avec ce langage ... bref c'est comme les bagnoles ça dépend l'utilisation qu'on veut en faire mais ceux qui veulent faire du btp avec une ferrari comment dire ...
Avatar de Aiekick Aiekick - Membre expérimenté https://www.developpez.com
le 19/06/2015 à 10:24
ya pas de guerre des tranchée. le meilleur des langages c'est le c++. c'est un fait, et ya pas a discuter
Avatar de Jiji66 Jiji66 - Membre averti https://www.developpez.com
le 19/06/2015 à 10:37
Le meilleur est celui que l'on maitrise, qui permet de faire tout ce que l'on veut et surtout qui permet de se faire payer.
Offres d'emploi IT
Alternance - Ingénieur Développement
Worldline - Centre - BLOIS (41000)
Développeur Java/J2ee H/F
Sogeti France - Languedoc Roussillon - Montpellier (34000)
Développeur front-end F/H
Zenika - Aquitaine - Bordeaux (33000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil