Remonter

Quel langage de programmation apprendre ?

La question des langages de programmation se pose, elle se pose très vite quand nos enfants apprennent à coder. Et comme il en existe des centaines; pas si facile de choisir quel langage de programmation apprendre. Quand nos enfants apprennent à coder, de nos jours, le plus souvent ils  commencent avec du no code; comme scratch. Cela permet de commencer à programmer en se concentrant sur l’algorithmique, la logique. Et c’est très pertinent. Comme souvent, il n’y a pas de réponse unique; qui est valable pour tout le monde. Alors j’ai questionné nos intervenants en codage autour de 2 « filtres » : les parties 1 et 2 de cet article !

1/ QUEL LANGAGE DE PROGRAMMATION APPRENDRE QUAND ON EST DÉBUTANT ?

1-1 Quand on n’a vraiment aucune idée de ce que ca veut dire écrire des lignes de code informatique :  Html et css et javascript

Pour commencer le développement informatique, on peut passer par des jeux ou des outils simplifiés. Ce type d’outils de programmation évite d’avoir à maîtriser les langages informatiques. Et c’est très bien pour certains débutants..

Mais chez Digi Activity, nous voyons régulièrement des jeunes qui souhaitent faire pour de vrai. Pour faire un parallèle, certains vont être contents d’apprendre à jouer de la guitare avec un jeu comme guitar hero; alors que d’autres vont vouloir apprendre avec une vraie guitare.

Pour les plus jeunes, les 11/12/13 ans, qui veulent se frotter directement aux langages informatiques; le HTML et le CSS sont une bonne option. Ce sont des langages informatiques simples. Ils permettent de voir rapidement l’effet d’écrire des lignes de code, en créant des pages web. C’est très gratifiant; tout en apprenant la rigueur nécessaire au codage.

Attention, ces deux langages ne sont pas des langages de programmation au sens strict. Pour aller vers la vraie programmation, il faut les associer au javascript.

C’est un langage qui permet de faire beaucoup de choses différentes. Et cela permet de découvrir alors vraiment l’algorithmique : fonctions, boucles, variables, conditions. Toutes choses qui n’existent pas avec le html et css.C’est donc ces langages web, html/Css/Javascript que nous utilisons dans nos stages de codage débutant, ainsi que dans nos cours hebdomadaires débutants; plus particulièrement pour les plus jeunes de nos élèves.

Quel langage de programmation apprendre

1-2 Quand on est sûr ou sûre de vouloir apprendre à programmer : le Python

Vu le succès de notre stage et de nos cours Python, je pense que beaucoup d’entre vous savent pourquoi il est pertinent pour un débutant d’apprendre le langage Python. 

Mais je sais bien que ce n’est pas le cas de tous les parents; surtout ceux qui cherchent à cultiver un intérêt chez leur enfant. Et qui ne sont pas du tout dans le domaine informatique. Quatre raisons au moins pour apprendre le python quand on est en fin de collège ou au lycée :

Première raison : le Python est le langage qui a été choisi pour les programmes scolaires au lycée.  Apprendre le python, c’est donc 

  • soit une façon de prendre de l’avance: si votre ado par exemple choisit la spécialité NSI, ça peut beaucoup l’aider.
  • soit de ne pas prendre de retard : bien que cela soit dans les programmes, il peut encore arriver que votre ado ne fasse quasiment pas de python au lycée. Ou que la spécialité NSI n’existe pas dans son lycée. Et pour faire certaines études post-bac, ça peut donner un vrai retard de n’avoir aucunes bases en programmation Python

 

Deuxième raison, cela permet d’utiliser un langage simple; enfin pas aussi compliqué que d’autres. C’est bien d’ailleurs pour cela qu’il a été choisi pour les lycéens.

 

Troisième raison : le Python est un des langages les plus polyvalents. Savoir programmer en python ouvre un champ de possibles quasi infinis.

 

Quatrième raison : le Python est le langage de l’intelligence artificielle. Donc le langage d’un des secteurs informatiques les plus porteurs. Et pour finir sur les langages pour débutant :

  • Nos intervenants ont du mal à trancher entre Python ou le combo HTML/CSS/Javascript. Ce qui montre que les langages informatiques c’est aussi une question de goût ou de style de programmation.
  • Mais de mon expérience de 5 ans chez Digi Activity : si votre enfant est vraiment jeune (classe de 6e/5e), ou pas franchement geek; il vaut mieux le faire démarrer avec HTML/CSS/Javascript  plutôt que le python. 

2/ QUEL LANGAGE DE PROGRAMMATION APPRENDRE : APPRENDRE EN FONCTION DE CE QU’ON VEUT CRÉER

Ce qui me désole parfois au sujet de l’apprentissage du codage : on oublie qu’on code pour créer quelque chose. C’est le côté un peu magique des codes informatiques. Et du coup, selon ce qu’on veut créer en programmant, et bien les langages vont être différents. Je vais me pencher sur 2 cas uniquement : ceux qui reviennent le plus souvent dans les demandes que nous avons :

  • les langages de programmation des jeux-vidéo
  • les langages pour coder des applications mobiles

 

2-1 Quels langages informatiques apprendre pour créer des jeux vidéo ?

Je commence juste par rappeler que pour créer des jeux vidéo, il est possible d’utiliser des moteurs de jeux vidéo où la programmation se fait sans lignes de code. Comme Construct que nous utilisons dans notre stage de débutant en création de jeux video. Mais c’est aussi vrai pour des moteurs de jeu video bien plus élaborés comme Unreal et ses blue print.

 

Cependant, assez vite, on peut se trouver limité, et vouloir programmer ses propres scripts. Les scripts sont des mini programmes informatiques qui permettent de mettre en place les mécaniques de jeu. Par exemple, pour gérer le mouvement de l’avatar du jeu, on crée un script de déplacement. 

Et à partir de là, pour avoir plus de liberté dans le développement de son jeu; certains langages sont incontournables. Au point qu’il n’y a pas eu de débat entre nos intervenants sur ceux-ci.

En première position, le C# : c’est le langage utilisé dans le monde du jeu vidéo qui est le plus abordable. C’est donc celui que recommandent nos intervenants pour ceux qui débutent en programmation de jeux vidéo. Et c’est bien pour cela que nos stages et cours de jeux video se font le plus vite possible sur Unity qui utilise ce langage. 

 

En deuxième position : le C++ plus compliqué mais qui offrent beaucoup de possibilités. Le C++ est ainsi le langage utilisé dans Unreal Engine; quand on veut faire sa propre programmation.
Enfin, pour ceux qui sont déjà très à l’aise avec du C# ou du C++, il est possible d’aller vers le C. Vraiment déconseillé aux débutants.

2/2 Quels langages pour développer des applications mobiles ?

Ce n’est pas le plus fréquent, mais il nous arrive de temps en temps d’avoir des demandes pour faire des applications mobiles. On parle bien d’applications qui vont être utilisables sur un smartphone. Pas beaucoup de choix de ce côté là, les chouchous de nos intervenants sont :

  • Swift : incontournable pour des applications qui tournent sur IOS (Iphone et Ipad)
  • Flutter 
  • React native
  • Kotlin

S’il faut t en choisir un seul, plus particulièrement pour les débutants, nos intervenants recommande le React native. C’est un langage encore assez simple à prendre en main; et qui est polyvalent pour le développement des applications.

Voilà une première série de recommandations sur quel langage de programmation apprendre.

Il y a un critère que je n’ai pas abordé ici : choisir parmi les langages de programmation les plus utilisés; C’est un critère pertinent plutôt pour ceux qui apprennent à programmer dans l’optique de devenir développeur ou programmeur professionnel.  Et ça méritera donc un autre article !

 Pour finir, je reprends aussi ce que m’ont dit Charlélie, Erwan, Florian, Justine, Mattéo, Mehdi, Stéphane, et qui me semble vraiment clé autour de la question de quel langage de programmation apprendre :

  • C’est comme les langues vivantes étrangères : plus on en apprend, plus c’est facile à apprendre. Et c’est encore plus vrai pour les différents langages informatiques
  • Quel que soit le langage choisi, bien penser que l’algorithmique est clé. C’est ce qui permet de coder efficacement; et de passer facilement d’un langage à un autre.

N’hésitez pas par exemple à me faire part de questions que vous avez et que vous aimeriez voir traiter dans un prochain article.

 

Par Fabienne Saletes Lefevre, de Digi Activity.