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 ?
Pourquoi les développeurs entrent-ils dans une guerre des tranchées
Lorsqu'il est question de langage de programmation ?
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
Une erreur dans cette actualité ? Signalez-nous-la !