Quel langage de programmation choisir en 2019 ?

Il existe beaucoup de langages de programmation… tellement à vrai dire, qu’il en existe au moins un pour chaque lettre de l’alphabet !

Les plus connus sont le JavaScript, Java, Python, C#, PHP, C/C++, Ruby, Swift et l’Objective-C.

Quand on est débutant il est difficile de choisir son premier langage. On a peur de « prendre le mauvais ».

Dans cet article je vais vous expliquer les critères à prendre en compte pour choisir son premier langage quand on est débutant en programmation.

Enfin, vous découvrirez pourquoi je conseille d’apprendre le JavaScript comme premier langage de programmation.

Vidéo complémentaire de cet article

Introduction

Vous êtes débutant et vous vous posez la toute première question que tous les débutants se posent : quel langage de programmation choisir pour apprendre à programmer ?

Deux possibilités :

  1. Soit vous savez déjà ce que vous voulez programmer : une application mobile, un site web, un jeu vidéo, une application de bureau etc.
  2. Soit vous ne savez pas trop… mais vous savez que vous voulez apprendre à programmer !

Dans les deux cas, les prochains critères sont applicables.

Critères pour choisir un langage de programmation

Que vous sachiez ou pas sur quel type de projet vous voulez travailler, il y a un certain nombre de critères à prendre en compte quand on choisit son premier langage de programmation.

Vieillesse et modernité d’un langage

Aujourd’hui, on ne programme plus comme en 1980, vous vous en doutez. Les langages de programmation ont évolué au fil années.

En effet, la façon dont on programme a évolué : c’est ce qu’on appelle les paradigmes de programmation.

Au début, on codait une liste d’instructions que l’ordinateur exécutait de façon linéaire, comme une recette de cuisine : c’est la programmation procédurale. Elle est utilisée, par exemple, dans les langages JavaScript, C, Pascal ou Perl.

Puis on est passé à la programmation orientée objet où l’on crée et utilise des objets qui communiquent entre eux. Comme dans les langages JavaScript, Java, Python, C#, PHP, C++, Ruby, Swift ou l’Objective-C.

Comme vous pouvez le constater de nombreux langages permettent ce paradigme : c’est le plus connu et le plus répandu à l’heure actuelle.

Un autre paradigme gagne en popularité ces temps-ci : c’est la programmation fonctionnelle. Le principe est de coder un enchaînement de fonctions (au sens mathématique du terme) qui ne créeront pas d’effets de bords. On peut utiliser un tel paradigme dans quasiment tous les langages de programmation. C’est simplement la façon dont on utilisera le langage qui va importer.

Ma recommandation : si votre objectif est de devenir développeur professionnel, vous avez tout intérêt à apprendre un langage moderne. En effet, le marché du travail fournit de moins en moins d’opportunités pour les vieux langages. Vous trouverez moins de demandes d’embauches pour du COBOL que pour du JavaScript par exemple.

Communauté et popularité

Si vous voulez avoir une idée des langages les plus populaires du moment, vous pouvez jeter un oeil à l’enquête StackOverflow 2018 sur le sujet.

Vous pouvez aussi vous référer à l’index TIOBE qui recense les langages de programmation les plus populaires chaque mois en se basant sur différentes sources d’informations.

Le fait d’apprendre un langage populaire vous permettra de bénéficier de tous les avantages qu’apporte une communauté en ligne.

Il n’est pas facile d’apprendre un nouveau langage de programmation, l’apprendre seul l’est encore moins. Avoir à disposition une communauté prête à vous aider est un atout majeur pour apprendre un langage de programmation rapidement.

Plus le langage est populaire, plus vous trouverez de ressources pour l’apprendre : livres, blogs, formations vidéos, podcasts, conférences, channels de tchat Slack, chaînes YouTube, etc.

Ma recommandation : choisissez un langage moderne possédant une communauté importante, active et passionnée. Les langages JavaScript et Python sont d’excellents choix, les communautés autour de ces langages sont grandes et très actives aujourd’hui.

Frameworks et librairies disponibles

Un autre effet de choisir un langage populaire est la richesse de son environnement.

Pour créer une application moderne on utilise fréquemment un framework et des librairies. Un framework est un cadre de développement : il sert à structurer et orienter l’architecture logicielle de votre application.

Un framework permet de créer rapidement des applications très complexes en conservant une structure logicielle flexible et facilement maintenable.

Une librairie est tout simplement un ensemble de code rédigé par une personne tierce que l’on peut réutiliser dans ses propres applications. Une librairie permet de faciliter le développement en ne réinventant pas la roue et d’étendre les possibilités du langage de programmation qu’on utilise.

Par exemple, le langage Python ne permet pas de créer des interfaces graphiques de base. Mais en utilisant la librairie PyQT, vous pourrez utiliser le langage Python pour créer des programmes possédant une interface graphique.

Plus la communauté autour d’un langage est grande et active, plus vous aurez de choix dans les frameworks et librairies disponibles pour développer votre application.

Ma recommandation : veillez à sélectionner un langage qui vous permettra de créer l’application que vous voulez en utilisant les frameworks et librairies disponibles pour ce langage.

Facilité d’apprentissage

Il n’est pas facile d’apprendre un nouveau langage de programmation, certains sont plus difficiles que d’autres à apprendre.

Il existe des langages dits de bas niveau et des langages de haut niveau.

Les langages de bas niveau comme l’Assembleur ou le langage C permettent de créer des programmes très optimisés et proches du matériel sur lequel on exécute celui-ci.

Avec ces langages, vous devez par exemple gérer vous même l’utilisation de la mémoire, ce qui peut être compliqué pour un débutant.

A contrario, les langages de haut niveau permettent de développer des applications sans se soucier des considérations matérielles. Des outils (comme le ramasse miette par exemple pour gérer la mémoire) permettent de réaliser pour vous ces aspects très techniques.

Ma recommandation : apprenez un langage de haut niveau dans un premier temps. Vous serez parfaitement capable d’apprendre un langage de bas niveau par la suite si vous le souhaitez. Commencer par un langage de bas niveau pourrait vous rendre allergique à la programmation avant même d’y avoir goûté…

Les outils du développeur

Pour certains langages comme le C, vous devrez d’abord compiler votre programme avant de pouvoir l’exécuter. Le langage C est un langage dit compilé.

Cela nécessite d’installer une chaîne de compilation et d’avoir des connaissances techniques supplémentaires qu’il faut acquérir avant même de commencer à programmer. C’est plutôt frustrant.

D’autres langages dits interprétés nécessitent peu d’outils (voire aucun !) à installer pour pouvoir commencer à programmer. Vous pouvez par exemple commencer à coder en JavaScript directement depuis votre navigateur ou un site en ligne !

Deuxième chose, l’édition de code peut se trouver grandement facilitée par l’utilisation d’un éditeur de code. Cet outil va permettre de créer plus rapidement et proprement du code source et de naviguer facilement dans celui-ci par rapport à un simple éditeur de texte.

Il existe un large choix d’éditeurs de code source qui supportent un ou plusieurs langages de programmation.

Ma recommandation : choisissez un langage interprété (comme JavaScript ou Python) pour ne pas avoir à vous embêter avec la configuration d’une chaîne de compilation. Concernant l’éditeur de code, c’est souvent une affaire de préférences personnelles. Testez-en plusieurs, puis faites votre choix selon vos goûts (vérifiez tout de même qu’il supporte bien votre langage de programmation !).

Type de projet final

Dernier point et pas des moindres : votre projet. Certains projets nécessitent l’utilisation d’un langage particulier pour être développés.

C’est le cas par exemple des applications mobiles natives sur Android ou iOS. C’est le cas des sites web qui finissent toujours par produire du HTML/CSS.

Pour tous ces cas particuliers, j’ai résumé vos possibilités dans plusieurs sections ci-dessous.

Quel langage de programmation choisir pour un jeu vidéo ?

Ça dépend de la plateforme sur laquelle va tourner le jeu vidéo.

Pour PC : je vous conseille le C++ (standard dans l’industrie du jeu vidéo), ou le JavaScript (en utilisant Phaser) si vous voulez faire des petits jeux simples en 2D.

Pour les consoles (Xbox, PSX etc.) : il faut utiliser du C/C++ ou le C#. Jetez un oeil sur les Kits de Développement Logiciel (SDK) mis à disposition des développeurs par les constructeurs de ces consoles pour en savoir plus.

Pour faire un jeu en ligne : c’est le JavaScript avec le HTML/CSS.

Quel langage de programmation choisir pour le Web ?

Là encore ça dépend de ce que vous voulez réaliser.

Si vous voulez faire un site web côté frontend (= interface graphique), apprenez le HTML/CSS et JavaScript.

Si vous voulez développer la gestion des données pour un site web, c’est-à-dire côté backend (= côté serveur), apprenez le PHP, Ruby, ou le JavaScript (en utilisant NodeJS).

Quel langage de programmation choisir pour une application Android, iOS ou Windows Mobile ?

Pour Android : apprenez le Java (ou Kotlin).

Pour iOS : apprenez le Swift, vous pouvez toujours utiliser l’Objective-C mais il va être remplacé par Swift dans le futur.

Pour Windows Mobile : c’est le C#, VB.NET ou le C/C++.

Si vous voulez une application qui puisse se lancer sur toutes ces plateformes : apprenez le JavaScript et un framework comme React Native, Ionic ou Cordova.

Quel langage de programmation choisir pour une application de bureau ?

On peut utiliser beaucoup de langages différents pour développer une application de bureau, les plus utilisés sont Java, C# et C++. Vous pouvez également utiliser JavaScript avec ElectronJS.

Des logiciels de bureau comme l’éditeur de code Visual Studio Code sont développés en TypeScript (un superset du langage JavaScript) à l’aide d’ElectronJS.

Les performances sont au rendez-vous !

BONUS : Quels sont les langages de programmation les plus utilisés ?

Le JavaScript tient la première place depuis 6 ans maintenant, voici le top 5 des langages de programmation les plus utilisés :

  1. JavaScript
  2. Java
  3. Python
  4. C#
  5. PHP
JavaScript est en tête et n’est pas prêt d’être détrôné

Ma recommandation : JavaScript

Le JavaScript est le langage le plus populaire au monde. Je le recommande aux débutants qui veulent apprendre à programmer pour les raisons suivantes.

Facile à prendre en main

Pour essayer JavaScript, il n’y a rien à installer ! Des sites en lignes permettent de tester votre code directement. Testez du code JavaScript dès maintenant sur Thimble, jsFiddle ou CodePen.

Vous pouvez partager votre code en ligne en envoyant une simple copie de l’URL de votre travail à quelqu’un qui pourra vous aider sur le champ avec votre code. Idéal pour la formation !

Puissant

On peut dès le premier jour réaliser des programmes amusants avec des graphismes (en utilisant HTML & CSS) et animations depuis son navigateur.

JavaScript permet d’utiliser les 3 paradigmes de programmation cités plus haut. Une fois que vous le connaissez, vous pourrez alors apprendre n’importe quel autre langage très facilement.

C’est également est un langage de haut niveau, il est donc simple à apprendre, mais il n’en reste pas moins puissant.

Très flexible

Si vous ne savez pas encore quel projet vous voulez faire, apprendre le JavaScript ne vous limitera pas dans vos choix futurs.

En effet, il s’exécute sur toutes les plateformes matérielles.

Par ailleurs, grâce aux nombreux frameworks et librairies disponibles, vous pourrez créer une application mobile (compatible Android et iOS et Windows mobile), un site internet (interface graphique et côté serveur), un jeu vidéo, une application de bureau ou même une application de réalité virtuelle : les possibilités sont infinies !

Demandé sur le marché du travail

La demande en développeurs JavaScript ne cesse de croître, si vous êtes en reconversion professionnelle, c’est le langage idéal à apprendre pour trouver un job rapidement.

Les salaires de développeurs JavaScript sont parmi les plus élevés sur le marché du développement logiciel.

Communauté immense et active

La communauté est immense, les ressources en ligne sont nombreuses. Vous aurez besoin de toute l’aide que vous pourrez trouver pour apprendre à programmer.

Miser sur un langage connu possédant une communauté active est donc une bonne idée.

Dernier conseil en Or

Enfin dernier conseil… si vous ne parlez pas Anglais. Apprenez à lire l’Anglais !

Tous les sites et toutes les documentations utiles aux développeurs sont rédigées en Anglais. Vous ne pourrez pas évoluer dans ce métier si vous n’apprenez pas la langue internationale.

Vous n’avez pas besoin de savoir la parler mais sachez au moins la lire.

Bon courage dans votre aventure pour apprendre à programmer ! C’est un métier vraiment créatif et innovant en perpétuelle évolution et réellement passionnant.

Et vous quel langage de programmation avez-vous choisi pour apprendre à programmer ? Dites-le moi dans les commentaires ! Je suis curieux :).

Vous apprenez le JavaScript sans aucune expérience en programmation ?

Ma formation vidéo JavaScript de Zéro est faite pour vous.

Des bases de la programmation jusqu'à l'obtention de votre premier job, cette formation vidéo complète en français vous permettra de devenir développeur JavaScript en quelques mois.

26 replies on “Quel langage de programmation choisir en 2019 ?”

  1. Super post, moi qui débute en autoformation développeur (avec une ancienne vie tech micro), ça va m’être très utile.

  2. Je n’ai pas l’habitude de donner mon avis après avoir parcouru in contenu donné sur le Web. Mais ça, j’étais obligé de le faire.
    Suis débutant, mais j’ai tout ce dont j’ai besoin ici. Merci

  3. Bonjour, j’ai 13 ans(bientôt 14) et j’adore la programmation en général, étant un habitué de Java, C et C++(je ne veux pas faire de site web(en fait ça regroupe le web en général)) vous me conseillez quand même le JavaScript pour faire des logiciels de bureau sachant qu’ils seront très lourd ?(Je pose cette question car j’en ai un peu marre du C et du C++…). J’attends votre réponse avec impatience et je vous souhaite une bonne continuation.

    1. Bonjour Yann,

      Merci pour ton message.

      Tu peux faire des logiciels de bureau en utilisant le framework Electron.
      Qu’entends-tu par « ils seront très lourd » ? Tu comptes produire de grosses applications de bureau c’est ça ?

      Normalement ça ne devrait pas poser de problèmes, des apps comme deezer, figma et slack sont développées avec Electron et elles fonctionnent très bien.
      Tu peux voir toutes les apps développées en JS avec Electron ici : https://electronjs.org/apps.

      Même VSCode est développé en JS !

      1. Oui je souhaite développer de grosses applications de bureau et je pense me mettre au JavaScript dès demain avec votre formation (est-elle gratuite ?), en tout cas merci de votre réponse.

        1. Ça ne devrait pas poser de problèmes même pour les « grosses » applications. Le module débutant de ma formation est entièrement gratuit et ouvert au public sur ma chaîne YouTube, il y a une playlist « module débutant » que vous pouvez regarder. Le reste de la formation est payant.

          Pour l’instant le contenu n’est pas créé pour les prochains modules, il sera créé bientôt. J’ouvrirai des pré-commandes à tarif très réduit en milieu d’année.

      2. super cet article.moi je veux plus me pencher plus sur le php car je veux étre développeur back-end. mais avec cette article je vois que le javascript est un language à ne pas négliger. Du coup après avoir complètement maitrisé le php je vais m’attaquer au javascript.merci pour tes éclaircissement

        1. Salut Michael, merci pour ton commentaire.
          Tu peux faire du back-end avec du JavaScript aujourd’hui grâce à NodeJS. Tu n’es pas forcé d’apprendre le PHP du tout ;-).

  4. Merci Jérémy pour cet article !
    Intégrateur web de formation, je souhaite devenir développeur frontend mais mon niveau en JS est encore trop bas ; aurais-tu un livre à me conseiller ?

    1. Salut David, merci pour ton commentaire !
      Est-ce que tu lis l’anglais ? J’ai fait la critique d’un livre en Français récemment, « TOUT JavaScript », tu peux voir ça ici : https://jeremymouzin.com/livres/.

      Mais si tu lis l’anglais et que ça te gêne pas de lire un livre technique en anglais je te conseille de lire la bible du JavaScript : JavaScript : The Definitive Guide (6th edition).
      Tu n’y verras pas d’ES6 mais il enseigne de très bonnes bases pour ES5 et après tu peux juste trouver les infos manquantes sur ES6 sur le net sur des billets de blog !

    1. A quels langages pensez-vous exactement ? Mais oui vous pouvez utiliser d’autres langages avec le JavaScript.

  5. Bonjour ,
    Votre article est très intéressant et complet. Pour ma part j’ai tenté le Javascript mais je n’y arrive vraiment pas même au bout de 3 ans d’acharnement.
    Donc quel autre langage je pourrais tenter parce que je n’ai pas de projet précis en terme de développement?
    Merci pour la réponse
    Cordialement

    1. Bonjour Adrien,

      Merci pour votre commentaire. C’est très étrange que vous n’arriviez pas à utiliser le JavaScript après 3 ans ?!
      Vous pouvez essayer le Python mais je doute que vous y arriviez plus… votre problème semble plus profond que juste la syntaxe du langage.

      Par ailleurs, qu’est-ce que vous n’arrivez pas à faire exactement avec le JavaScript ? Qu’entendez-vous par « je n’y arrive vraiment pas », qu’est-ce qui bloque ?

      1. la syntaxe j’ai du mal à l’utiliser et son architecture en elle même.
        Quand je dis 3 ans c’est sur tout les projets que j’ai eu à faire pendant mes trois ans de formation. J’ai vu d’autre langages en même temps aussi et du coup je n’arrive pas à me positionner correctement sur celui qui serais « fait pour moi ».
        j’ai appris HTML/CSS , JS , SQL, JAVA/android, C++, C#, PHP Symfony , PHP Drupal 8, PHP Laravel , Polymer Js , NodeJS et Jquery . Donc je me trouve un peu perdu la dessus.

      2. Quand je parle de 3 ans c’est plus sur la globalité de ma formation où j’ai eu du js de partout dans les projets d’écoles (surtout des projets webs avec HTML / CSS , PHP , SQL et d’autre framework en plus) . du coup j’ai tenté d’autre langages comme C++ , C# , JAVA / Android …
        Ce que je n’arrive pas à faire avec JS c’est que sa syntaxe je n’arrive pas à l’intégrer et à me l’approprier , bon je n’ai vu qu’au travers d’openclassroom et j’ai l’impression de n’avoir rien appris sur ce langage ^^. C’est plus un ressenti personnel et du coup la notion d’objet j’ai du mal à l’intégrer ce qui peut être explique le blocage sur JS.
        Donc voila du coup j’essaye de trouver un autre langage où je pourrais mieux m’épanouir et évoluer en compétence.

        1. J’ai l’impression que vous avez vu tous les langages du monde ;).

          La notion d’objet vous avez du mal car on n’instancie pas un objet via une classe en JavaScript c’est ça qui pose problème n’est-ce pas ? C’est le système d’héritage par prototype au lieu du système classique des classes (comme en Java ou C++).

          Je pense que le Python pourrait vous plaire, il se rapproche des langages que vous arrivez à comprendre.

          1. j’ai pu testé les petites bases de python (le hello world habituel ^^) . Pour expliquer de manière plus précise j’essaye un langage en dehors des cours quand la syntaxe me plais mais parfois j’ai du mal à m’y mettre correctement. Tu conseillerais quoi en dehors du langage en lui même à apprendre pour consolider ou créer de bonnes bases (bonnes pratiques et notions théorique) en programmation ?
            C’est plus ou moins ça oui pour la notion d’objet sur js où j’ai du mal, ce qui fais infine un blocage avec le langage.

          2. Lire des livres de programmation qui ne sont pas liés à un langage mais qui sont des bonnes pratiques de programmation qui peuvent s’appliquer à n’importe quel langage. Je pense notamment au célèbre « Coder proprement » de Robert C. Martin. Tu peux aussi t’intéresser aux design patterns (lis des livres ou des billets de blog sur le sujet).

            Sinon il reste la meilleure source de savoir : la pratique. Fait des projets de plus en plus « ambitieux » et tu apprendras un tas de choses.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.