icancode.de

Das 100 Sprachen Quine

Einleitung

Rico Magnucki

Rico Magnucki

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.


Neuste Artikel

HP Deskjet 3636 – Multitalent zum schmalen Preis 09th April, 2017

NETGEAR AC1750 Smart WLAN-Router im Test 10th January, 2016

Programmierung

Das 100 Sprachen Quine

Veröffentlicht am .

Quine Relay Logo

Programme, die sich selbst ausgeben – sogenannte Quines – werden in jeder Informatikvorlesung einmal besprochen.
Die Realisierung dieses scheinbar einfachen Problems ist nicht immer trivial und so ist es für viele Tüftler zu einem regelrechten Sport geworden, möglichst clevere und kleine Quines zu schreiben.

Vor kurzem stieß ich auf Github auf das Quine Relay und bin fast vom Stuhl gefallen. Irgendwer hatte so viel Langeweile Ausdauer 100 Quines zu schreiben. Das allein wäre jetzt nicht wirklich spektakulär. Der interessante Part ist eigentlich, dass es sich um ein Ruby Programm handelt, dass ein Scala Programm generiert, welches ein Scheme Programm generiert…Das Spiel geht dann über 100 Sprachen, bis schließlich das eigentliche Ruby Programm ausgegeben wird. ÜBER HUNDERT SPRACHEN!!!

Ausprobieren ist nicht ganz so leicht, wie es vielleicht scheinen mag. Schließlich sind 100 Compiler/Interpreter notwendig. Unter Ubuntu können diese z.B. mit apt-get installiert werden.

sudo apt-get install afnix algol68g aplus-fsf asymptote ats-lang-anairiats bash bc bf boo bsdgames cduce clisp clojure1.4 cmake coffeescript dc ecere-sdk emacs23 erlang f2c falconpl fp-compiler fsharp g++ gambas3-script gap gauche gawk gcc gdc genius gforth gfortran ghc ghostscript gnat gnu-smalltalk gnuplot gobjc golang gpt gri groff groovy haxe icont iconx intercal iverilog jasmin-sable julia kaya libgd2-xpm-dev libpng12-dev lisaac llvm lua5.2 make maxima mlton mono-devel mono-mcs mono-vbnc nasm neko nickle ocaml octave open-cobol openjdk-6-jdk pari-gp parrot perl php5-cli pike7.8 python r-base ratfor regina-rexx rhino ruby2.0 scala scilab slsh spl-core swi-prolog tcl ucblogo valac xsltproc yorick zoem

Für genauere Informationen lohnt sich ein Blick in die README des Github-Repositories.

Rico Magnucki

Rico Magnucki

http://magnucki.de

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.

Navigation