Pourquoi Javascript est-il si populaire ?

Pourquoi Javascript est-il si populaire ?

Le Javascript est le langage le plus populaire au monde. Il est absolument partout. Comment un langage aussi étrange en est-il arrivé là ? Aujourd’hui, je vais t’expliquer comment il a réussi cet exploit.



Genesis

Ça fait 7 ans d’affilés que Javascript est numéro 1 des technologies les plus utilisées dans le fameux sondage international de stack overflow. 7 ans d’affilés ! C’est jamais arrivé ça. Javascript est également le langage le plus populaire sur Github. Des milliers de repository qui débordent de Javascript ouverts par trimestre. Et pourtant à la base c’était vraiment pas gagné.

Nous sommes en 1995 et internet est en train d’exploser. Tout le monde se met à acheter un espèce d’énormes PC pour payer une fortune le droit de voir des pages HTML un peu moisies. Et à l’époque t’avais le choix entre deux navigateurs. Internet Explorer par Microsoft et Netscape par Netscape. T’imagines bien que c’était la grosse guerre entre les deux à ce moment-là. Et toute de suite Netscape a eu une idée de génie. Pendant que les mecs de chez Microsoft se mettaient trop à l’aise Netscape allait frapper un grand coup sur la table.



microsoft


Netscape est allé voir un de leurs employés, Brendan Eich, et lui a dit :

“OK Brendan il nous faut un langage scripté pour notre navigateur. Fais un truc vite fait. L’idée c’est qu’on veut juste plus d’interaction par l’utilisateur avec la page. On te donne 10 jours pour chier ça, allez champion dépêche toi.”

Dix jours plus tard, Brendan a débarqué avec un outil qui s’appelait à l’époque Mocha. Ce truc la servait juste à jouer facilement avec des formulaires HTML. Tu l’as deviné il sera renommé un peu plus tard Javascript et deviendra donc l’un des premiers langages utilisables dans un navigateur. Javascript est populaire car il est là depuis le tout début d’internet. Très vite, le langage est devenu open source et le de facto langage utilisé dans les navigateurs du monde entier.



Une glue utile

Au début Javascript servait à une seule chose : créer une meilleure interaction entre l’utilisateur et la page HTML, et donc le DOM, devant lui. Ça voulait dire principalement valider des formulaires et faire des petits tricks d’affichage. Javascript fait ça très bien et les développeurs du monde entier l’ont très vite compris. Javascript est populaire car dès le début il a su se rendre extrêmement utile. Devant l’engouement et la multiplication des browsers il fallait quelqu’un pour réguler tout ce bordel.





Car oui à ce moment-là Javascript n’est pas un vrai langage. C’est une sorte de glue qui fait des choses dans la page. À ce moment-là cette glue est immonde. Et pour que cette glue devienne plus sérieuse, et surtout consistante de browser en browser, les mecs de chez Netscape ont décidé de faire appel à un arbitre.



L’explosion de Javascript

En 1997 ils demandent à l’ECMA de codifier cet outil de script. Ils proposent alors au monde entier la spécification ECMAScript (ES). Et à ce moment-là c’était pas grand chose, mais cette version donne le top départ pour un paquet d’autres. ES2 en 1998 et surtout ES3 en 1999 vont apporter des features de base d’un langage. Entre autres les regex, de la vraie gestion d’erreur ou encore des outils de formatage. Javascript est populaire car l’ECMA assure sa consistance et son évolution depuis 1997 jusqu’à aujourd’hui. Peu de temps après, ES4 sera abandonnée et la popularité de Javascript va stagner de façon inquiétante. Mais quelque chose de déterminant va se passer dans les années suivantes.

En 2005 Jesse James Garrett va populariser AJAX. Une approche composée de plusieurs technologies, dont Javascript, qui va donner au page webs cette impression d’application native. Les mises à jour sur la page se font de façon automatique et sans rechargement de la page. Javascript est populaire car il a transformé nos navigateurs web en plateforme pour applications. Et ce point précis a été le déclencheur de l’explosion de Javascript.





Quand les développeurs Javascript se rendent compte de la révolution, c’est tout l’écosystème qui se met à bouillonner. Moins d’un an plus tard, MooTools et surtout l’extrêmement connue jQuery débarquent sur les Internets. JQuery va, entre autre, fortement simplifier l’utilisation de l’AJAX. Et là comment te dire ? Javascript devient tellement utile que si tu l’utilises pas tu es un énorme débile qui joue avec son caca. Absolument tout le monde s’est mis à apprendre Javascript. Javascript est populaire en grande partie grâce à l’impulsion de jQuery. Et c’est avec un grand sourire que les développeurs du monde entier ont commencé à en foutre trois tonnes partout.



javascript populaire


Une communauté de fou

À partir de maintenant, il n’est plus question de remplacer Javascript mais de suivre la cadence des Frameworks. Et l’avantage d’un écosystème aussi riche c’est qu’il y’a de tout et pour tout le monde. Certains frameworks feront mieux l’affaire pour certains types de problèmes et d’autres conviendront mieux à la façon de faire de certains développeurs. Javascript est populaire car le nombre frameworks qu’on y trouve est fou. En 2006, les développeurs n’ont aucune idée de ce qui les attend. Et ce qui les attend c’est une véritable avalanche de technologies. Avec le recul c’est impressionnant.



javascript framework


La communauté Javascript concrètement c’est une bande de fous qui ne s’arrêtent jamais. Ils ne s’arrêtent jamais de sortir une nouvelle solution avec du Javascript. Un nouveau framework à cette époque c’était tous les ans. Mais après 2014 ça s’est encore plus accéléré. Javascript est populaire car sa communauté est la plus prolifique dans le secteur du développement web. Ha oui et attention, y’a pas que ceux qui font des frameworks tous les deux jours qui sont tarés. Y’a aussi ceux qui les consomment comme des boulimiques devant un buffet à volonté. À la moindre nouveauté, tu les vois se jeter dessus comme si leur vie en dépendait.



javascript developers


Il y a également un facteur très important à l’adoption globale de Javascript par les développeurs. Javascript est simple à comprendre. Avec Python et PHP il fait partie de ces langages qui ont une courbe apprentissage rapide. Javascript est populaire car le langage est très facile à apprendre. Évidemment ça prend du temps de les maîtriser pleinement, mais si tu les compares avec du C++ ou du Java c’est le jour et la nuit. Et qui dit plus de développeurs dit plus de solutions disponibles.

Aujourd’hui en quelques secondes de recherches sur Google tu peux trouver une solution à presque tout. Un fou furieux de la communauté Javascript quelque part dans le monde a déjà résolu ton problème. Elle est dispo sur StackOverflow, sur un blog, sur un GitHub ou dans un forum random. Elle est là, quelque part, et elle attend ton copier-coller. Javascript est populaire car les ressources pour aider les développeurs sont presque infinies. Et comme si ça suffisait pas, une nouvelle onde de choc s’apprêtait à balayer l’horizon Javascript.



La seconde révolution

Cette fois c’était au tour de Ryan Dahl de révolutionner Javascript. Tu le connais je t’en avais déjà parlé quand je t’ai soûlé avec Deno. À la JSConf 2009 il annonce la sortie open source d’un projet à lui : NodeJS. Et cette annonce aura l’effet d’un tremblement de terre. Pour la première fois, une solution solide et extrêmement performante est possible côté serveur en Javascript. Et tu connais la communauté Javascript maintenant. Quand elle est tombée sur Node elle en a fait immédiatement un phénomène planétaire. Javascript est populaire en grande partie grâce aux prouesses de NodeJS. L’année d’après, comme si ça suffisait pas, une nouvelle technologie allait encore plus accélérer l’adoption de Node et donc de Javascript.





Isaac Z. Schlueter est un développeur Javascript. Fin 2009 il trouve que la gestion des dépendances et des packages en Javascript c’est un peu de la merde. Et au lieu de chialer, il essaye de trouver une solution à ça. En s’inspirant de ce qui se fait côté PHP, PEAR par exemple, il va avoir l’idée de faire son propre gestionnaire de dépendances. Le 12 janvier 2010, la première version de NPM fait son apparition sur les Internets mondiales. Javascript est populaire car la gestion des paquets et des dépendances est simplifiée par NPM. Même si NPM a crée des catastrophes sur la route il a fortement poussé Javascript en avant. Et comme un virus transmissible par l’air Javascript ne faisait que commencer son inarrêtable propagation.



World War Z

Le virus Javascript, via plusieurs mutations, était à l’aube de connaitre son apogée. Toujours en 2010, la première version stable de Cordova fait son apparition. Ton téléphone devient alors l’un des épicentres de la contamination. Android ou IOS, énormément des applications que tu utilises tous les jours sont faites entièrement en Javascript. L’infection de ton portable atteindra un point de non retour un peu plus tard avec l’arrivée de React Native. En 2013 le virus subit une nouvelle mutation inattendue. C’est au tour d’Electron de faire surface. C’est dorénavant tes applications de bureau, incluant ton éditeur de code, qui sont maintenant porteuses d’une nouvelle souche du virus. Slack, Atom, Visual Studio Code, Discord, Skype sont toutes atteintes de Javascript pur. Javascript est populaire car il est présent dans tout ce que tu utilises. Tu es encore plus exposé que tu le crois.



virus


Aujourd’hui en 2019 la pandémie est totale. De ton frontend à ton backend, de ton machine learning au blockchain, de ton IDE à t’es application mobiles, des t’es plugin à t’es extension de navigateur, de la 3D à la réalité augmentée … Tu ne peux plus y échapper. Javascript est là, partout, tout le temps. Javascript est populaire car il est possible de tout faire avec. Apprends une fois, applique par tout. Elle est là la vraie magie de Javascript. Et ça tout le monde à rapidement finit par le comprendre.



Pourquoi les entreprises adorent Javascript ?

Tu viens d’apprendre le Javascript et tu veux aucune limite dans le type d’application que tu veux faire ? Jackpot, t’as rien à faire t’as déjà appris tout ce qu’il fallait. Javascript est populaire car les développeurs Javascript savent qu’ils ont le pouvoir de répondre à tous les besoins. Et y’a pas que les développeurs qui ont compris ça. Les entreprises ont fini pas le comprendre aussi. Un beau matin elles se sont rendues compte que non seulement elles pouvaient utiliser le même langage partout, mais qu’en plus tous les développeurs (backend ou frontend) pourraient intervenir partout.

Imagine un langage qui permettrait de tout faire. De faire intervenir n’importe quel développeur sur n’importe quel stack. Et en plus qui améliorerait les communications entre les stacks vu qu’elles seraient toutes écrites dans la même langue. Javascript est populaire car les entreprises sont attirées par l’idée du langage unique. Alors dans la vraie vie je suis d’accord avec toi que ça se passe pas comme ça. Dans la pratique les spécialisations sont tellement fortes dans certains frameworks qu’on ne peut pas faire intervenir n’importe qui n’importe où. Par exemple avec ma spécialisation backend je vais pas être aussi efficace que mes collègues full frontend sur leur stack. Mais par contre, je vais comprendre ce que fait leur code. Et ça, ça change tout.



Épilogue

L’ouragan niveau 5 Javascript s’abat depuis des années sur la planète entière. Même les derniers Javascript-sceptiques ont fini par se soumettre au langage ou sont en train de le faire. Le langage est tellement simple à comprendre qu’il serait dommage de s’en priver vu les perspectives qu’il donne. Et vu sa popularité et sa présence actuelle, c’est sûrement trop tard, il va être presque impossible à détrôner.

Qui me parle ?

jesuisundev
Je suis un dev. En ce moment je suis Backend Développeur / DevOps à Ubisoft. Je suis passionné du dev et j'écris comme je parle. Je continue à te parler quotidiennement sur mon Twitter. Tu peux m'insulter à cette e-mail ou le faire directement dans les commentaires juste en dessous. Y'a même une newsletter !

Commentaire(s)

  1. Bon article !
    A mon sens tu as oublié de parler d’une autre révolution qui est intervenu avant node.
    Le W3C, au travers du HTML5, s’est engagé massivement dans le sens du JavaScript en créant un nombre énorme d’API HTML utilisable en JS
    A l’époque ou le flash était un vrai concurrent, à l’époque ou l’iphone décide de se passer du flash, où le HTML était encore extrêmement limité. Ces décisions ont ouvert un champ libre au JS car il devenait possible et simple de faire du drag and drop natif, d’utiliser la caméra, d’inclure des vidéos et du son et de les manipuler. C’est le début du WebGL, du Canvas etc.

  2. Avec la propagation sans cesse croissante du “virus” JavaScript à travers le globe et l’apparition des web components

    Je me pose la question: quel est l’avenir de JQuery?

    D’après toi JQuery est-il voué à disparaître?

    1. jquery est extrêmement vieux pour un outil JavaScript, il a plus de 10 ans !
      Le truc, cest qu’à part l’AJAX, on peut se débrouiller assez facilement avec JavaScript pure pour les animations, selections, etc… Mais tout le monde y est habitué. C’est un tool assez léger qui facilite bien le code. Pour moi, même si il n’est plus sur la pente montante, il a encore quelques bonnes années devant lui bien pépère.

    2. Salut Nasser,

      En effet jQuery est un peu vieux et beaucoup de solutions proposées par jQuery sont maintenant natives !
      jQuery ne va pas disparaître tout de suite du fait qu’il soit encore utilisé partout.
      Mais il n’est plus incontournable comme avant.

  3. Très bon article !

    Je pense qu’un autre aspect intéressant dans l’évolution actuelle de JavaScript est l’apparition des langages transpilés en JavaScript. Le plus populaire étant TypeScript (dont je suis un grand fan depuis quelques mois que je travaille quotidiennement avec), mais un autre challenger intéressant est Reason, développé par Facebook, et 100% fonctionnel, vraiment impressionnant également.

  4. Je pense que tu présentes bien le langage, néanmoins si c’est devenu un incontournable du web et des applications mobiles, il lui reste encore beaucoup à parcourir pour être le langage de dev par excellence. Sur desktop, les applications électrons restent extrêmement lourdes en places et en process pour les fonctionnalités qu’elle font (exemple : slack, presque 80Mo pour un IRC avancé). Ensuite il y a encore beaucoup de métiers où le javascript ne s’est pas imposé, je pense aux développeurs de jeux vidéos de licence AAA, aux data scientists, aux développeurs du secteurs bancaires ou à tout les métiers qui ont besoin d’une grande fiabilité et rapidité.

    Ce n’est pas un mal pour autant, il est important d’avoir une certaine diversité de langages et si les développeurs web d’hier ont appris à coder avec un PHP branlant, ceux d’aujourd’hui apprendrons avec un JS riche et doté d’une bonne communauté.

    1. Je te conseille un langage transpilé comme Typescript. Il n’y a rien de mieux pour un développeur C#/Java/C++ de débarquer dans le monde Javascript en utilisant un langage comme Typescript. ça permet une immersion en douceur

  5. Merci pour l’article. Je reste à distance de JS autant que possible, peut-être TypeScript ou similaire si un jour j’ai vraiment un besoin web conséquent.
    Note: Les images animées sont perturbantes (désagréables) pour la lecture.

  6. Les vieux (comme moi), se souviendront que fin des années 90 débuts 2000, il était conseillé de désactiver javascript des ses navigateurs web, car c’est par là que les méchants hackers allais nous sucer le cerveau.
    Pour avoir vécu un projet full javascript….je suis toujours sceptique sur le backend…..

  7. Développeur web, j’utilise le JS que dans des cas spécifique le nécessitant (interaction avec l’utilisateur, ne pas rechargé la page et la remettre à jour, etc … ). Aujourd’hui le HTML / CSS3 permet déjà de faire pas mal de choses qu’on faisait en JS à l’époque.

T'en penses quoi ?

Your email address will not be published. Required fields are marked *