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 à 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 des 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 populaire à 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 2019 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 le 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 7 ans maintenant, voici le top 5 des langages de programmation les plus utilisés :

  1. JavaScript
  2. Python
  3. Java
  4. C#
  5. PHP

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 Repl.it, Glitch, 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 des 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.

Le langage du futur mais pas pour les raisons que vous pensez

Je pense que c’est un choix judicieux d’apprendre le JavaScript aujourd’hui car il va, à mon avis, supplanter tous les autres langages dans le futur.

Pas parce que c’est le meilleur langage de programmation (ça n’a pas de sens de parler d’un meilleur langage sans contexte) mais parce qu’il sera plus rentable pour une entreprise d’embaucher uniquement des développeurs JavaScript qui pourront travailler aussi bien sur le côté serveur que sur l’interface graphique.

Avoir des développeurs ambivalents et n’utiliser qu’un seul langage de programmation pour tout le produit facilite grandement la maintenance, l’architecture et la modularité d’un projet.

C’est un avantage compétitif très rentable pour n’importe quelle entreprise.

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 web en quelques mois.

101 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.

    1. merci, je suis un étudiant en Rdc donc depuis que j’ai commencé à apprendre la programmation je n’ai jamais était satisfait et je l’ai jamais compris mais là je suis sûr que je vais bien comprendre parce que là j’ai fait un bon choix

  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

      1. Bonjour Jeremy et merci beaucoup pour ce post très instructif.
        Je m’intéresse beaucoup aux systèmes embarqués et j’aimerai savoir quel serait le langage de programmation le plus approprié pour réaliser mes instructions.

        1. Bonjour Jasmine,

          Merci pour votre message.

          Pour les systèmes embarqués, en général on n’a pas trop le choix du langage de programmation ! C’est le matériel et les outils développés autour de ce matériel qui vont vous guider pour le choix du langage.

          Donc la réponse serait : trouvez le matériel sur lequel vous souhaitez développer, et regardez le langage de programmation recommandé pour celui-ci pour développer des applications dessus.

          En général dans l’embarqué, ce sera plutôt du C/C++ (langages très proches du matériel) qu’il faudra utiliser.

          Mais les plateformes modernes comme le Raspberry Pi (qui est en fait un mini ordinateur sous Linux) permet aujourd’hui de développer avec beaucoup de langages de haut niveau comme le Python, le JavaScript ou même le Java.

          Tout va dépendre du matériel embarqué que vous souhaitez utiliser !

  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.

          1. Bonjour Mr Jérémy Mouzin. Merci beaucoup pour la vidéo. Vraiment,c’est ce que j’attendais. Donc pour être bref , je veux apprendre à programmer n’importe quoi. Je suis très sûr que la meilleure solution serait être votre élève. Dès que je recevrais votre réponse, on pourra définir les bases. Merci

      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 !

    2. Bonjour Jérémy, je m’appelle Abdoulaye et je suis débutant en JAVASCRIPT. Je voudrais savoir si ta formation en JAVASCRIPT concerne le côté serveur ou back-end ?

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

      1. Salut je suis camerounais et j’aimerais apprendre le JS. J’ai aucune notion en informatique mais je suis très passionné et j’apprends très vite est-ce possible ? Peut-on faire du front end et du back end avec JS ?

        1. Salut Francis, oui tu peux faire du front-end et du backend avec JavaScript (grâce à NodeJS).
          Tu n’as pas besoin d’avoir de notions d’informatique pour apprendre à programmer, il faut juste être bon en logique et être à l’aise avec un ordinateur.

  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.

  6. Bonjour a vous
    J trouve cet article très intéressant, au faite moi je suis débutant et je me suis lancé à coder avec le VB.net quel conseil vous me donner bien sur j’aime bien ce qui est classique comme le JS mais pour le moment j n’ai vraiment aucune idée sur le JS comme j’ai commencé avec le VB.NET est ce que je pourai par la suite comprendre facilement d’autre langage comme le JS. Merci de me répondre.

    1. Bonjour,

      Merci pour votre message. Je ne connais pas le VB.net donc je ne peux pas trop vous conseiller mais à priori à partir du moment où vous connaissez un langage de programmation vous pouvez en apprendre un autre par la suite plus facilement et plus rapidement car il y a beaucoup de concepts similaires.

      Bon courage.

  7. Merci pour cet article M. Jérémy. j’aimerais apprendre le langage java… pour créer des applications et jeux mobiles mais je ne sais pas comment débuter. connaissez-vous un un document ou encore un moyen facile qui me permettra de débuter ?

  8. Bonjour,

    je travail actuellement en tant que Technicien Informatique en Datacenter, je suis passionné d’informatique depuis petit, et à peu près tout me passionne dans l’info, de l’hardware jusqu’au soft en passant par la programmation et les systèmes réseaux, mais bon il faut faire un choix, en l’espace de toute une vie il est impossible de tout apprendre de l’informatique ^^

    Pour faire bref, j’adore mon travail actuel, et je voulais évoluer dans les systèmes et réseaux par la suite (suite logique de mon poste), mais en commençant par apprendre en solo chez moi à administrer un serveur sous GNU/Linux, je me suis perdu sur internet et finalement je me suis retrouvé à lire un article d’apprentissage sur le c# …

    Et j’ai finalement remarqué que, je suis beaucoup plus intéressé par la programmation, en plus d’être apparemment plus doué pour apprendre du code, je comprend beaucoup plus vite que lorsque je travail sur mon serveur.

    Au final, je pense donc me diriger vers la programmation, je me laisse environs 3/4 ans pour apprendre chez moi les langages qui me plaisent et nécessaires pour trouver un Job en parallèles de mon travail actuel, pensez vous cela suffisant pour apprendre en autodidacte des langages nécessaire a une réinsertion dans une domaine tel que celui ci ? Si oui, je m’intéresse tout particulièrement aux C#, JavaScript, Python, C++ pour le moment, me conseillez vous d’autres langages ? Si non, par le quel me conseillez vous de commencer ?

    Je vous remercie par avance pour votre aide, et j’ai trouvé votre article très complet, en tout cas il m’a aidé à me décider vers quels types de langages je souhaitait me diriger ! 😀

    1. Salut Aurélien,

      Merci d’avoir pris le temps d’expliquer ta situation de façon détaillée.

      Oui tu auras suffisamment de temps en 3/4 ans pour apprendre plusieurs langages de programmation en autodidacte chez toi et postuler à une offre d’emploi de développeur. Mais tu n’auras pas nécessairement que ça à apprendre pour être « embauchable », est-ce que tu as déjà une idée du métier que tu vises ou pas du tout ?

      Tu peux devenir développeur dans le web, sur mobile, dans les jeux vidéos, développeurs d’applications embarquées (proche du hardware) etc. C’est plus le métier que tu vises qui devrait guider tes choix en terme de technologie à apprendre (et aussi les offres d’emploi près de chez toi !).

      Je te conseille d’apprendre 1 ou 2 langages maximum pour les maîtriser suffisamment pour pouvoir réussir à passer les entretiens techniques : trop s’éparpiller et ne rien maîtriser est l’erreur la plus commune que je vois chez les étudiants.

      Donc si tu sais déjà vers quel métier tu souhaites t’orienter, dis-le moi, ça me permettra de t’aiguiller pour une liste de langages à apprendre et d’autres conseils plus avisés !

      1. Tout d’abord, merci à vous de m’avoir lu et répondu !

        Et bien, je dois dire que je n’ai pas d’idée sur le métier précis que j’aimerais exercer dans le dev’, du moins pas encore, quelles sont selon toi les prérequis nécessaires afin d’être « embauchable » dans ce domaine ? Est ce que le fais de bien connaître le hardware/ software reseaux peut être un avantages pour ce genre de domaine ?

        Etant plus jeune, j’avais fait un peu de développement Web front end, et ce n’est pas ce qui m’intéresse le plus.

        Et bien, en terme de métier que je vise j’avoue ne pas avoir plus approfondi que cela en ce sens, en revanche je sais que j’ai toujours voulu travailler dans le domaine du jeux vidéos à terme, je penserais donc me diriger vers ce choix.

        J’avais déjà itéré cette erreur en effet, désormais j’évite de me concentrer sur plusieurs choses en même temps, je préfère apprendre une chose, l’acquérir puis une fois maîtrisé, passer à autres choses, même si des fois il est tentant de vouloir voir ses 2/3 petites choses qui nous intéressent lorsque l’on lis un sujet sur un forum d’informatique et que l’on sais très bien qu’on va s’éparpiller ^^

        Donc pour conclure, j’aimerais beaucoup me diriger vers le domaine du jeux vidéos à terme.

        Merci beaucoup pour ton aide !

        1. Salut Aurélien, merci pour ton message, on peut se tutoyer ;-).

          Alors à priori tu sais quand même que tu ne veux pas faire de front end et que tu préfères te diriger dans les jeux vidéos !
          C’est un monde à part que je connais assez peu je t’avoue.

          Bien connaître le hard/soft peut toujours être un atout, ça va dépendre de la mission pour laquelle on t’embauche…

          Si tu veux faire du dév dans les jeux vidéos, il faut apprendre le C++, c’est la référence dans ce domaine si je ne dis pas de bêtises. Tu devras sûrement aussi connaître un peu de maths pour faire de la 3D etc. si tu veux t’orienter dans le développement de moteurs de jeux vidéos. Après vouloir travailler dans les jeux vidéos c’est assez vague, il y a tellement de métiers différents liés aux jeux vidéos !

          Pour confirmer les prérequis à connaître, je t’invite à te renseigner auprès de sociétés qui éditent des jeux vidéos. Plusieurs approches : tu peux regarder le détail des offres d’emploi dans le domaine des jeux vidéos de ces sociétés, mais il se peut que les gens qui écrivent ces offres n’y connaissent pas grand chose niveau technique… comme c’est souvent le cas malheureusement.

          Donc je t’invite à entrer en contact avec un dev qui est dans le domaine, tu dois pouvoir en trouver sur twitter ou linkedin. Tu te présentes et tu lui demandes en gros quelles compétences acquérir pour faire son métier.

          Autre point important, tu peux vouloir faire des jeux vidéos mais il faut d’abord que tu regardes s’il y a de la demande dans ce domaine près de chez toi. Car suivre son désir c’est bien mais c’est mieux si ça colle avec le marché du travail et si tu peux être payé pour faire ça ;-).

          Autre choix possible, dans un premier temps tu peux mettre un pied dans le développement logiciel en développant des apps qui ne sont pas des jeux vidéos pour gagner de l’expérience et pouvoir la valoriser auprès d’un employeur plus tard. Ça te permet de rentrer « doucement » dans le monde du dév et après d’orienter ta carrière petit à petit dans le jeu vidéo.

          Voilà mes conseils :).
          N’hésite pas si t’as d’autres questions et bon courage pour tes recherches !

          Tout va dépendre de l’état du marché du travail, des opportunités que tu auras pour entrer dans le monde du développement logiciel !

  9. Bonjour, merci pour cet article très intéressant, je suis actuellement sur ma fin de 1ère SSI et j’aimerais continuer après le bac vers des études en programmation, logicielle ou bien tournées vers les jeux vidéos, je me demandais au niveau des études à réaliser, si c’est possible de faire une école d’ingénieur (je cible l’INSA à Rennes pour le moment) dans laquelle j’apprendrais notamment le C++ et le Java, puis de travailler par la suite de son côté un langage comme Python (ça n’est qu’un exemple) et de trouver un travail avec les compétences acquises seul sur ce langage sans une formation officielle.

    Merci de me répondre dés que possible et d’avoir pris le temps de me lire.

    1. Salut Enzo, merci pour ton message. Si tu as un diplôme d’ingénieur, que tu apprends le C++ / JAVA à l’école et le Python de ton côté oui tu pourras parfaitement prétendre à un job avec ces compétences.

      Ton diplôme t’aidera à être « pris au sérieux » par un recruteur même si les diplômes ont de moins en moins de valeur pour recruter des développeurs, un diplôme d’ingénieur permet tout de même de certifier que tu as cerveau en état de marche car tout le monde n’est pas capable de décrocher un diplôme BAC+5.

      Ensuite, ce qui fera la différence et pour te démarquer et sortir du lot, il faudra montrer que tu sais coder des projets. Je t’invite donc à créer des projets régulièrement et à les mettre sur GitHub tout au long de ta formation à l’école pour pouvoir les utiliser comme portfolio plus tard. Tout ce que tu feras « en plus » d’un étudiant « normal » te permettra d’avoir une longueur d’avance et de montrer que tu es plus motivé que les autres pour décrocher ce job !

      Bon courage 🙂

      1. Merci beaucoup pour cette réponse, elle me permet d’avancer dans ma réflexion et mes objectifs pour la suite. 🙂

  10. Hello! Merci beaucoup à vous pour cet article, grace à ça je commencerai la formation du langage JavaScript, une fois encore merci

  11. J’apprecie vraiment votre article!!! moi suis un debutant et j’viens de finir en PHP mais je voulais aussi debuter avec JAVA pour enfin prendre JAVA EE(J2E) alors avec votre article j’me met dans les troubles;je manque si je peux continuer avec mon programme ou arrêter et suivre JavaScript?

      1. genres comme applications web de qualité mais une autre idée m’est venue en tête de réaliser des applications intelligentes mais je sais pas dans quel langage me lancer.
        Donce ce que je veux de vous svp comme conseil c’est de m’orienter sur un langage qui pourra m’aider à realiser dans le futur proche après apprentissage des applications intelligentes!!!! merci

        1. Des applications intelligentes ? Qu’est-ce que vous entendez par là ? Vous pouvez me donner un exemple SVP ? Car pour moi toutes les applications sont intelligentes…
          Et aussi savez-vous depuis quel système vous souhaiteriez pouvoir lancer ces applications ? Depuis un ordinateur (appli de bureau) ? Depuis un téléphone mobile ? Depuis un navigateur web ?

  12. Bonjour Jérémy, merci pour le billet qui me permet de faire un choix du langage pour débuter ma formation en programmation. Je voudrais m’orienter vers le développement web et le développement d’applications mobiles. Alors selon vous, combien de temps cela me prendra pour maîtriser le langage Java Script et est-ce que mes choix de métier seront porteurs ? NB: Je suis un gros débutant, je n’ai aucun pré-requis en programmation mais j’en suis très passionné. Merci de me guider dans mon apprentissage. Cordialement.

    1. Bonjour Guy, merci pour votre message.

      Si vous voulez faire des apps web et mobile, le trio HTML/CSS/JavaScript sera de rigueur pour faire des apps web. Pour le mobile, il vous suffira d’apprendre en plus un framework du type React Native ou Cordova par exemple qui permettent de créer des apps mobiles en utilisant du JavaScript.

      Le web est porteur de façon général, la demande est très importante sur le marché de l’emploi pour des développeurs web et d’apps mobile. Concernant le temps qu’il faudra pour maîtriser un langage, selon moi, en étant pur débutant, si vous vous formez à plein temps, il vous faudra entre 6 mois et 1 an. J’en parle sur la roadmap pour devenir développeur web.

      Je vous invite à regarder aussi du côté de ma formation JavaScript de Zéro si vous ne l’avez pas déjà vu.

      N’hésitez pas si vous avez d’autres questions !

  13. Un grand merciii pour cet article très intéressant. Je suis étudiant en informatique et je désire me mettre a niveau en Javascripts.

  14. Bonjour,

    Article très intéressant, merci. Je partage votre point de vue sur le JavaScript mais je conseillerais plutôt le Python pour un débutant dans un premier temps « pour se faire la main » (pas la peine de devenir un expert). Je trouve qu’il est plus simple à aborder que JavaScript notamment pour comprendre les concepts et apprendre à coder « proprement ». En plus, il permet de faire des petits scripts bien utiles au quotidien pour un dev.
    Ensuite, passer a JavaScript.

    1. Bonjour Victor,

      Merci pour votre commentaire.

      Le Python est également un très bon choix de premier langage de programmation comme je l’indique dans l’article, vous avez raison.

      Le fait qu’il soit plus simple à aborder est très subjectif selon moi.
      Par coder « proprement » vous parlez de l’indentation obligatoire en Python ?
      Car il est possible d’écrire du code très sale même avec une indentation très propre ;-).

      Vous pouvez faire des scripts très utiles au quotidien grâce au JavaScript aussi en utilisant NodeJS par exemple.

      Je pense que les besoins d’interface graphique se font vite sentir quand on est débutant et Python ne permet pas, de base, de manipuler des interfaces graphiques construites en HTML/CSS.

      Je pense que c’est plus un choix personnel et de « goût » de choisir le Python ou le JavaScript comme premier langage. Les deux se valent à peu de choses près, tout dépend de l’objectif du débutant !

      1. Je ne parlais pas que de l’indentation, mais bien de la manière de coder. Je ne travaille plus avec JavaScript depuis 2-3 ans (donc je ne connais pas les dernières évolutions) mais, je trouve que le typage dynamique et le périmètre des variables de JavaScript ne sont pas forcement évident a bien prendre en main pour un débutant. En gros, c’est facile d’en faire mais moins d’en faire bien.

        1. Le typage dynamique permet une grande flexibilité mais également plus d’erreurs je suis complètement d’accord.

          Néanmoins, pour un débutant, je trouve ça plus simple de commencer avec un langage à typage dynamique car il n’a pas besoin de se poser la question de ce qu’il va stocker dans sa variable avant de commencer à écrire son algorithme.

          Concernant la portée des variables, ce problème a été résolu dans la version ES6 (ES2015) de la spécification JavaScript grâce à l’introduction de let et const pour remplacer var.

          La portée des variables déclarées avec let et const est limitée au bloc d’instruction et non plus à la fonction comme c’était le cas avant avec le mot-clé var 👍.

          La version ES6 a apporté énormément de nouvelles fonctionnalités au JavaScript, qui a bien évolué « dans le bon sens » si je puis dire pour faciliter l’écriture de programmes avec des bonnes pratiques. Vous devriez y jeter à nouveau un oeil, je pense que vous seriez agréablement surpris de ce qu’il est possible de faire avec JavaScript aujourd’hui.

  15. Bonjour Jérémy, Merci d’abord pour ton tuto !!
    je me convertie dans le développement front-end depuis maintenant 1 an (en continuant mon job actuel dans les assurances), j’ai passé des certifications html /css/javascript et je veut me spécialiser en reactJS mais je galère pour me lancer et trouver des missions.
    Je ne sais pas par ou commencer aurai-tu quelques conseils ?

    1. Bonjour Jossar,

      Merci pour ton message.

      Je pense que le mieux serait de te créer un bon portfolio en utilisant React pour montrer « ce que tu sais faire » en utilisant ce framework.

      Ensuite il faut partir à la pêche aux offres d’emploi, j’ai compilé plusieurs sites d’offres d’emploi dans la section Comment décrocher votre premier job.

      Bon courage !
      Jérémy.

  16. Bonjour Jérémy,

    Je suis médecin et devant le rapport qualité/prix globalement pas excellent de l’offre existante, j’ai le projet de développer un logiciel médical (logiciel métier) accessible en ligne.

    Cela implique la création de plusieurs modules, notamment :
    – dossiers patients
    – prescription interfacée avec les logiciels d’aide à la prescription existant
    – réceptions des compte-rendus et résultats d’examens complémentaires par messagerie sécurisée
    – implémentation du DMP (dossier médical partagé dont vous avez peut-être entendu parler depuis quelques mois)
    – lecture de la carte vitale et télétransmission des feuilles de soins électroniques pour le remboursement des patients par l’Assurance Maladie
    – intégration des téléservices de l’Assurance Maladie (réalisation d’arrêt de travail, déclaration médecin traitant, déclaration d’accident de travail, etc.)
    – recettes journalières
    – prise de rdv en ligne pour les patients (sur le même principe que Doctolib)

    Mes questions sont les suivantes :
    – quel langage pensez-vous être le plus adapté ?
    – pensez-vous que je sois capable de faire cela (je suis globalement un béotien, mais j’ai fait un peu de programmation avec des logiciels de statistiques (SAS, R) et je comprends à peu près la logique de l’approche en programmation) et en combien de temps ?
    – combien de temps pensez-vous qu’il faudrait à un programmateur aguerri pour réaliser cela ? combien cela pourrait-il coûter ?

    Avec tous mes remerciements, cordialement.

    1. Bonjour Bertrand,

      Merci d’avoir pris le temps de me contacter.

      Je vous réponds dans l’ordre :

      1. Si vous souhaitez que votre logiciel soit accessible en ligne, depuis un navigateur, le HTML/CSS + JavaScript s’imposent immédiatement selon moi. Après pour le côté serveur, là vous pourrez avoir plusieurs choix : JavaScript (avec NodeJS), Python (avec Django), PHP, etc.
      2. Très honnêtement, si vous êtes béotien comme vous le dites, non, vous ne pourrez pas le faire tout seul. En tout cas pas dans une tranche de temps raisonnable.
      3. Même pour un développeur expérimenté, développer, tester et interfacer tous les modules que vous avez listés prendrait plusieurs années pour un seul homme. Je ne peux pas vous dire le prix exact que ça coûterait, mais probablement plusieurs centaines de milliers d’euros.

      Votre projet est très ambitieux et fait intervenir de nombreuses fonctionnalités et appels à d’autres services (assurance maladie, sécurité sociale etc.) qui peuvent évoluer pendant la phase de développement… Rajoutez à cela qu’il doit exister des règlementations en vigueur concernant la sécurité et le stockage des données des patients, des normes médicales à respecter etc.

      Toute cette lourdeur et complexité supplémentaire est sûrement responsable des prix actuels des logiciels concurrents à ce projet.
      Rien que pour réaliser Doctolib, c’est plusieurs mois de travail avec plusieurs ingénieurs à plein temps.

      Je pense que le mieux serait de partir sur une version édulcorée de ce que vous voulez faire et de demander à une ESN (anciennement une SSII) de chiffrer le prix d’un tel projet, juste pour avoir une idée « à la louche » d’une tarification. Mais sachez qu’il est très difficile de chiffrer un projet de cet envergure et en général on a tendance à sous-estimer le temps que ça prend.

      Vous pourriez partir avec une version 0 contenant le minimum vital selon vous pour résoudre les problèmes auxquels vous faites face au quotidien. Puis par la suite ajouter au fur et à mesure de nouvelles fonctionnalités.

      Essayez de demander le tarif d’une version 0 à une ESN juste pour avoir un ordre de grandeur, mais je parierai sur plusieurs centaines de milliers d’euros dès le départ.

      En espérant avoir répondu à vos questions.
      Jérémy.

      1. Merci beaucoup Jérémy pour votre réponse bien complète et vos conseils. Ca n’est pas très réjouissant mais c’est important que vous me l’ayez dit, merci. Je vais interroger 1 ou 2 ESN (je vous tiendrai au courant si leur réponse est intéressante).
        Bien à vous.

        1. De rien, je ne veux pas vous décourager dans votre projet mais je vous mets juste en garde que c’est ambitieux ;-).

          Je pense qu’ils auront besoin d’un maximum d’informations pour faire un devis le plus précis possible donc n’hésitez pas à discuter avec eux longuement sur votre vision finale de l’application.

          Je suis curieux de voir leurs estimations et tarifs…

          Bon courage.

  17. Merci à vous Jeremy. Votre article est complet, intéressant et surtout très instructif. Je l’ai lu en intégralité. Les commentaires également. J’avoue que je suis fasciné.

    J’étudie en ce moment JavaScript. Et je l’ai toujours conçu comme utile seulement dans le HTML/CSS. Mais avec votre article je pense que j’ai fais un bon choix. Mais je voudrais juste savoir s’il y a un langue complémentaire à JS pour construire une appli de bureau ou pour construire un site web avec des fonctions de gestion de taches para-administratives d’un établissement scolaire ou d’une université? Merci a vous.

    1. Merci Daniel.

      Effectivement à la base, JavaScript n’était utile qu’avec du HTML/CSS mais l’éco-système a bien évolué depuis et il est de plus en plus polyvalent.

      Pour faire une application de bureau, vous devrez apprendre en complément l’outil ElectronJS. Vous pourrez alors créer une application de bureau classique qui pourra fonctionner sur toutes les plateformes.

      N’hésitez pas si vous avez d’autres questions !

  18. Bonjour Jérémy ,
    Je suis entrain d’analyser « le meilleur choix » comme langage.

    J’ai une question fondamentale :

    J’ai cru comprendre en analysant et en lisant sur le net qu’avant de se lancer dans le langage Javascript. Il fallait d’abord maîtriser HTML et CSS.

    Est-ce que cela est bien vrai ?

    Merci

    1. Oui Thierry c’est exact.

      Je conseille d’apprendre le HTML en premier, puis le CSS et enfin le JavaScript (le plus complexe).
      Grâce à ces 3 langages on peut créer des applications complètes, de l’interface graphique à la gestion des données et à l’interactivité !

  19. Que Dieu benisse celui ou celle qui a fait ce article jusqu’à la fin des temps! il m’a veaiment aidé. je lui fais un gros coucou!

  20. Es que je peux utilisé javascript pour programmer une application de calcule comportent des fonctions trigonométrique? Si oui orienté moi. Merçi.

  21. Bonjour. Quels sont les outils dont j’ai besoin pour la programmation en javascript pour une application de calcul ?

  22. Merci pour la video Jérémy.
    Je souhaite utiliser python pour developper une application de bureau pour la gestion de services d une compagnie. Qu en pensez vous ?

    1. Bonjour,

      Je vous conseillerai plutôt d’utiliser du JavaScript avec ElecronJS car en Python, faire des interfaces graphiques n’est pas facile.
      Après vous faites vos propres choix ;-).

      Bon courage !

    1. Django ne permet pas de faire des applications de bureau mais uniquement des applications web.
      Vous devrez utiliser un autre outil pour transformer votre application web en application de bureau.

      Je connais assez peu les outils permettant de faire ça avec Python mais ça m’a l’air bien compliqué de se lancer dans un tel projet en tant que débutant.

      Vous risquez de rencontrer des problèmes pour construire votre application, par ailleurs elle ne sera compatible qu’avec Windows d’après les outils que j’ai pu voir qui permettent de transformer une appli web django en appli de bureau.

      Je vous conseille de tester toute votre chaîne de développement dans un premier temps avec une application très simple pour voir si vous arrivez à générer une application de bureau avec Python + Django avant de développer le reste de l’application. À mon avis vous allez rencontrer beaucoup de problèmes et de limitations.

      Très honnêtement je partirai plutôt vers une solution HTML/CSS/JS + ElectronJS pour être sûr que votre appli tourne sur Windows, Mac et Linux. Par ailleurs vous pourrez adapter facilement votre application en application web et même sur téléphone mobile… Avec Django et Python, ce sera beaucoup moins facile et extensible…

  23. Bonjour, j’ai trouvé votre article très intéressant. Tout est bien détaillé.
    J’ai juste quelques questions : as-t’on besoin d’un éditeur de code ? Sous quelle forme devrais-je représenter mon programme ? (forme algorithmique ou quoi?)
    Au fait je ne suis qu’un débutant, mais je suis passionné par la programmation. Votre aide me sera très utile. Merci d’avance pour votre réponse.

    1. Bonjour Shintaro,

      Merci pour ton message.

      Tu n’as pas besoin d’un éditeur de code mais c’est plutôt pratique et ça facilite la vie pour beaucoup de choses donc je te le conseille. Il y a Visual Studio Code qui est gratuit et vraiment très bien conçu.

      Si tu n’en veut vraiment pas, tout ce dont tu as besoin c’est d’un éditeur de texte simple (pas Microsoft Word ou autre éditeur de texte avancé !). Il faut un éditeur qui enregistre des fichiers textes simples, sans formatage particulier ou autre, comme le bloc-note sous Windows ou TextEdit sous MacOS ou GEdit sous Linux par exemple.

      Ton programme sera simplement ce fichier texte qui contiendra le code source a exécuter par l’ordinateur, tout simplement.

  24. Bonjour jérémy j’ai lu plus haut qu’on pouvait tester ses codes JS en ligne mais suis-je obligé d’être constamment connecté pour travailler sur JS Html et JSS ? Moi je suis au Cameroun et la connexion internet à domicile est un luxe que je n’ai pas.
    Merci du post et merci d’avance pour ta réponse

    1. Bonjour Mathieu,

      Non pas du tout ! Avec un simple navigateur, même sans connexion internet, tu peux tester ton code JavaScript, HTML et CSS !
      Je t’invite à lire cette documentation pour écrire ta page HTML : écrire une simple page HTML.

      Enfin il te suffira d’ajouter une balise script à la fin de ton body pour exécuter du code JavaScript dans ta page web, et ce même sans connexion internet :).

  25. Salut Jérémy merci beaucoup pour l’article…
    Je me suis lancée dans beaucoup de langages sans trouver un langage précis alors je voulais un langage qui pouvait faire des multiples choses à la fois et je vois maintenant que le JavaScript est un langage où je dois me spécialiser.
    Merci beaucoup

    1. Salut Léopold, merci pour ton message.

      Je suis content que mon article puisse t’aider à choisir ton premier langage ! Tu ne seras pas déçu avec le JavaScript, il est très polyvalent !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.