Pourquoi apprendre le JavaScript ?

Vous êtes débutant et vous ne savez pas du tout par quel langage commencer le développement ? Vous avez lu que JavasScript, Python, PHP, Ruby et Java sont des options populaires, mais vous n’arrivez pas à faire votre choix ? Nous allons vous y aider !

Pourquoi commencer par JavaScript ?

Nous allons d’abord voir ensemble pourquoi nous vous conseillons d’apprendre le JavaScript, puis nous verrons dans quels cas apprendre un autre langage.

Le langage le plus polyvalent

Il s’agit du langage du Web par excellence, développé pour les tous premiers navigateurs Web. Il a explosé à mesure que le Web s’est imposé dans notre société moderne.

Il est aujourd’hui le langage de programmation le plus polyvalent qui permet à la fois de développer :

  • Des sites Web : c’est le seul langage que les navigateurs comprennent (avec HTML et CSS). Tous les sites Web mondiaux utilisent donc du JavaScript dès qu’ils ont besoin de rendre leurs pages interactives et ou dynamiques (ce qui fait plus de 95% des 1,8 milliards de sites mondiaux) .

  • Des serveurs : grâce à l’environnement serveur Node.js, JavaScript est utilisable sur les serveurs Web et est réputé comme étant l’un des environnements les plus performants pour gérer un grand nombre de requêtes concurrentes (utilisé par exemple par Paypal, Linkedin, Yahoo, Medium, Mozilla, Netflix, Uber, Groupon, par la NASA et Ebay). Vous trouverez de nombreuses ressources expliquant pourquoi les grandes entreprises se détournent de Java ou PHP pour le Web et migrent vers Node.js par exemple ici, ici et ici. pour Netflix et Paypal, et ici pour la NASA, ici pour Linkedin, ici pour Paypal et ici.

  • Des applications mobiles : grâce à Ionic, NativeScript, React Native et Flutter  - utilisant Dart, un langage dérivé de JavaScript développé par Google - il est possible de développer en JavaScript des applications mobiles hybrides fonctionnant sur Iphone et Android plus simplement (quelques exemples d’applications hybrides JS : Instagram, Evernote, Uber, Gmail, Twitter et Linkedin).

  • Des applications Desktop : de nombreuses applications pour ordinateur fonctionnant sur Windows, MacOS et Linux sont écrites en JavaScript grâce à Electron (des exemples connus sont Slack, Discord, Visual Studio Code, Atom, Skype, Mailspring).

  • Du machine learning : il existe des librairies JavaScript pour utiliser tous les algorithmes principaux, l’apprentissage supervisé ou non supervisé etc. Les principales librairies sont brain.js (réseau de neurones artificiels ), tensorflow.js (permet d’utiliser le célèbre outil de machine learning de Google), ml.js (tous les principaux algorithmes ), keras.js, et de très nombreuses autres librairies !

  • Des mathématiques avancées : par exemple avec math.js (mathématiques générales) ou simple-statistics (statistiques descriptives, inférentielles et régression).

  • De la visualisation de données : il existe des librairies de visualisation extrêmement puissantes comme D3.js et des plus simples comme Google Charts ou chart.js suivants vos besoins.

  • Du Natural Language Processing (NLP) et des chatbots : de très nombreuses librairies open sources JavaScript existent avec du machine learning avancé pour le traitement du langage naturel comme par exemple botpress ou wit.ai.

Nous ne pourrions pas faire une liste exhaustive de toutes les possibilités offertes par JavaScript, elles sont infinies !

Le langage le plus utilisé au monde (de très loin)

Technologies les plus populaires


Cela ne date pas d’hier, car cela fait déjà 10 ans qu’il s’agit du langage le plus utilisé. De nombreuses études annuelles sur des millions de développeurs démontrent qu’il s’agit du langage le plus utilisé au monde professionnellement entre 68% et 73% suivant les études annuelles principales.

C’est le langage avec le plus de librairies disponibles : JavaScript a ainsi 1,2 millions librairies, ce qui représente plus que toutes les librairies Java + PHP + .NET + Ruby + Python combinées !

Le langage avec le plus d’offres d’emploi : Sans surprise, JavaScript est également le langage avec le plus d’offres d’emploi dans le monde et notamment en France. Vous pouvez jugez par vous-mêmes en vous rendant ici, ici ou ici par exemple.

Selon HackerRank, plus de 53% des offres mondiales pour des développeurs professionnels ont comme prérequis la connaissance du langage JavaScript .

Etude Hackerrank de 2019


La plus grande communauté mondiale de développeurs

Que ce soit par le nombre de librairies disponibles comme nous l’avons vu, mais aussi du nombre de questions et de réponses sur Stackoverflow, la plus large communauté de développeurs au monde (plus de 2 millions de questions), ou encore de projets disponibles sur Github (plus de 320 000 répertoires actifs ), JavaScript l’emporte encore haut la main.

Classement des langages par popularité sur GitHub en 2019

Un langage très progressif

Les différentes phases lors de l'apprentissage du JavaScript


Malgré son usage très important, le JavaScript est aussi un langage très méconnu, et cela s’explique par le fait qu’il est possible de développer avec le langage avec une compréhension limitée.

C’est un langage très progressif et s’il apparaît comme facile au début : types, événements, DOM, structures de contrôle etc, il devient rapidement plus difficile à appréhender : portées, fermetures (closures), remontée (hoisting), gestion de l’asynchrone et boucle d’événements (event loop).

Avoir un bon niveau en JavaScript est même particulièrement complexe car c’est un langage très évolutif (une nouvelle version par an, des spécifications plus importantes que Java), nécessitant la maîtrise de plusieurs paradigmes de programmation, avec principalement :

  • Programmation orientée objets : héritage prototypal et fonctionnement de la chaîne des prototypes, classes et différences avec les fonctions constructeur.
  • Programmation fonctionnelle : nombreuses fonctions natives embrassant ce paradigme, nous pouvons citer les célèbres map() et reduce(), mais il y en a des dizaines.
  • Programmation réactive : de nombreuses entreprises, comme par exemple Netflix, utilise ce paradigme moderne, rendu très puissant grâce à la librairie RxJS.

En outre, pour les projets importants, il devient souvent nécessaire de connaitre Dart ou Typescript qui permettent notamment le typage et évitent des erreurs.

Un langage pas prêt de disparaître

Comme vu précédemment le Web entier utilise JavaScript, et les navigateurs ne comprennent que ce langage (mis à part HTML et CSS), même si un autre langage était introduit, les navigateurs devraient toujours être compatible JavaScript au risque de ne plus pouvoir naviguer sur les 1,7 milliards de sites Web l’utilisant.

Vous ne prenez donc aucun risque avec JavaScript, il est extrêmement probable que ce langage reste essentiel durant toute votre carrière développeur.

Pourquoi ne pas commencer par un autre langage ?

Nous n’allons pas rentrer dans des débats stériles sur la performance entre les différents langages : la réalité est que vous ne trouverez pas un seul benchmark correctement fait car il faut être expert en optimisation de la mise en production sur chacun des langages benchmarkés pour avoir quelque chose de sérieux. Vous pouvez poster les benchmarks que vous trouverez en commentaire et nous vous expliquerons à chaque fois pourquoi il a été mal réalisé :)

En revanche, il vaut mieux démarrer sur un langage qui est perçu par la communauté mondiale des développeurs comme moderne, performant et en forte progression plutôt qu’un langage en décroissance, plus ancien et perçu comme moins performant : il s’agit là d’un élément objectif qui ne fait pas débat.

Voici une étude menée sur 1700 développeurs professionnels, la question posée était de savoir si le développeur pensait que l’usage de la technologie sur laquelle il développe allait augmenter ou diminuer :


Etude réalisée en 2018 par la fondation Node.js


Nous constatons d’emblée que les développeurs PHP et Ruby pensent que ces technologies sont en plein déclin. C’est un peu moins marqué pour Java et .NET, mais toujours une moyenne tendant vers une décroissance.

A l’inverse 76% des développeurs utilisant Node.js pensent que son usage va augmenter, de même pour les développeurs JavaScript qui sont 70% à penser que l’usage du JavaScript va encore augmenter.

Qu'attendez-vous, commencez aujourd'hui à apprendre JavaScript !