Esoteraj programlingvoj estas minimumismaj lingvoj, kreitaj kiel pruvo de koncepto kaj / aŭ defio, kaj programi la lingvon kaj skribi por ĝi. Ni vidu recenzon pri iuj el ili:
cerbofiki
Ĝi estas la plej konata kaj la plej populara, ĝia sintakso estas sufiĉe simpla:
++++++++++ [ Buklo por komenci memorojn (ripetas 10 fojojn) >+++++++>++++++++++>+++++++++++>+++>+<<<<- 70 100 110 30 10 ] >++. "H" (72) 1 >>+. 'aŭ' (111) 3 ---. 'l' (108) 3 <---. 'a' (97) 2 >>++. spaco (32) 4 <+. 'm' (109) 3 ++++++++. 'u' (117) 3 -------. 'n' (110) 3 <+++. 'd' (100) 2 >+. 'aŭ' (111) 3 >+. '!' (33) 4 >. '\ n' (10) 5
Por klarigi ĝian sintakson, plej bone estas turni sin al aliaj programlingvoj. Do en lia Vikipedio-paĝo provizu al ni ĉi tiun tabelon de ekvivalentoj, en kiu ptr samvaloras al sennoma signo:
cerbumado | C | Perl |
---|---|---|
> | ++ ptr; | $ montrilo ++; |
< | –Ptr; | $ montrilo–; |
+ | ++ * ptr; | $ bendo [$ montrilo] ++; |
- | - * ptr; | $ bendo [$ montrilo] -; |
. | putchar (* ptr); | presi chr $ tape [$ montrilon]; |
, | * ptr = getchar (); | $ bendo [$ montrilo] = ord (<>); |
[ | while (* ptr) { | while ($ bendo [$ montrilo]) { |
] | } | } |
Ook!
Ĝi baziĝas sur la antaŭa, sed anstataŭe uzas la vortkombinon Nu?, Nu! y Ankaŭ. Ĝi estas parodio de la bibliotekisto de Discworld, kiu transformiĝas en orangutangon kaj povas nur prononci tiujn tri vortojn. Ni rigardu pecon de kodo.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Supozeble ĉi tiu "programo", kion ĝi faras, estas skribi la tipan "saluton."
Befunge
Laŭ mi la plej originala el ĉiuj, ĝia flua rega strukturo baziĝas sur sagoj, kiuj diras al la programo kien iri. Ankaŭ ĝi faciligas krei mutantan kodon (kodo, kiu modifas sin):
vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^
La supra kodo estas senfina hazarda nombrogeneratoro, kiu generos nombron inter 1 kaj 9. Multe pli legebla ol la antaŭaj.
Malbolge
Jen ni havas programlingvon kreitan por esti irita kaj nelegebla (ne, ĝi ne estas C, kaj ne, ĝi ne estas Perl). Estas proksimume Malbolge, kies nomo devenas de la 8a infera rondo en La Dia Komedio. Jen "salutmondo" (aŭ tion oni diris al mi, ke ĝi estas):
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
lolcat
Simpla ŝerco. Ni vidu vian kodon:
Hai POVAS ESTAS STDIUM? MI HAVAS VAR IM IN YR Buklo UP VAR!!1 VISIBLE VAR IZ VAR PLI GRANDA Ol 10? KTHX IM OUTTA YR Buklo KTHXBYE
Ĉar ĝi estas multe pli legebla ol antaŭaj programlingvoj, mi lasos vin diveni, kion ĝi devas fari. 😉
INTERVOKO
DO ,1 <- #13 BONVOLU 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 BONVOLU 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 BONVOLU LEĜO OUT ,1 BONVOLU Donu UP
Mi devas diri, ke iuj el ĉi tiuj programlingvoj tre utilas por lerni pri iuj komputilaj konceptoj. Ekzemple, cerbofiki ĝi estas perfekta por lerni pri montriloj.
11 komentoj, lasu la viajn
Mi preskaŭ preferas duuman kodon
Jes, mi certe preferas programi en duuma aŭ en asemblero rekte, vi povas fari ion ajn (altnivelaj lingvoj finas funkcii sur la procesoro), sed la interesa afero pri esoteraj lingvoj estas la defio, kiun ili reprezentas. Cetere, roader (la aŭtoro de ĉi tiu artikolo), vi koleras min. Kiel C kaj Perl estas nelegeblaj kaj incitaj?. Kia netolerebla ofendo !! Kia indigno! Sed se C estas mirinda, perl mi ne programis sed mi vidis bonajn komentojn pri ĉi tiu lingvo ĉar ŝajne ĝi tre taŭgas por pritrakti dosierojn, ĉenojn kaj ĉi tiujn podojn, ekzemple por ekspluatoj ĝi estas sufiĉe bona, kvankam cy python en ekspluatoj funkcias bone ...
Saluton!
Viro, la afero C kaj perl estis ŝerco, kaj jes, ili estas sufiĉe legeblaj lingvoj, tre praktikaj kaj "belaj" en la ĝustaj manoj. Kompreneble en C mi vidis, ke iuj homoj kreas implikiĝon de nekomprenebla spageta kodo, kaj sen tenu registron. Pri Perl, ne nur la samo okazas kiel kun C, sed, estante tiel ekstreme fleksebla, vi povas trovi aferojn, kiuj spitas la prudenton. Mi devas diri, ke mi ne havas sperton programi en Perl, sed mi konas ĝian sintakson sufiĉe bone.
La unua estas kiel skribi en morsa kodo 😀
Kaj la dua estas orangutango, kaj la kvara, ĝi kaŭzas cerbajn infarktojn.
Tre bona la afiŝo.
mi sopiras al vi piet
http://www.dangermouse.net/esoteric/piet.html
Kaj kuiristo, unlamda, blanka spaco kaj tink. Sed mi ne volis pligrandigi la artikolon.
ESTAS SHOWTIME
PAROLU AL LA MANO «saluton mondo»
VI FINIS
Saluton Mondo en ArnoldC
http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger
Nu, li ne sciis tiun, mi supozas, ke la ideon donis al li la "nula terminatoro"
La vero estas, ke tiuj programlingvoj ridigis min. Bone.