Ezoterični programski jezici su minimalistički jezici, stvoreni kao dokaz koncepta i / ili izazova, kako za programiranje jezika, tako i za pisanje za njega. Pogledajmo pregled nekih od njih:
Sranje
Najpoznatiji je i najpopularniji, njegova sintaksa je vrlo jednostavna:
++++++++++ [ Petlja za pokretanje sjećanja (ponavlja se 10 puta) >+++++++>++++++++++>+++++++++++>+++>+<<<<- 70 100 110 30 10 ] >++. 'H' (72) 1 >>+. 'ili' (111) 3 ---. 'l' (108) 3 <---. 'a' (97) 2 >>++. prostor (32) 4 <+. 'm' (109) 3 ++++++++. 'u' (117) 3 -------. 'n' (110) 3 <+++. 'd' (100) 2 >+. 'ili' (111) 3 >+. "!" (33) 4 >. '\ n' (10) 5
Da biste objasnili njegovu sintaksu, najbolje je koristiti druge programske jezike. Tako u njegova stranica na Wikipediji dostavite nam ovu tablicu ekvivalencija u kojoj je ptr ekvivalent nepotpisanom znaku:
mozak | C | Perl |
---|---|---|
> | ++ ptr; | $ pokazivač ++; |
< | –Ptr; | $ pokazivač–; |
+ | ++ * ptr; | $ traka [$ pokazivač] ++; |
- | - * ptr; | $ traka [$ pokazivač] -; |
. | putchar (* ptr); | ispis chr $ trake [$ pokazivač]; |
, | * ptr = getchar (); | $ traka [$ pokazivač] = ord (<>); |
[ | while (* ptr) { | while ($ traka [$ pokazivač]) { |
] | } | } |
Ook!
Temelji se na prethodnom, ali umjesto toga koristi kombinaciju riječi U redu?, U redu! y Također. To je parodija na knjižničara iz Svijet diskova, koji se pretvara u orangutan i može izgovoriti samo te tri riječi. Pogledajmo komad koda.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Navodno ovaj "program" ono što radi je da napiše tipični "zdravo svijetu".
Befunge
Po mom mišljenju najoriginalniji od svih, njegova struktura kontrole protoka temelji se na strelicama koje programu govore gdje treba ići. Također, znatno olakšava stvaranje mutant koda (koda koji se sam mijenja):
vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^
Gornji kod govori o beskonačnom generatoru slučajnih brojeva, koji će generirati broj između 1 i 9. Mnogo čitljiviji od prethodnih.
Malbolge
Ovdje imamo programski jezik stvoren da bude iritantan i nečitljiv (ne, nije C, i ne, nije Perl). Je o Malbolge, čije ime dolazi iz 8. kruga pakla u Božanska komedija. Evo "zdravog svijeta" (ili to je ono što su mi rekli):
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Lolcat
Jednostavna šala. Pogledajmo vaš kôd:
IMAŠ CAN IMA STDIUM? JA IMAM VAR IM IN YR LOOP UP VAR!!1 VIDLJIVO VAR IZ VAR VEĆE OD 10? KTHX IM outta YR LOOP KTHXZBOG
Budući da je puno čitljiviji od prethodnih programskih jezika, pustit ću vas da pogodite što bi trebao raditi. 😉
INTERKAL
DO ,1 <- #13 MOLIM DO ,1 POD #1 <- #238 DO ,1 POD #2 <- #108 DO ,1 POD #3 <- #112 DO ,1 POD #4 <- #0 DO ,1 POD #5 <- #64 DO ,1 POD #6 <- #194 DO ,1 POD #7 <- #48 MOLIM DO ,1 POD #8 <- #22 DO ,1 POD #9 <- #248 DO ,1 POD #10 <- #168 DO ,1 POD #11 <- #24 DO ,1 POD #12 <- #16 DO ,1 POD #13 <- #162 MOLIM ČITATI OUT ,1 MOLIM DATI UP
Moram reći da su neki od ovih programskih jezika vrlo korisni za učenje o nekim računalnim konceptima. Na primjer, Sranje savršeno je za učenje o pokazivačima.
Gotovo više volim binarni kod
Da, definitivno više volim programirati u binarnom programu ili izravno u asembleru, možete učiniti bilo što (jezici visoke razine na kraju se izvode na procesoru), ali zanimljiva stvar kod ezoteričnih jezika je izazov koji oni predstavljaju. Usput, roaderu (autor ovog članka), ljutiš me. Kako su C i Perl nečitljivi i iritantni? Kakav nesnosni prekršaj !! Kakvo ogorčenje! Ali ako je C divan, u perlu nisam programirao, ali vidio sam dobre komentare o ovom jeziku, jer je očito vrlo pogodan za rukovanje datotekama, stringovima i ovim pods, na primjer za exploit-ove je prilično dobar, iako cy python u exploitima radi dobro ...
Saludos!
Čovječe, C i perl stvar su se našalili, i da, oni su prilično čitljivi jezici, vrlo praktični i "lijepi" u pravim rukama. Naravno u CI-u smo vidjeli da neki ljudi na kraju stvaraju splet nerazumljivih kodova za špagete, i bez vođenja evidencije. Što se Perla tiče, ne samo da se događa isto što i sa C, već, budući da ste tako izuzetno fleksibilni, možete pronaći stvari koje prkose zdravom razumu. Moram reći da nemam iskustva s programiranjem u Perlu, ali prilično dobro znam njegovu sintaksu.
Prvo je kako pisati Morseovom šifrom 😀
A drugo je biti orangutan, a četvrto, uzrokuje moždani infarkt.
Vrlo dobar post.
nedostaješ mi pijete
http://www.dangermouse.net/esoteric/piet.html
I kuhar, unlamda, razmak i spremanje. Ali nisam htio članak učiniti prevelikim.
VRIJEME JE POKAZATI
RAZGOVORI SA RUKOM «zdravo svijetu»
UKAZANI STE
Pozdrav svijetu u ArnoldCu
http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger
Pa, on to nije znao, pretpostavljam da mu je ideju dao "null terminator"
Istina je da su me ti programski jezici nasmijali. Dobro.