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.

Weitersagen:

Über den Autor

Mirco Lang

Mirco Lang

Am Anfang war der C-64 des großen Bruders des besten Freundes in der Grundschule …

Der echte Technikwahn kam dann mit einer Ausbildung bei Saturn – als Computer noch erklärt werden mussten, Soundkarten benötigten, ein gutes Monatsgehalt kosteten und das Internet nur bei Nerds und mit 38 kbp/s lief, bestenfalls.

Ein Studium der Informationswirtschaft und ein paar Jahre als Redakteur bei Data Becker später, sitzt hier ein freier Journalist, der auf Old-School-Computing (cli ftw!), Free Software, Frickelei, Kodi und „Hundedinger“ steht – und Grauseligkeiten wie Bild und Heftig.co zutiefst verabscheut.

Und sonst so? Sauerländer, Ex-BSI’ler, untalentierter Musikinstrumentebesitzer und seit 26 Jahren Skateboarder, ein ziemlich alter. Und manchmal kommt das abgebrochene Philo-Studium wieder durch …

Artikel kommentieren: