Je trouve que la plupart des formations ne dispensent pas certaines notions pourtant essentielles, à savoir indenter correctement, les bonnes pratiques pour coder proprement, utiliser un logiciel de gestion de version, etc. Ces notions sont rapides, en 20h il y a de quoi voir l'essentiel, et souvent distillés au gré de la compétence des profs mais cela n'est pas suffisamment clair et encadré pour faire office de notion « assimilée ». Vu la qualité du code produit par un étudiant qui sort de cours, on peut sérieusement se poser la question…
On peut parler autant qu'on veut d'ingénierie logicielle, d'études, ou autre, il n'y a que deux façons d'apprendre a coder : c'est bouffer du code, ou bouffer du code (en fait il y a aussi par les maths, la calculabilité et l'algorithmie mais leur code reste complètement dégueu).
La notion de "beau code", elle ne vient qu'apres quelques années de lecture de code, on ne peut pas demander à un perdreau de la dernière pluie de comprendre pourquoi utiliser 150 outils bizarres et spécifiques au code alors qu'il a toujours utilisé Word, clef USB et dropbox, qu'il ne sait pas ce qu'est un serveur ou une ligne de commande (ou en a une notion très floue), et qu'il serait de toute façon incapable de patcher les 250 lignes qu'il a pondu pour calculer factorielle en C.
Le programmeur est quand même un artisan, il n'y a pas de science exacte. Certes, il y a des formalismes et beaucoup de théorèmes, certains outils permettent même de s'abstraire du code pour générer un programme parfait selon les contraintes décrites (a savoir Coq), mais la programmation n'est pas exacte. Ça demande plus de fealing et d'expérience qu'on peut le croire, au final.
C'est un peu comme les ingénieurs qui ne comprennent pas pourquoi on devrait se soucier du client (certains appellent ca de la lèche), genre lui souhaiter bon anniversaire/bonne année/joyeux noël, ou laisser de la place au marketing lors de la conception du produit (``Si le produit est bon, il se vendra !'').
De toute façon, et pour en revenir au code, si l'étudiant en question n'est pas à l'aise avec la programmation, il n'y restera que le temps nécessaire et passera vite à autre chose. Au contraire, celui qui y voit un intérêt (même pécunier) persévèrera et s’améliorera.
[^] # C'est en forgeant qu'on devient forgeron
Posté par mackwic . En réponse au journal Vendre de l'open source illégal??. Évalué à 6.
On peut parler autant qu'on veut d'ingénierie logicielle, d'études, ou autre, il n'y a que deux façons d'apprendre a coder : c'est bouffer du code, ou bouffer du code (en fait il y a aussi par les maths, la calculabilité et l'algorithmie mais leur code reste complètement dégueu).
La notion de "beau code", elle ne vient qu'apres quelques années de lecture de code, on ne peut pas demander à un perdreau de la dernière pluie de comprendre pourquoi utiliser 150 outils bizarres et spécifiques au code alors qu'il a toujours utilisé Word, clef USB et dropbox, qu'il ne sait pas ce qu'est un serveur ou une ligne de commande (ou en a une notion très floue), et qu'il serait de toute façon incapable de patcher les 250 lignes qu'il a pondu pour calculer factorielle en C.
Le programmeur est quand même un artisan, il n'y a pas de science exacte. Certes, il y a des formalismes et beaucoup de théorèmes, certains outils permettent même de s'abstraire du code pour générer un programme parfait selon les contraintes décrites (a savoir Coq), mais la programmation n'est pas exacte. Ça demande plus de fealing et d'expérience qu'on peut le croire, au final.
C'est un peu comme les ingénieurs qui ne comprennent pas pourquoi on devrait se soucier du client (certains appellent ca de la lèche), genre lui souhaiter bon anniversaire/bonne année/joyeux noël, ou laisser de la place au marketing lors de la conception du produit (``Si le produit est bon, il se vendra !'').
De toute façon, et pour en revenir au code, si l'étudiant en question n'est pas à l'aise avec la programmation, il n'y restera que le temps nécessaire et passera vite à autre chose. Au contraire, celui qui y voit un intérêt (même pécunier) persévèrera et s’améliorera.