SELTSAME SPRACHEN
OriginalAugust 2021
Wenn Leute sagen, dass ihrer Erfahrung nach alle Programmiersprachen grundsätzlich gleichwertig sind, dann treffen sie keine Aussage über die Sprachen, sondern über die Art der Programmierung, die sie durchgeführt haben.
99,5 % der Programmierung besteht aus dem Zusammenfügen von Aufrufen von Bibliotheksfunktionen. Alle gängigen Sprachen sind darin gleichermaßen gut. Man kann also leicht seine gesamte Karriere damit verbringen, an der Schnittstelle zwischen gängigen Programmiersprachen zu arbeiten.
Aber die anderen 0,5 % des Programmierens sind unverhältnismäßig interessant. Wenn Sie erfahren möchten, woraus diese bestehen, ist die Merkwürdigkeit seltsamer Sprachen ein guter Anhaltspunkt.
Seltsame Sprachen sind nicht zufällig seltsam. Zumindest nicht die guten. Die Seltsamkeit der guten Sprachen impliziert normalerweise die Existenz einer Form der Programmierung, die nicht nur aus dem üblichen Zusammenkleben von Bibliotheksaufrufen besteht.
Ein konkretes Beispiel: Lisp-Makros. Lisp-Makros erscheinen selbst vielen Lisp-Programmierern seltsam. Sie liegen nicht nur nicht im Schnittpunkt gängiger Sprachen, sondern wären aufgrund ihrer Natur auch schwer richtig in einer Sprache zu implementieren, ohne sie in einen Lisp-Dialekt zu verwandeln. Und Makros sind definitiv ein Beweis für Techniken, die über die Klebeprogrammierung hinausgehen. Beispielsweise kann man Probleme lösen, indem man zuerst eine Sprache für Probleme dieser Art schreibt und dann seine spezifische Anwendung darin schreibt. Und das ist noch nicht alles, was man mit Makros machen kann; es ist nur ein Bereich in einem Raum von Techniken zur Programmmanipulation, der selbst jetzt noch lange nicht vollständig erforscht ist.
Wenn Sie also Ihr Konzept von Programmierung erweitern möchten, können Sie das unter anderem durch das Erlernen seltsamer Sprachen tun. Wählen Sie eine Sprache, die die meisten Programmierer als seltsam empfinden, deren durchschnittlicher Benutzer jedoch intelligent ist, und konzentrieren Sie sich dann auf die Unterschiede zwischen dieser Sprache und der Schnittmenge beliebter Sprachen. Was können Sie in dieser Sprache sagen, was in anderen Sprachen unmöglich umständlich wäre? Während Sie lernen, Dinge zu sagen, die Sie vorher nicht sagen konnten, 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 der Entwürfe.