Języki ezoteryczne

28.12.2009 - Marek Materzok
TrudnośćTrudność

Inne interesujące języki ezoteryczne

Opisane przeze mnie powyżej języki to moim zdaniem najważniejsze i najciekawsze z istniejących języków ezoterycznych. Wartych chociaż chwili uwagi języków jest dużo więcej, jednak opisanie ich przekracza ramy tego artykułu. Jednak wymienię ich kilka, żeby zainteresowani mogli później znaleźć więcej informacji na ich temat.

HQ9+

Język posiadający cztery instrukcje: H wypisuje "Hello World!", Q wypisuje kod programu, 9 wypisuje tekst "99 Bottles of Beer", zaś + inkrementuje akumulator (którego nie można w żaden sposób odczytać!). W języku tym, oczywiście nie będącym kompletnym obliczeniowo, wspomniane na początku wyzwania programistyczne są trywialne. Kod "Hello World" to oczywiście:

H

LOLCODE

Język programowania, w którym słowa kluczowe oparte są na lolspeak, głupkowatym stylu pisania kojarzonym między innymi ze śmiesznymi zdjęciami kotów z dowcipnymi opisami, czyli lolcats. W LOLCODE instrukcja wejścia nazywa się GIMMEH, moduły ładuje się za pomocą CAN HAS, a program kończy się instrukcją KTHXBYE. Poniżej program "Hello World":

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

Malbolge

Powstały w roku 1998 niesamowicie trudny język programowania. O jego trudności niech świadczy fakt, że pierwszy program "Hello World" w tym języku stworzono z użyciem algorytmu ewolucyjnego - dwa lata po opublikowaniu specyfikacji języka! Pierwszy program "99 Bottles of Beer" powstał dopiero w roku 2007. Oto program "Hello World" w Malbolge:

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>

Piet

Język, w którym programy są plikami graficznymi przypominającymi obrazy abstrakcyjne. Nazwany został od imienia Pieta Mondriana, holenderskiego malarza żyjącego w latach 1872-1944. Oto program "Hello World" autorstwa Thomasa Schocha:

Hello World w Piet

Shakespeare

Język przypominający dramaty Szekspira. Program składa się z tytułu, listy osób dramatu, aktów i scen. Bohaterowie grają rolę zmiennych, zaś długie, poetyckie wypowiedzi reprezentują wyrażenia. Program "Hello World" jest długi, przytoczę tylko fragment, całość znajduje się na stronie języka:

The Infamous Hello World Program.

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.


                    Act I: Hamlet's insults and flattery.

                    Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:
 You lying stupid fatherless big smelly half-witted coward!
 You are as stupid as the difference between a handsome rich brave
 hero and thyself! Speak your mind!

 You are as brave as the sum of your fat little stuffed misused dusty
 old rotten codpiece and a beautiful fair warm peaceful sunny summer's
 day. You are as healthy as the difference between the sum of the
 sweetest reddest rose and my father and yourself! Speak your mind!

 You are as cowardly as the sum of yourself and the difference
 between a big mighty proud kingdom and a horse. Speak your mind.

 Speak your mind!

[Exit Romeo]

Thue

Język, w którym obliczanie polega na zamianie fragmentów zadanego ciągu znaków na inne, aż do momentu, gdy nie będzie można wykonać żadnego przepisania. Teoretyczną podstawą języka są tak zwane semiprocesy Thuego, od których wzięła się nazwa. Język ten jest oczywiście kompletny obliczeniowo. Oto program "Hello World":

a::=~Hello World!
::=
a

Whitespace

Język programowania, w którym białe znaki (spacje, znaki tabulatora, znaki nowej linii) są znaczące, a wszystkie inne są komentarzami. W związku z tym programów w tym języku bez odpowiednich narzędzi nie da się nawet przeczytać! Z oczywistych powodów uczynię wyjątek i nie zamieszczę tu programu "Hello World" w tym języku.

Podsumowanie

Jak widać, rodzina języków ezoterycznych jest naprawdę różnorodna i można w niej znaleźć wiele naprawdę interesujących języków, zupełnie odmiennych od tego, co znamy z powszechnie używanych języków. Odkrywanie ich potrafi dostarczyć bardzo wiele kreatywnej rozrywki, do czego gorąco zachęcam!

5
Twoja ocena: Brak Ocena: 5 (1 ocena)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com