Si Lisp est si génial
Mai 2003
Si Lisp est si génial, pourquoi n'est-il pas plus utilisé ? Un étudiant dans l'audience m'a posé cette question lors d'une conférence que j'ai donnée récemment. Pas pour la première fois, d'ailleurs.
Dans les 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, rang des ventes, 44) vend-il plus que Jane Austen (Orgueil et Préjugés, rang des ventes, 6191) ? Grisham lui-même prétendrait-il que c'est parce qu'il est un meilleur écrivain ?
Voici la première phrase d'Orgueil et Préjugés :
C'est une vérité universellement reconnue qu'un célibataire pourvu d'une belle fortune doit avoir envie de se marier.
"C'est une vérité universellement reconnue ?" De grands 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 fait paraître complètement différent des langages auxquels la plupart des gens sont habitués. Avant d'apprendre Lisp, j'en avais peur aussi. Je suis récemment tombé sur un cahier 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 pas trop résistant à l'apprentissage de nouvelles choses. J'étais si ignorant qu'apprendre presque n'importe quoi signifiait apprendre de nouvelles choses.
Les gens effrayés par Lisp inventent d'autres raisons pour 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 de Lisp sont parmi les langages les plus rapides disponibles, cette excuse a disparu. Maintenant, l'excuse standard est ouvertement circulaire : que d'autres langages sont plus populaires.
(Méfiez-vous d'un tel raisonnement. Il vous donne 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 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, parce qu'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 pour utiliser autre chose que le plus populaire. Mais ils ne le sont pas, loin de là. Et c'est pourquoi les 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 qui lisent Jane Austen à la place.