Combien de fois avez-vous lu « le C++ est mort » ou « le langage C est-il encore utilisé ? », alors qu'en réalité ces deux langages restent très populaires ?

Et combien de fois avons-nous lu « WAOUH, ce nouveau langage de programmation est le meilleur », pour qu'il ne se passe finalement pas grand-chose après quelques années et que le langage décline en popularité ? Il existe cependant des exceptions — la plus intéressante étant Python, passé d'un langage de script peu répandu à un langage de programmation très populaire.

Qu'est-ce qui pourrait expliquer la longévité du C, la renaissance du C++ et l'essor de Python ?
Examinons la théorie du franchissement du gouffre (crossing the chasm), issue de Wikipédia, qui peut nous aider à répondre à la question ci-dessus.
Dans Crossing the Chasm, Moore part de la théorie de la diffusion des innovations d'Everett Rogers, et soutient qu'il existe un gouffre entre les premiers adoptants du produit (les passionnés de technologie et les visionnaires) et la majorité précoce (les pragmatiques). Moore estime que visionnaires et pragmatiques ont des attentes très différentes, et il tente d'explorer ces différences et de suggérer des techniques pour franchir avec succès le « gouffre ».Crossing the Chasm est étroitement lié au cycle de vie d'adoption des technologies, où l'on distingue cinq segments principaux : les innovateurs, les premiers adoptants, la majorité précoce, la majorité tardive et et les retardataires. Selon Moore, le marketeur devrait se concentrer sur un groupe de clients à la fois, en utilisant chaque groupe comme base pour s'adresser au groupe suivant. L'étape la plus difficile est la transition entre les visionnaires (premiers adoptants) et les pragmatiques (majorité précoce). C'est le gouffre auquel il fait référence. Si une entreprise prospère parvient à créer un effet d'entraînement où suffisamment d'élan se construit, alors le produit devient un standard de fait.

Moore démontre qu'il existe en fait des failles dans la courbe, entre chaque phase du cycle, représentant une dissociation entre deux groupes quelconques ; autrement dit, « la difficulté qu'aura tout groupe à accepter un nouveau produit s'il lui est présenté de la même manière qu'au groupe immédiatement à sa gauche ». La plus grande faille, si grande qu'on peut la considérer comme un gouffre, se situe entre les premiers adoptants et la majorité précoce. Nombreuses (la plupart) sont les entreprises high-tech qui échouent en tentant de franchir ce gouffre.
Les premiers adoptants sont cette race rare de visionnaires « qui ont la perspicacité de faire correspondre une technologie émergente à une opportunité stratégique,… mus par un 'rêve'. Le rêve essentiel est un objectif commercial, pas un objectif technologique, et il implique de faire un bond quantique dans la manière dont les affaires sont menées dans leur industrie ou par leurs clients… Les visionnaires font avancer l'industrie high-tech parce qu'ils voient le potentiel d'un retour sur investissement 'd'un ordre de grandeur' et acceptent volontiers de prendre de grands risques pour poursuivre cet objectif. »
La majorité précoce est faite de pragmatiques… « ils se soucient de l'entreprise auprès de laquelle ils achètent, de la qualité du produit qu'ils acquièrent, de l'infrastructure des produits de soutien et des interfaces système, et de la fiabilité du service qu'ils vont obtenir… Les pragmatiques tendent à être orientés 'verticalement', ce qui signifie qu'ils communiquent davantage avec d'autres personnes comme eux au sein de leur propre industrie que ne le font les passionnés de technologie et les premiers adoptants… Il est très difficile de percer dans une nouvelle industrie en vendant aux pragmatiques. »
Bien que le franchissement du gouffre soit plus étroitement associé à la vente d'un produit, le concept peut aussi s'appliquer à l'adoption des langages de programmation. Pour chaque nouveau langage, les innovateurs et les premiers adoptants en sont les premiers avocats, mais beaucoup de langages de programmation ne parviennent pas à convaincre la majorité précoce et ne peuvent donc pas franchir le gouffre.
Le C et le C++ ont franchi le gouffre il y a des décennies et restent très populaires. Il est aussi très difficile de convaincre les majorités précoce et tardive de migrer du C/C++ vers un autre langage. J'ai souvent lu que D, Go ou Rust allaient tuer le C++, mais cela ne s'est pas produit : ces langages plus récents font encore face à des défis importants pour franchir le gouffre.
Python est un excellent exemple de langage qui a franchi le gouffre : il est passé d'un langage de script relativement confidentiel à un langage de programmation très populaire et polyvalent. Pourquoi cela s'est-il produit avec Python ?
Revenons à cette affirmation de Moore :
Selon Moore, le marketeur devrait se concentrer sur un groupe de clients à la fois, en utilisant chaque groupe comme base pour s'adresser au groupe suivant. L'étape la plus difficile est la transition entre les visionnaires (premiers adoptants) et les pragmatiques (majorité précoce).
Les innovateurs et les premiers adoptants ont fait un excellent travail de promotion et de soutien du langage. Dès le début, il y avait une documentation abondante, ainsi que des guides, des tutoriels et d'autres ressources. De plus, la communauté des développeurs est incroyablement active, ce qui signifie que lorsque quelqu'un a besoin d'aide ou de soutien, il peut généralement l'obtenir rapidement. En outre, Google a massivement adopté Python dès 2006 et l'utilise depuis pour de nombreuses plateformes et applications. Disposer d'un solide soutien d'entreprise peut aussi jouer un rôle majeur dans la popularisation d'un langage.
Un merci spécial aux premiers adoptants de Python, qui ont grandement contribué à son succès — et bonne chance aux premiers adoptants des autres langages de programmation émergents.
