Loading...

SI LISP EST SI GÉNIAL

Original

Mai 2003

Si Lisp est si génial, pourquoi plus de gens ne l'utilisent-ils 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.

Dans les langages, comme dans tant de 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) vend-il plus que Jane Austen (Pride and Prejudice classement des ventes, 6191) ? Grisham prétendrait-il même que c'est parce qu'il est un meilleur écrivain ?

Voici la première phrase de Pride and Prejudice :

C'est une vérité universellement reconnue qu'un homme seul en possession d'une bonne fortune doit être en quête d'une femme.

"C'est une vérité universellement reconnue ?" De longs mots pour la première phrase d'une histoire d'amour.

Comme Jane Austen, Lisp semble difficile. Sa syntaxe, ou son absence de syntaxe, le rend complètement différent des langages auxquels la plupart des gens sont habitués. Avant d'apprendre Lisp, j'en avais aussi peur. Je suis récemment tombé sur un carnet de 1983 dans lequel j'avais écrit :

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

Heureusement, j'avais 19 ans à l'époque et je n'étais pas trop réticent à apprendre de nouvelles choses. J'étais si 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 figurent parmi les langages les plus rapides disponibles, cette excuse a disparu. Maintenant, l'excuse standard est ouvertement circulaire : d'autres langages sont plus populaires.

(Faites attention à ce genre de raisonnement. Cela vous mène à Windows.)

La popularité est toujours auto-perpétuante, mais c'est particulièrement vrai dans les langages de programmation. Plus de bibliothèques sont écrites pour des langages populaires, ce qui les rend encore plus populaires. Les programmes doivent souvent travailler 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 levier sur les développeurs, qui peuvent être remplacés plus facilement.

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