Als Lisp zo Geweldig is
Mei 2003
Als Lisp zo geweldig is, waarom gebruiken meer mensen het dan niet? Deze vraag werd me gesteld door een student in het publiek tijdens een lezing die ik onlangs gaf. Niet voor het eerst.
Bij talen, net als bij zoveel dingen, is er niet veel correlatie tussen populariteit en kwaliteit. Waarom verkoopt John Grisham (verkooprangschikking King of Torts, 44) meer dan Jane Austen (Pride and Prejudice verkooprangschikking, 6191)? Zou zelfs Grisham beweren dat het komt omdat hij een betere schrijver is?
Hier is de eerste zin van Pride and Prejudice:
It is a truth universally acknowledged, that a single man in possession of a good fortune must be in want of a wife.
"It is a truth universally acknowledged?" Lange woorden voor de eerste zin van een liefdesverhaal.
Net als Jane Austen lijkt Lisp moeilijk. De syntaxis, of het gebrek daaraan, zorgt ervoor dat het er volledig anders uitziet dan de talen waar de meeste mensen aan gewend zijn. Voordat ik Lisp leerde, was ik er ook bang voor. Ik kwam onlangs een notitieboekje uit 1983 tegen waarin ik had geschreven:
Ik veronderstel dat ik Lisp zou moeten leren, maar het lijkt zo vreemd.
Gelukkig was ik toen 19 en nog niet te weerbarstig om nieuwe dingen te leren. Ik was zo onwetend dat bijna alles leren betekende dat ik nieuwe dingen leerde.
Mensen die bang zijn voor Lisp verzinnen andere redenen om het niet te gebruiken. Het standaardexcuses, toen C de standaardtaal was, was dat Lisp te langzaam was. Nu Lisp-dialecten tot de snellere beschikbare talen behoren, is dat excuus verdwenen. Nu is het standaardexcuses openlijk circulair: dat andere talen populairder zijn.
(Pas op voor dergelijke redeneringen. Het levert je Windows op.)
Populariteit is altijd zelf-instandhoudend, maar het is vooral zo bij programmeertalen. Er worden meer bibliotheken geschreven voor populaire talen, wat ze nog populairder maakt. Programma's moeten vaak werken met bestaande programma's, en dit is gemakkelijker als ze in dezelfde taal zijn geschreven, dus talen verspreiden zich als een virus van programma naar programma. En managers geven de voorkeur aan populaire talen, omdat ze hen meer invloed geven over ontwikkelaars, die gemakkelijker vervangen kunnen worden.
Inderdaad, als programmeertalen allemaal min of meer equivalent waren, zou er weinig rechtvaardiging zijn om anders dan de meest populaire te gebruiken. Maar ze zijn niet allemaal equivalent, verre van dat. En daarom blijven minder populaire talen, net als de romans van Jane Austen, überhaupt bestaan. Wanneer iedereen de nieuwste John Grisham-roman leest, zullen er altijd een paar mensen zijn die in plaats daarvan Jane Austen lezen.