Seltsame Sprachen

August 2021

Wenn Leute sagen, dass ihrer Erfahrung nach alle Programmiersprachen im Grunde gleichwertig sind, dann machen sie keine Aussage über Sprachen, sondern über die Art der Programmierung, die sie betrieben haben.

99,5 % der Programmierung besteht darin, Aufrufe von Bibliotheksfunktionen aneinanderzureihen. Alle populären Sprachen sind dafür gleichermaßen gut geeignet. Man kann also leicht seine gesamte Karriere damit verbringen, sich im Schnittpunkt populärer Programmiersprachen zu bewegen.

Aber die anderen 0,5 % der Programmierung sind überproportional interessant. Wenn Sie lernen wollen, woraus sie besteht, ist die Seltsamkeit seltsamer Sprachen ein guter Anhaltspunkt.

Seltsame Sprachen sind nicht zufällig seltsam. Zumindest die guten nicht. Die Seltsamkeit der guten impliziert normalerweise die Existenz einer Form der Programmierung, die nicht nur das übliche Aneinanderreihen von Bibliotheksaufrufen ist.

Ein konkretes Beispiel: Lisp-Makros. Lisp-Makros erscheinen selbst vielen Lisp-Programmierern seltsam. Sie sind nicht nur nicht im Schnittpunkt populärer Sprachen, sondern wären naturgemäß schwer richtig in einer Sprache zu implementieren, ohne sie in ein Lisp-Dialekt zu verwandeln. Und Makros sind definitiv ein Beweis für Techniken, die über die reine 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 schreibt. Und das ist nicht alles, was man mit Makros machen kann; es ist nur ein Bereich in einem Raum von programmanipulierenden Techniken, der selbst jetzt noch lange nicht vollständig erforscht ist.

Wenn Sie also Ihr Konzept dessen, was Programmierung sein kann, erweitern möchten, ist eine Möglichkeit, seltsame Sprachen zu lernen. Wählen Sie eine Sprache, die die meisten Programmierer als seltsam betrachten, deren Median-Benutzer aber klug ist, und konzentrieren Sie sich dann auf die Unterschiede zwischen dieser Sprache und dem Schnittpunkt populärer Sprachen. Was können Sie in dieser Sprache sagen, was in anderen unmöglich umständlich zu sagen wäre? Im Prozess des Lernens, wie man Dinge sagt, die man vorher nicht sagen konnte, werden Sie wahrscheinlich lernen, Dinge zu denken, die man vorher nicht denken konnte.

Danke an Trevor Blackwell, Patrick Collison, Daniel Gackle, Amjad Masad und Robert Morris für das Lesen von Entwürfen davon.