On ne peut pas raconter des conneries à une machine

jeudi 23 avril 2020 par SocraticDev

Donald Knuth est un informaticien et mathématicien américain de renom, professeur émérite en informatique à l'université Stanford (en tant que « professeur émérite de l'art de programmer »). Il est un des pionniers de l'algorithmique et a fait de nombreuses contributions dans plusieurs branches de l'informatique théorique.

-- Wikipedia.org

Je crois qu'il y a un gouffre entre les programmeurs et les «gens ordinaires». Les programmeurs authentiques ont un dialogue continu avec les ordinateurs. Un vrai dialogue au sens où l'homme et la machine sont de bonne foi et interagissent selon des règles bien définies afin de faire d'un programme un produit possédant une valeur. Chaque fois que le programmeur s'écarte des règles, le programme ne compile pas ou il se comporte bizarrement. Le vrai défi d'un programmeur est de bien comprendre ce qu'il doit faire pour indiquer à la machine ce qu'elle doit faire.

La communication humaine tolère les propos vagues et imprécis. Lorsque vous parlez à quelqu'un, vous pouvez le voir hocher la tête et réagir comme s'il comprenait et était d'accord avec vous. Mais comment pouvez-vous être sûr qu'une autre personne comprend votre message comme vous le pensiez ? Peut-être qu'il bluffe ou ... il est un peu trop bien adapté socialement! D'un autre côté, vous ne pouvez pas vous en sortir en racontant des conneries à votre machine. Elle suivra vos instructions.

La meilleure façon de communiquer d'un être humain à un autre est par le biais d'histoires.

-- Donald Knuth

Knuth est peut-être un ancêtre de la philosophie Clean Code. Cependant, l'idée d'écrire du code à la fois efficace et facile à entretenir est une constante dans le métier. Le concept de «programmation littérale» fait référence à une pratique qui considère le code à la fois comme un langage de programmation qu'un langage de documentation.

Le code devrait raconter une histoire au lecteur humain.

Les programmeurs professionnels laissent le code parler de lui-même. Ils s'engagent dans un projet et écrivent des programmes robustes et faciles à entretenir. La documentation externe est au minimum et le code peut vivre de façon autonome. D'un autre côté, les programmeurs amateurs pensent à l'ici et maintenant : écrire du code rapide et sale sans penser à deux fois au lendemain. Certains pensent même que s'ils produisent du code alambiqué, ils assurent eux-mêmes leur propre sécurité de l'emploi ...

Bonus

Le succès d'une personne dans la vie est déterminé par un minimum élevé, pas un maximum élevé. Si vous pouvez vraiment bien faire quelque chose mais que vous échouez sur d’autres points, ces derniers vous freineront. Mais si presque tout ce que vous faites est là-haut, alors vous avez une bonne vie.

-- Donald Knuth

Sources

"Donald Knuth", Wikipedia.org

The Computer Scientist Who Can’t Stop Telling Stories (2020)