Heute bin ich über eine Seite gestolpert, die sich mit Quines beschäftigt. Ein Quine ist ein Computerprogramm, das nur den eigenen Quelltext ausgibt.

Dabei bin ich auf folgende Seite gestoßen: http://safalra.com/programming/c-sharp/quines/

Dort hat Larry Croney 3 Quines verfasst:

class c{static void Main(){string s="class c{{static void Main(){{string s={0}{10};System.Console.Write(s,(char)34,s);}}}}";System.Console.Write(s,(char)34,s);}}

“Construct a shorter quine (the shortest quine above is 161 characters).”

Sowas muss doch noch kürzer gehen!

Nach 1 Stunde Optimierung kam dieser Code dabei heraus:

class Q{static void Main(){var f="class Q{{static void Main(){{var f={1}{0}{1};System.Console.Write(f,f,'{1}');}}}}";System.Console.Write(f,f,'"');}}

Jetzt nur noch 149 Zeichen. ;)

Nebenbei bemerkt ist der Code von Larry Croney auch noch fehlerhaft. Es fehlen 2 geschweifte Klammern zwischen der 10 (sollte eigentlich 1}{0 sein).

Wenn jemand ein kürzeres C# Quine kennt, lasst es mich wissen!