Loading...

SELTSAME SPRACHEN

Original

August 2021

Wenn Menschen sagen, dass ihrer Erfahrung nach alle Programmiersprachen grundsätzlich gleichwertig sind, machen sie eine Aussage nicht über Sprachen, sondern über die Art des Programmierens, die sie gemacht haben.

99,5 % des Programmierens bestehen darin, Aufrufe von Bibliotheksfunktionen zusammenzukleben. Alle beliebten Sprachen sind darin gleich gut. Man kann also leicht seine ganze Karriere im Schnittpunkt beliebter Programmiersprachen verbringen.

Aber die anderen 0,5 % des Programmierens sind unverhältnismäßig interessant. Wenn du lernen möchtest, woraus sie bestehen, ist die Seltsamkeit seltsamer Sprachen ein guter Hinweis, dem du folgen kannst.

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

Ein konkretes Beispiel: Lisp-Makros. Lisp-Makros erscheinen selbst vielen Lisp-Programmierern seltsam. Sie befinden sich nicht nur nicht im Schnittpunkt beliebter Sprachen, sondern wären aufgrund ihrer Natur 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 das Kleben von Programmteilen hinausgehen. Zum Beispiel Probleme zu lösen, indem man zuerst eine Sprache für Probleme dieses Typs schreibt und dann die spezifische Anwendung darin erstellt. Das ist nicht alles, was man mit Makros tun kann; es ist nur eine Region in einem Raum von Techniken zur Programmmanipulation, der selbst jetzt noch lange nicht vollständig erkundet ist.

Wenn du also dein Konzept davon erweitern möchtest, was Programmieren sein kann, ist eine Möglichkeit, dies zu tun, das Lernen seltsamer Sprachen. Wähle eine Sprache, die die meisten Programmierer als seltsam betrachten, deren medianer Benutzer jedoch intelligent ist, und konzentriere dich dann auf die Unterschiede zwischen dieser Sprache und dem Schnittpunkt beliebter Sprachen. Was kannst du in dieser Sprache sagen, das in anderen unmöglich umständlich zu sagen wäre? Im Prozess des Lernens, wie man Dinge sagt, die man zuvor nicht sagen konnte, wirst du wahrscheinlich lernen, wie man Dinge denkt, die man zuvor nicht denken konnte.

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