default_favicon

Ceci est une réaction à cet article Stop saying learning to code is easy et qui va dans le même sens.

Au début je disais aussi (y compris ici parfois) que c'était super facile de coder, et tout et tout (aah l’enthousiasme du débutant :p).

Mais avec le recul je pense que ça n'est une si bonne idée que ça, et cet article dit pourquoi : si on annonce quelque chose comme simple et que les gens n'y arrivent pas, ils laissent tomber. Si on leur dit que c'est difficile et qu'ils y arrivent quand même, ça les motive.
Si le but est effectivement d’enseigner la programmation et de créer de l’intérêt pour ce domaine, dire que c’est quelque chose de simple n’est donc peut-être la bonne solution.

Aussi, et ça dépend du public, mais faire faire quelque chose de simple à des gens n’est pas intéressant : certaines personnes veulent du fil à retordre, veulent chercher des solutions et découvrir comment ça marche ; pas qu’on leur donne des choses directement sur un plateau. C’est le cas des jeunes enfants (quand ils sont encore curieux), sûrement moins des jeunes adultes (qui veulent tout savoir faire tout de suite, pour avoir une ligne à ajouter sur un CV).

Bien sûr, on peut faire des choses basiques assez rapidement quand on commence à écrire du code : afficher un truc dans la console ou lire un fichier texte, par exemple. Ça prend 5~10 lignes d’écritures et en 1 ou 2 heures on a fait le tour.

Mais quand on veut ensuite le faire de façon efficace (sans bouffer les ressources système), ou qu'on commence à se heurter au problèmes du format de fichier, de l'encodage, ou de syntaxes ridicules (xml, csv...), bref quand on a des contraintes, comme on en a IRL, la facilité tombe assez vite.

Ça ne signifie pas que ce n'est pas drôle, amusant, enrichissant de coder des trucs compliqués, c'est juste qu'il vous arrivera forcément des moments où vous resterez des jours entiers sur un problème, à vous arracher les cheveux jusqu'à 3h du matin ou à exploser votre clavier contre un mur à cause de la frustration…

(Ce que je dis ici est également valable pour le HTML et le CSS, qui sont des langages aussi, mais pas de programmation)

Dans tous les cas, en prog retenez deux choses :

Liens :