Ezoterični programski jeziki so minimalistični jeziki, ustvarjeni kot dokaz koncepta in / ali izziva, tako za programiranje jezika kot za pisanje zanj. Oglejmo si pregled nekaterih od njih:
Prekleto
Je najbolj znana in najbolj priljubljena, njena sintaksa je precej preprosta:
+++++++++++ [ Loop za zagon spominov (ponovi se 10-krat) >+++++++>+++++++++++>+++++++++++>+ + +>+<<<<- 70 100 110 30 10 ] >++. „H“ (72) 1 >>+. "ali" (111) 3 ---. „l“ (108) 3 <---. „a“ (97) 2 >>++. prostor (32) 4 <+. „m“ (109) 3 ++++++++. „u“ (117) 3 -------. „n“ (110) 3 <+ + +. „d“ (100) 2 >+. "ali" (111) 3 >+. "!" (33) 4 >. '\ n' (10) 5
Za razlago njegove sintakse je najbolje uporabiti druge programske jezike. Torej v njegovo stran na Wikipediji priskrbite nam tabelo enakovrednosti, v kateri je ptr enakovreden nepodpisanemu znaku:
možganov | C | Perl |
---|---|---|
> | ++ ptr; | $ kazalec ++; |
< | –Ptr; | $ kazalec–; |
+ | ++ * ptr; | $ trak [$ kazalec] ++; |
- | - * ptr; | $ trak [$ kazalec] -; |
. | putchar (* ptr); | natisni chr $ tape [$ kazalec]; |
, | * ptr = getchar (); | $ trak [$ kazalec] = ord (<>); |
[ | medtem ko (* ptr) { | while ($ tape [$ pointer]) { |
] | } | } |
Ook!
Temelji na prejšnjem, vendar namesto tega uporablja besedno kombinacijo Okej?, Okej! y Tudi. Gre za parodijo knjižničarke iz Discworld, ki se spremeni v orangutan in lahko izgovarja samo te tri besede. Oglejmo si del kode.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Menda ta "program", kar počne, napiše tipičen "zdravo svet".
Befunge
Po mojem mnenju je najbolj izvirna od vseh, njegova struktura nadzora pretoka temelji na puščicah, ki programu sporočajo, kam naj gre. Prav tako je veliko lažje ustvariti mutant kodo (kodo, ki se sama spreminja):
vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^
Zgornja koda je neskončni generator naključnih števil, ki bo ustvaril število med 1 in 9. Veliko bolj berljivo kot prejšnje.
Malbolge
Tu imamo programski jezik, ustvarjen tako, da je dražljiv in neberljiv (ne, ni Cin ne, ni Perl). Je približno Malbolge, katerega ime izhaja iz 8. kroga pekla v Božanska komedija. Tu je "zdravo svet" (ali tako so mi že povedali):
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Lolcat
Preprosta šala. Poglejmo vašo kodo:
HAI CAN HAS STDIUM? IMAM VAR IM IN YR LOOP UP VAR!!1 VIDLJIV VAR IZ VAR VEČJI KOT 10? KTHX IM IZHOD YR LOOP KTHXABOM
Ker je veliko bolj berljiv kot prejšnji programski jeziki, vam uganim, kaj naj naredi. 😉
INTERKALNO
DO ,1 <- #13 Prosim 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 Prosim 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 Prosim PREBERITE OUT ,1 Prosim Daj UP
Moram reči, da so nekateri od teh programskih jezikov zelo koristni za spoznavanje nekaterih računalniških konceptov. Na primer Prekleto kot nalašč za učenje o kazalcih.
Skoraj imam raje binarno kodo
Da, vsekakor raje programiram v binarnem ali v asemblerju, lahko naredite karkoli (jeziki na visoki ravni navsezadnje tečejo na procesorju), toda zanimivost pri ezoteričnih jezikih je izziv, ki ga predstavljajo. Mimogrede, roader (avtor tega članka) me jeziš. Kako sta C in Perl neberljiva in dražilna? Kakšen nevzdržen prekršek !! Kakšno ogorčenje! Če pa je C čudovit, v perlu nisem programiral, sem pa videl dobre komentarje o tem jeziku, ker je očitno zelo primeren za obdelavo datotek, nizov in teh pods, na primer za exploit je precej dober, čeprav je cy python v exploitih dobro delati ...
Saludos!
Človek, zadeva C in perl je bila šala in ja, so zelo berljivi jeziki, zelo praktični in "lepi" v pravih rokah. Seveda so v CI videli, da nekateri na koncu ustvarijo nered z nerazumljivo kodo za špagete, in brez vodenja evidence. Kar zadeva Perl, se ne zgodi le isto kot pri C, ampak ker ste tako zelo prilagodljivi, lahko najdete stvari, ki kljubujejo zdravi pameti. Moram reči, da v Perlu nimam izkušenj s programiranjem, vendar dobro poznam njegovo skladnjo.
Prvo je, kako pisati v morsejevi kodi 😀
In drugi je biti orangutan, četrti pa povzroča možganski infarkt.
Zelo dobro objavo.
pogrešam te piet
http://www.dangermouse.net/esoteric/piet.html
In kuhar, unlamda, presledek in tink. Članek pa nisem hotel narediti prevelikega.
ČAS ZA PREDSTAVO
POGOVORITE Z ROKO «zdravo svet»
STE BILI PREKINJENI
Pozdravljen svet v ArnoldCu
http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger
No, tega ni vedel, mislim, da mu je idejo dal "null terminator"
Resnica je, da so me ti programski jeziki nasmejali. Dobro.