Premier langage de programmation : comment le choisir ?

Aujourd’hui sur CodeKing, on s’attaque à un sujet à débat. Il est vrai qu’il y a presque autant d’avis sur ce qu’est le meilleur premier langage de programmation que de développeurs. C’est certainement parce qu’il n’existe pas de réponse absolue à la question. Plutôt de que verser de l’huile sur le feu en prenant le parti pour l’un ou l’autre, on va essayer de te donner des pistes pour faire ton choix. Il doit être réfléchi et dépendre à la fois de tes goûts et objectifs professionnels.

Un premier langage de programmation pour faire quoi ?

Premier langage de programmation : lequel choisir ?

Des langages de programmation, il y en a plein. Des interprétés, des compilés, des orientés objets, des itératifs, des dédiés… Seulement voilà, quand on débute, à part se dire qu’on préfère danser la Java à nourrir son Python ou qu’on est irrationnellement attiré par le Ruby ou autre babiole clinquante, on n’a pas vraiment de point d’appui. C’est bien pour ça qu’en tant que jeune programmeur tu devrais tout d’abord te demander pourquoi tu veux apprendre à coder.

Dans tous les cas, il existe une étape préalable au choix du langage, qui sera utile pour tous. Il s’agit de se pencher sur l’algorithmique. L’idée, avant même de commencer à coder, est de comprendre comment se comporte un programme informatique, et donc comment par la suite créer ton propre algorithme. En gros, écrire un algo revient à écrire une recette de cuisine. Ça n’a pas vraiment de saveur, mais ça structure le reste de la confection du plat, aka du développement.

C’est bien beau, mais à un moment ou un autre, il va quand même falloir prendre une décision. Viens alors l’éternelle question d’apprendre un langage populaire ou un langage de niche. La première option a l’intérêt d’offrir plus de possibilités, et généralement de ressources pour apprendre. Le second cas de limiter la concurrence sur le marché du travail. Les deux positions ont leurs avantages et inconvénients. En tant que tout premier langage, un outil passepartout ne semble cependant pas être la plus mauvaise décision, d’autant qu’il te sera toujours possible (voire conseillé) de te spécialiser par la suite.

Choisir son premier langage de programmation selon son domaine d’application

Il existe plusieurs centaines de langages, tous plus ou moins utiles et différents. Certains sont généralistes, d’autres dédiés. C’est une première piste de réflexion qui n’est pas à négliger. Tu dois certainement avoir en tête cette image d’épinal du développeur que tu aimerais être. Alors, tu te vois plutôt Alan Turing pour sauver le monde ou Linus Torvalds pour révolutionner l’accès à la technologie ? Quel que soit ton choix, voici quelques langages classés par domaine d’application.

  • Web : PHP, JavaScript, Golang (le langage de Google). + HTML et CSS qui ne sont pas vraiment des langages de programmation, mais incontournables du web.
  • Applications mobile : Java, Swift (iOS), Kotlin (Android), JavaScript (avec React Native).
  • Applications de bureau : JavaScript (avec le framework Electron).
  • Jeux vidéo : C++, C#, GML, Ruby (selon le moteur de jeux vidéos).
  • Généralistes : Python, Java, C, JavaScript (qui s’est sorti de son usage web).

Langages de programmation dits pour débutants

Quand on s’intéresse aux meilleurs langages pour commencer, on retombe un peu toujours sur les mêmes listes. La séparation se fait généralement entre ceux qui prônent l’apprentissage d’un langage dit compliqué dès le départ pour être prêt à tout, et ceux qui pensent que commencer par maîtriser les bases n’est pas la pire idée. Si tu as un avis sur la question, tu es invité à passer en commentaires. Nous on pense plutôt qu’y aller crescendo te permettra de ne pas te décourager. Pouvoir commencer à programmer et avoir des premiers résultats (balbutiants) assez rapidement est généralement encourageant ! Par conséquence, tu devrais peut-être te renseigner sur :

  • Scratch : pas un « vrai » langage mais permet de construire de petits programmes avec des blocs d’instruction.
  • Scheme : souvent enseigné par les universités pour poser les bases et introduire la programmation fonctionnelle.
  • Python : sa syntaxe est facile à lire et il peut servir à tous types de développement. Il est notamment enseigné comme premier langage de programmation au Lycée en France.
  • JavaScript : le roi de l’animation web a l’avantage d’être visuel et donc de voir directement ce qu’il se passe. En plus, il sert désormais en full stack grâce à Node.js qui permet de l’utiliser côté serveur.
trends.embed.renderExploreWidget(« TIMESERIES », {« comparisonItem »:[{« keyword »: »/m/060kv », »geo »: »FR », »time »: »today 5-y »},{« keyword »: »/m/05z1_ », »geo »: »FR », »time »: »today 5-y »},{« keyword »: »/m/02p97″, »geo »: »FR », »time »: »today 5-y »},{« keyword »: »/m/01t6b », »geo »: »FR », »time »: »today 5-y »},{« keyword »: »/m/07sbkfb », »geo »: »FR », »time »: »today 5-y »}], »category »:0, »property »: » »}, {« exploreQuery »: »date=today%205-y&geo=FR&q=%2Fm%2F060kv,%2Fm%2F05z1_,%2Fm%2F02p97,%2Fm%2F01t6b,%2Fm%2F07sbkfb », »guestPath »: »https://trends.google.fr:443/trends/embed/ »});

La remontée de la popularité de Python est assez impressionnante !
Source : Google trends

Langage compilé ou langage interprété ?

Parmi les principales différences entre les langages de programmation, on retrouve en toute logique leur mode de fonctionnement. Ils ne seraient surement pas aussi nombreux s’ils suivaient tous la même logique. La distinction se fait avant tout selon qu’ils soient compilés ou interprétés. Dans le premier cas, on retrouve C, C++, C#, Java, Golang, Swift, Kotlin ou Pascal parmi les principales options. Côté interprétation, on parle de PHP, Perl, Python, Ruby ou encore JavaScript.

Un programme codé grâce à un langage compilé est écrit puis passé à travers un compilateur. On obtient alors sa version binaire une bonne fois pour toute. Il peut ainsi facilement être vendu comme programme indépendant. Il dépend toutefois de l’architecture machine. S’il est conçu pour Linux, il ne tournera pas forcément sous Windows, et inversement.

Les langages interprétés permettent une meilleure portabilité du code puisqu’il ne dépend plus du système d’exploitation. Il est au contraire exécuté à chaque utilisation par un interpréteur. Il faut donc cette fois disposer d’un interpréteur adéquat. Autre problème, puisque le programme est exécuté chez le client, celui-ci doit disposer du code source, et peut donc voir comment il fonctionne, voire réutiliser le code.

Au final, son fonctionnement ne devrait pas influencer le choix de ton premier langage de programmation. Idéalement, au cours de ta carrière, tu apprendras les deux. Garde quand même en tête que si ton objectif numéro un est de développer des programmes ou logiciels destinés à la vente, il y a de grandes chances pour qu’un langage compilé s’impose. Si par contre ta préoccupation principale est de traiter des données, le programme n’est qu’un outil, pas un but en soi. Il peut alors sembler plus adapté de passer par un langage interprété.

Conclusion

Si tu as l’impression qu’on vient de t’envoyer plein d’info, mais sans te donner de réponse, c’est normal. Le but de cet article n’est pas de t’imposer, en bons dictateurs, notre langage préféré (en plus on ne serait pas forcément d’accord). Par contre maintenant, tu peux te poser les bonnes questions pour trouver tes propres réponses. Si tu es carriériste, tu regarderas surement également du côté du marché de l’emploi et des meilleurs salaires par technologie. Tu devrais alors rapidement te rendre compte que le développement full stack a de beaux jours devant lui et que la demande de développeurs mobiles a explosé en 2017. On attend tes commentaires pour connaître le premier langage de programmation que tu as au final décidé d’apprendre !