
Les 4 degrés de connaissance d’un langage
Vous êtes ici : Accueil / Articles / Formations globales
La programmation est une matière qui peut s’apprendre seule en apparence. Beaucoup de jeunes lisent des cours sur internet, modifient quelques scripts déjà tout faits, et prétendent savoir programmer. D’autres personnes ont effectué un apprentissage accéléré d’un langage, et diffusent des scripts mal conçus sur internet, que vont récupérer des néophytes qui auront toutes les peines du monde à acquérir de bonnes habitudes.
Connaître la syntaxe d’un langage ne signifie pas "savoir programmer" : plus que la syntaxe, la programmation demande des connaissances en conception de programmes, des connaissances dans les normes à respecter pour le travail collaboratif... Les langages évoluent, en revanche, l’art de programmer est atemporel.
Voici donc 4 degrés de connaissances d’un langage de programmation, sur lesquels chacun pourra s’évaluer :
Degré 1 : La connaissance de la syntaxe
A ce niveau, la syntaxe ne doit plus poser de problème pour le développeur : il ne doit plus se poser de question et se concentrer sur la problématique à résoudre. Il existe 2 éléments extérieurs permettant de savoir si un développeur a atteint ce niveau :
Sa rapidité de programmation ( à différencier du temps de conception du programme qui ne doit pas être bâclé ). Sa capacité à discuter pendant qu’il programme est parfois un autre signe extérieur.
Sa manière de débugger le code : typiquement, on différenciera un développeur connaissant la syntaxe de celui qui ne la connaît pas à la manière dont il cherche à trouver et résoudre un problème. Celui qui connaît mal la syntaxe essaye de faire quelques modifications, puis teste, puis remodifie, jusqu’à ce que "ça marche à peu près". Dès que cela marche, il n’y touche plus, de peur de le faire replanter. Le développeur connaissant la syntaxe effectuera une série de tests bien spécifiques pour cerner le problème, et une fois le problème trouvé, fera le nécessaire pour le corriger proprement.
Degré 2 : La connaissance des fonctions / de l’api
La plupart du temps, les fonctions d’un langage sont programmées à partir d’autres fonctions d’un plus bas niveau, ce qui signifie qu’il existe plusieurs manière d’effectuer le même traitement. On différencie un programmeur connaissant l’api de celui qui ne la connaît pas à l’utilisation inadéquate de fonctions primitives. Il existe souvent des fonctions permettant de faire exactement ce que le développeur désire. Inutile de réinventer la roue. Une bonne connaissance de l’api entraîne un grand gain de productivité et de lisibilité du code.
Degré 3 : La normalisation du code
Cette étape est la plus visible dans l’apprentissage d’un langage : il est extrêmement facile de différencier quelqu’un qui sait programmer de celui qui ne sait pas à cette étape. Il suffit de regarder les accolades, les espaces, les noms des variables... Le temps des savants fous qui inventaient leur avion, le construisaient de toute pièce et le pilotaient est révolu : nous sommes à l’ère du travail collaboratif, et, les langages étant permissifs, il est nécessaire d’adopter des conventions très strictes en matière de programmation. Ces conventions, inutile de les réinventer : elles existent déjà. Par exemple, une constante se nomme MA_CONSTANTE, une classe MaClasse, une méthode maMethode(), ... Les normes peuvent en fonction des entreprises, en revanche, au sein d’une entreprise, elles doivent être impérativement respectées.
Degré 4 : La conception de l’application
Ce degré constitue le degré suprême de connaissance de la programmation : savoir, étant donné une problématique, concevoir l’architecture de l’application, avec ses classes métier, et autre. Ce niveau est subtil, et peu y arrivent. Concevoir l’architecture du code est quelque chose d’"amusant", et beaucoup d’amateurs se lancent dans cette tâche sans aucune connaissance en la matière. Le résultat est une mauvaise architecture avec du code peu évolutif. Une bonne manière d’acquerir des connaissances dans ce domaine est d’observer le code de professionnels, et faites surtout très attention aux codes sur internet : n’importe qui peut publier n’importe quoi, et c’est malheureusement souvent le cas.
Ces 4 degrés constituent des étapes logiques à l’apprentissage d’un langage : il n’est pas possible d’apprendre à bien concevoir une application sans préalablement maîtriser parfaitement une syntaxe. Les 2e et 3e étapes peuvent être interverties, mais il faut passer par chacune d’elle.



