Cette question nous est souvent posée. Ici, nous allons tenter de donner plusieurs réponses.
La réponse la plus honnête est sans doute "parce qu'à l'université Bordeaux 1, il y a plusieurs enseignants qui connaissent bien ce langage, et qui pensent que leur connaissance mérite d'être transmise aux étudiants". La façon la plus facile de transmettre cette connaissance est d'employer ce langage dans des unités d'enseignement de programmation.
La réponse de la section précédente n'adresse pas certains doutes de certains étudiants concernant la qualité intrinsèque du langage Lisp. Après tout, le fait que certains enseignants soient compétents ne justifie pas la transmission de ces compétences aux étudiants, si les compétences concernent un mauvais langage.
En fait, le langage Lisp est probablement l'un des langages généralistes les plus sophistiqués (très haut niveau avec beaucoup de fonctionnalités). Une façon de voir les choses est que le langage a été conçu pour offrir le maximum de fonctionnalités sans sacrifier la performance. Autrement dit, les concepteurs du langage ont systématiquement veillé à ce que ce soit possible d'écrire un compilateur dont le code généré reste très rapide, et une fonctionnalité a été incluse si et seulement si cette contrainte est respectée.
Plus en détail, Lisp est un langage dynamique ce qui signifie qu'il n'y a pas de distinction entre les phase de compilation et d'exécution. Cela nécessite la possibilité de modifier des classes et des fonctions à l'exécution, et cette possibilité encourage un style de développement où l'application continue son exécution alors qu'elle est modifiée interactivement par le développeur.
Voir également la liste de fonctionnalités de Lisp dont un grand nombre n'existe que dans ce langage.
La réponse de la section précédente laisse certains étudiants perplexes. Si Lisp est l'un des meilleurs langages généralistes, alors pourquoi n'est-il pas plus répandu dans l'industrie du logiciel?
En réalité, c'est une question assez naïve, qui suppose que si quelque chose est bon, celui-ci sera forcement préféré, et que l'industrie du logiciel, en apprenant le degré de sophistication de Lisp par rapport aux autres langages, l'aurait employé depuis longtemps. Cette supposition est malheureusement fausse, non seulement dans l'industrie du logiciel, mais en général. Il y a un tas de raisons pour qu'une technologie soit choisie autres que sa qualité intrinsèque, comme la publicité, les vieilles habitudes, l'ignorance, etc.
Mais comment est-ce possible que l'industrie, en principe à la frontière de la haute technologie, ne soit pas capable de reconnaître la supériorité d'un outil par rapport à un autre? C'est relativement facile à expliquer. Les décideurs dans l'industrie du logiciel n'ont en général pas de connaissances de la technologie employée. Ils dépendent donc de sources d'information comme les journalistes des hebdomadaires d'informatique, la publicité des créateurs de ces technologies, et ils regardent surtout ce que font les autres décideurs dans la même position, ce qui crée un phénomène d'uniformisation autour de technologies devenues populaires le plus souvent pour des raisons non liées à leurs qualités intrinsèques.
La réponse de la section précédente met parfois certains étudiants en colère. "Peu importe", raisonnent ils, "si l'industrie du logiciel utilise une technologie qui n'est pas considérée comme la meilleure. Le but principal de l'université est quand même de fournir du personnel formé aux outils souhaités par l'industrie".
En réalité, c'est une idée relativement récente qui j'espère ne sera jamais adoptée par les universités. Étant donné le niveau très bas de l'industrie du logiciel, si l'université décidait de fournir du personnel selon les souhaits de l'industrie, alors toute innovation s'arrêtera immédiatement. En réalité, l'un des rôles principaux de l'université est justement l'innovation et l'amélioration des méthodes et des outils utilisés maintenant.
Autrement dit, l'université doit former ses diplômés pour que ceux-ci soient capables d'améliorer les méthodes et les outils de l'industrie du logiciel.