SELTSAME SPRACHEN
OriginalAugust 2021
Wenn Leute sagen, dass in ihrer Erfahrung alle Programmiersprachen im Grunde gleichwertig sind, machen sie eine Aussage nicht über Sprachen, sondern über die Art von Programmierung, die sie gemacht haben.
99,5% der Programmierung besteht darin, Aufrufe von Bibliotheksfunktionen zusammenzufügen. Alle gängigen Sprachen sind dafür gleich gut geeignet. So kann man seine ganze Karriere leicht im Schnittpunkt der gängigen Programmiersprachen verbringen.
Aber die anderen 0,5% der Programmierung sind überproportional interessant. Wenn Sie herausfinden wollen, woraus sie besteht, ist die Seltsam-keit seltsamer Sprachen ein guter Hinweis, dem Sie folgen können.
Seltsame Sprachen sind nicht zufällig seltsam. Zumindest nicht die guten. Die Seltsam-keit der guten impliziert normalerweise die Existenz einer Form von Programmierung, die nicht nur das übliche Zusammenfügen von Bibliotheksaufrufen ist.
Ein konkretes Beispiel: Lisp-Makros. Lisp-Makros erscheinen selbst vielen Lisp-Programmierern seltsam. Sie befinden sich nicht nur nicht im Schnitt- punkt der gängigen Sprachen, sondern wären von ihrer Natur her auch schwer richtig in einer Sprache zu implementieren, ohne sie in einen Dialekt von Lisp zu verwandeln. Und Makros sind definitiv ein Beweis für Techniken, die über Klebeprogrammierung hinausgehen. Zum Beispiel das Lösen von Problemen, indem man zuerst eine Sprache für Probleme dieser Art schreibt und dann seine spezifische Anwendung darin. Und das ist nicht alles, was man mit Makros machen kann; es ist nur eine Region in einem Raum von Programm- manipulationstechniken, der selbst jetzt noch bei weitem nicht vollständig erforscht ist.
Wenn Sie also Ihren Begriff davon erweitern wollen, was Programmierung sein kann, ist eine Möglichkeit dafür, seltsame Sprachen zu lernen. Wählen Sie eine Sprache, die die meisten Programmierer für seltsam halten, deren Durchschnittsnutzer aber klug ist, und konzentrieren Sie sich dann auf die Unterschiede zwischen dieser Sprache und dem Schnittbereich der gängigen Sprachen. Was können Sie in dieser Sprache sagen, was in anderen praktisch unmöglich wäre? In dem Prozess, zu lernen, wie man Dinge sagt, die man vorher nicht sagen konnte, werden Sie wahrscheinlich auch lernen, Dinge zu denken, die Sie vorher nicht denken konnten.
Danke an Trevor Blackwell, Patrick Collison, Daniel Gackle, Amjad Masad und Robert Morris für das Lesen von Entwürfen dieses Textes.