Was ein Quine ist? Selbstreferenzieller Spielkram für Nerds und Programmierer. Warum man das wissen muss? Muss man nicht. Aber es reicht für 5 Minuten Teckie-Bespaßung 😉

Kurz mal Zeit für einen Nerd-Quicky: Da sitze ich und schreibe Artikel über esoterische Programmiersprachen (doch, das gibt’s – und ja, das ist spannend), da stoße ich auf etwas namens Quine. Ein Quine ist ein Programm, das den eigenen Quellcode ausdruckt – für manch Coder offenbar eine Art Sport, dies in jedweder Sprache zu realisieren. Wer Spaß an Teckie-Quatsch und fünf Minuten Zeit für etwas „irgendwie lustiges“ hat —>

Quine mit Esoterik

Ein Quine druckt sich also selbst aus – und mit normalen Programmiersprachen ist das nicht so trivial, wie es vielleicht klingt. Aber Ihr könnt es mittels esoterischer Programmiersprache im Browser oder ohne Esoterik in einem Linux-Terminal anschauen. Die Esoterik bietet HQ9+ als Lösung. Dem heutigen Google-Forschungsmitarbeiter Cliff L. Biffle viel auf, dass für (esoterische) Programmiersprachen immer wieder drei Beispiel genommen wurden: Ein Hallo-Welt-Programm (druckt „Hallo, Welt!“), die Ausgabe des Textes von 99 Flaschen Bier an der Wand und eben ein Quine – und entwickelte die doch recht spezielle Sprache HQ9+. Der komplette Befehlssatz: H, Q, 9, + – zum Ausgeben von „Hello World.“, des Quelltexts und der Bier-Lyrics; per + auch gerne mehrfach. Glaubt’er nich‘? Hier geht es zum Online-Interpreter.

Quine im Terminal

Im Linux-Terminal könnt Ihr mit Minimal-Code und dem Standard-Tool cat die Quick&Dirty-Version eines Quine basteln. Erstellt eine Textdatei, etwa „catting“, und fügt folgenden Code ein:

#!/bin/cat
Hello World - It's me, Mario!

Nun macht die Datei noch ausführbar:

chmod +x catting

Und wenn Ihr die Datei nun mit

./catting

ausführt – ratet selbst, was dann passiert 😉 Der „Trick“ ist im Shebang, der ersten Zeile zu finden – in den meisten Sktipten werdet Ihr dort „#/bin/sh““ oder ähnliches vorfinden, eben Shell-Skripte. Und hier führt eben cat aus – und cat druckt eben Dateiinhalte aus. Eben drum. (Bevor wieder gemeckert wird: Es verkettet (cat = concatenate), es druckt nicht.)

Artefakte aus Nerd- und Programmierwelten – vermutlich kein Massenthema, aber ich find’s gut. Wer noch? Hand hoch, wer schon mal was mit Quines machen musste! Wer mehr über esoterische Programmiersprachen wissen will – muss noch kurz Gedult haben, Artikel ist noch nicht online, Link folgt.

Über den Autor

Mirco Lang

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Stichwortschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler.

Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds.

Wenn ich Dir helfen konnte und/oder Du hier mehr über Open Source, Linux, Bastelkram oder auch Windows-Basics lesen möchtest:
Spendier mir einen Kaffee via Paypal.

Kommentieren:

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich stimme zu.