GeekzeugTutobizarr

Warum druckt sich das Programm selbst aus?

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.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"
Schließen

Ooopsi!

Bitte deaktiviere Deinen Adblocker.