Loading...

SELTSAME SPRACHEN

Original

August 2021

Wenn Leute sagen, dass in ihren Erfahrungen alle Programmiersprachen im Grunde genommen 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 in dieser Hinsicht gleich gut. So kann man leicht seine gesamte Karriere in der Schnittmenge der gängigen Programmiersprachen verbringen.

Aber die restlichen 0,5 % der Programmierung sind unverhältnismäßig interessant. Wenn Sie lernen wollen, woraus sie besteht, ist die Seltsamkeit von seltsamen Sprachen ein guter Hinweis, dem man folgen kann.

Seltsame Sprachen sind nicht zufällig seltsam. Nicht die guten, zumindest. Die Seltsamkeit der guten impliziert in der Regel die Existenz einer Form der 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 in der Schnittmenge der gängigen Sprachen, sondern wären ihrer Natur nach auch schwer richtig zu implementieren in einer Sprache, ohne sie zu einem Dialekt von Lisp zu machen. Und Makros sind definitiv ein Beweis für Techniken, die über die Klebeprogrammierung hinausgehen. Zum Beispiel die Lösung von Problemen, indem man zuerst eine Sprache für Probleme dieser Art schreibt und dann seine spezifische Anwendung darin schreibt. Das ist auch nicht alles, was man mit Makros machen kann; es ist nur ein Bereich in einem Raum von programmmanipulierenden Techniken, der selbst jetzt noch lange nicht vollständig erforscht ist.

Wenn Sie also Ihr Konzept von dem erweitern wollen, was Programmierung sein kann, können Sie dies tun, indem Sie seltsame Sprachen lernen. Wählen Sie eine Sprache aus, die die meisten Programmierer für seltsam halten, deren durchschnittlicher Benutzer aber intelligent ist, und konzentrieren Sie sich dann auf die Unterschiede zwischen dieser Sprache und der Schnittmenge der gängigen Sprachen. Was können Sie in dieser Sprache sagen, was in anderen unmöglich unbequem wäre? Im Prozess des Lernens, wie man Dinge sagt, die man vorher nicht sagen konnte, werden Sie wahrscheinlich 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.