Fluidité


Sur Exercism, l'objectif d'un parcours de langage est de donner les moyens d'atteindre une grande fluidité à un faible niveau de compétence.

On vise la fluidité dans la syntaxe, les idiomes et la bibliothèque standard du langage.

Les Language Hunters décrivent la fluidité ainsi :

Ce que tu es capable de dire quand on te réveille en pleine nuit avec une lampe torche braquée sur le visage.

Cela se distingue du concept de compétence, qui ne relève pas de l'aisance, mais du degré.

Ils décrivent quatre niveaux de compétence :

  1. Des idées simples et concrètes : c'est souvent suffisant pour se débrouiller tant bien que mal dans les échanges simples du quotidien. « J'ai soif ». « Bonne musique ». « Encore un ».
  2. Des phrases simples et complètes : la capacité de tenir une conversation simple et de comprendre les réponses.
  3. Des phrases complexes : on peut avoir des conversations intéressantes, raconter des histoires.
  4. Des idées complexes : on peut discuter de choses compliquées, comme des sujets sociaux, économiques et politiques.

On peut être capable d'accomplir quelque chose à un niveau donné sans pouvoir le faire sous pression. La compétence n'implique pas automatiquement la fluidité.

Bien que ces niveaux aient été définis dans le contexte des langues humaines, ils correspondent assez bien aux langages de programmation.

  1. La syntaxe de base : la capacité d'utiliser les structures de données et les fonctionnalités de base du langage
  2. Des programmes simples : on arrive à assembler un petit programme pour résoudre un petit problème
  3. Des programmes du monde réel : on sait utiliser le langage de programmation pour résoudre des problèmes du quotidien grâce aux outils et aux bibliothèques de l'écosystème élargi du langage.
  4. Une connaissance approfondie du langage et de son écosystème : au lieu d'utiliser ce qui existe, on participe à inventer de nouveaux outils, à améliorer le langage et à faire évoluer l'écosystème

Dans ce cadre, avec Exercism, on vise une grande fluidité à un niveau de compétence 2. Cela comble l'écart entre « Hello, World » et la productivité.

Être fluide à ce niveau de base permet de concentrer toute son attention sur une réflexion d'un niveau supérieur, plus utile. Cela les met aussi dans une bonne position pour exploiter les ressources et la documentation existantes du langage.