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:
brainfuck
Najpoznatiji je i najpopularniji, njegova sintaksa je prilično 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; | $ tape [$ pointer] ++; |
- | - * ptr; | $ tape [$ pokazivač] -; |
. | putchar (* ptr); | ispisati chr $ tape [$ pokazivač]; |
, | * ptr = getchar (); | $ tape [$ pointer] = ord (<>); |
[ | while (* ptr) { | while ($ traka [$ pokazivač]) { |
] | } | } |
Ook!
Zasnovan je na prethodnom, ali umjesto toga koristi kombinaciju riječi Ok?, U redu! y Takođe. To je parodija na bibliotekara iz Discworld, koji se transformiše 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čan "zdravo svijetu".
Befunge
Po mom mišljenju najoriginalniji od svih, njegova struktura kontrole protoka temelji se na strelicama koje programu govore kuda treba ići. Takođe, to mnogo olakšava stvaranje mutant koda (koda koji se sam mijenja):
vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^
Gornji kod je beskonačni generator 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). Is about Malbolge, čije ime dolazi iz 8. kruga pakla u Božanstvena 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š kod:
Hai CAN IMA STDIUM? IMAM VAR IM IN YR LOOP UP VAR!!1 Vidljivo VAR IZ VAR VEĆE THAN 10? KTHX IM OUTTA YR LOOP KTHXBYE
Budući da je puno čitljiviji od prethodnih programskih jezika, pustit ću vas da pogodite šta bi trebao raditi. 😉
INTERKAL
DO ,1 <- #13 MOLIMO DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #108 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #194 DO ,1 SUB #7 <- #48 MOLIMO DO ,1 SUB #8 <- #22 DO ,1 SUB #9 <- #248 DO ,1 SUB #10 <- #168 DO ,1 SUB #11 <- #24 DO ,1 SUB #12 <- #16 DO ,1 SUB #13 <- #162 MOLIMO ČITAJ OUT ,1 MOLIMO GIVE UP
Moram reći da su neki od ovih programskih jezika vrlo korisni za učenje o nekim računarskim konceptima. Na primjer, brainfuck savršen je za učenje o pokazivačima.
Gotovo više volim binarni kod
Da, definitivno više volim programirati u binarnom ili asemblerskom programu, možete učiniti bilo što (jezici visokog nivoa 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 nepodnošljiv prekršaj !! Kakva bezobrazluka! 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 dobro raditi ...
Hvala vam!
Čovječe, stvar sa C i Perlom bila je šala, i da, to su prilično čitljivi jezici, vrlo praktični i "prelijepi" u pravim rukama. Naravno u CI su vidjeli da neki ljudi na kraju stvaraju splet nerazumljivih kodova za špagete, i bez vođenja evidencije. Što se tiče Perla, ne samo da se događa isto što i sa C, već, budući da ste izuzetno fleksibilni, možete pronaći stvari koje prkose zdravom razumu. Moram reći da nemam iskustva s programiranjem na 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 spretnost. Ali nisam htio da članak bude prevelik.
VRIJEME JE POKAZATI
RAZGOVORI SA RUKOM «zdravo svijetu»
UKAZANI STE
Pozdrav svijetu u ArnoldC-u
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 "nulti terminator"
Istina je da su me ti programski jezici nasmijali. Dobro.