BifaceMcLeOD The HighGlandeur | nonokao a écrit :
(...)
Selon ma modeste expérience , le meilleur chemin, qui est forcément le plus long, c'est de commencer par connaître l'électronique analogique, l'électronique numérique, la programmation en assembleur, la prommation en C, le c++ et puis éventuellement d'autres langages utilisant des couches plus hautes encore.
(...)
|
Toutes les études montrent que pour un programmeur donné, le nombre de bugs introduits par unité de nombre de lignes de code (généralement 1000) est globalement constant, ou au moins du même ordre de grandeur. Qu'il programme en assembleur ou dans un langage de très haut-niveau.
L'explication des neuropsychologues est que le nombre d'entités que doit manipuler le cerveau pour écrire des lignes de programmation est à tout instant plus important que le nombre d'entités que la mémoire à court terme ne peut en emmagasiner.
Les nombreuses études montrent également que les programmeurs qui introduisent le moins de bugs dans leurs programmes sont ceux qui réussissent le mieux à réduire le nombre d'informations qu'ils doivent manipuler à un instant donné. Et comme par hasard, ce sont ceux qui, précisément, ne pensent pas à l'optimisation de leur code source au moment où ils l'écrivent (ça fait d'autant moins d'informations auxquelles il faut penser).
Je ne dis pas qu'il ne faille pas penser à obtenir un code efficace (vous remarquerez, je n'ai pas dit "optimisé" ), mais le principal moment où il ne vaut mieux pas trop y penser est précisément le moment où on rédige son code. Avant, c'est le moment (choisir une architecture et des algorithmes appropriés), et après, une fois que le programme fonctionne, c'est encore le moment (en passant le tout à la moulinette du profileur pour trouver les goulets d'étranglement). Mais y penser pendant l'écriture du code, c'est le meilleur moyen d'écrire un programme qui ne marche pas, et sur lequel on va devoir ensuite passer des soirées entières à déboguer avec stress et fébrilité, et des journées entières en maintenance corrective alors que le logiciel est déjà en production. |