Loading...

SI LISP EST SI BIEN

Original

Mai 2003

Si Lisp est si bien, pourquoi tant de gens ne l'utilisent pas ? On m'a posé cette question par un étudiant dans le public lors d'une conférence que j'ai donnée récemment. Ce n'est pas la première fois, non plus.

En matière de langages, comme dans tant d'autres choses, il n'y a pas beaucoup de corrélation entre la popularité et la qualité. Pourquoi John Grisham (King of Torts classement des ventes, 44) se vend-t-il mieux que Jane Austen (Pride and Prejudice classement des ventes, 6191) ? Même Grisham affirmerait-il que c'est parce qu'il est un meilleur écrivain ?

Voici la première phrase de Pride and Prejudice :

Il est universellement reconnu qu'un homme célibataire en possession d'une bonne fortune doit être à la recherche d'une femme.

"Il est universellement reconnu ?" Des mots longs pour la première phrase d'une histoire d'amour.

Comme Jane Austen, Lisp a l'air difficile. Sa syntaxe, ou l'absence de syntaxe, la rend complètement différente des langages que la plupart des gens connaissent. Avant d'apprendre Lisp, j'avais peur de lui aussi. J'ai récemment trouvé un carnet de 1983 dans lequel j'avais écrit :

Je suppose que je devrais apprendre Lisp, mais il me semble si étranger.

Heureusement, j'avais 19 ans à l'époque et je n'étais pas trop résistant à l'apprentissage de nouvelles choses. J'étais tellement ignorant que l'apprentissage de presque n'importe quoi signifiait apprendre de nouvelles choses.

Les gens effrayés par Lisp inventent d'autres raisons de ne pas l'utiliser. L'excuse standard, à l'époque où C était le langage par défaut, était que Lisp était trop lent. Maintenant que les dialectes Lisp sont parmi les langages les plus rapides disponibles, cette excuse a disparu. Maintenant, l'excuse standard est ouvertement circulaire : que les autres langages sont plus populaires.

(Méfiez-vous de ce genre de raisonnement. Il vous amène à Windows.)

La popularité est toujours auto-entretenue, mais c'est particulièrement vrai pour les langages de programmation. Plus de bibliothèques sont écrites pour les langages populaires, ce qui les rend encore plus populaires. Les programmes doivent souvent fonctionner avec des programmes existants, et c'est plus facile s'ils sont écrits dans le même langage, donc les langages se propagent de programme en programme comme un virus. Et les managers préfèrent les langages populaires, car ils leur donnent plus de pouvoir sur les développeurs, qui peuvent plus facilement être remplacés.

En effet, si les langages de programmation étaient tous plus ou moins équivalents, il y aurait peu de justification à utiliser autre chose que le plus populaire. Mais ils ne sont pas tous équivalents, et de loin. Et c'est pourquoi les langages moins populaires, comme les romans de Jane Austen, continuent de survivre. Quand tout le monde lit le dernier roman de John Grisham, il y aura toujours quelques personnes qui liront Jane Austen à la place.