lundi 23 février 2015

A0616 Différence entre langages impératifs et langages déclaratifs

Les langages impératifs, ce sont les langages classiques, comme Java, C#, C++, etc

Les langages déclaratifs, ce sont les langages basés sur la logique, comme PROLOG ou DATALOG, ou les langages à base de contraintes.

Dans un langage impératif, on dit ce que l'on fait

Dans un langage déclaratif, ont dit ce que l'on veut

Programmer en langage déclaratif, c'est expliquer à la cuisinière ce que l'on veut

Programmer en langage impératif, c'est faire soi-même la cuisine

99,9% des programmeurs choisissent la seconde solution.


Pour arriver à un résultat final précis pour le diner,  le langage déclaratif demande beaucoup plus de réflexion, de maîtrise, de connaissance en profondeur du domaine, d'anticipation.

Nous sommes ici dans un cas où dire est plus difficile que faire.

On peut voir aussi ce choix de presque tous les programmeurs comme une illustration  du  théorème des 15 minutes maximum de réflexion:

http://plexus-logos-calx.blogspot.fr/2009/10/a0018-theoreme-des-15-minutes-maximum.html

Bien sûr, comme presque personne ne programme en langage déclaratif, il existe peu d'environnements de développement, de communautés de développeurs, comme on en trouve à profusion pour les langages impératifs, ce qui est une autre bonne raison de continuer à travailler plus pour réfléchir moins.

Aucun commentaire: