Zanimljivosti: Ezoterični programski jezici

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


I na kraju, ali ne najmanje važno, imamo parodiju na programski jezik FORTRAN. INTERCAL. I evo zdravog sveta.
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
Pa to je to.

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.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   davidlg rekao je

    Gotovo više volim binarni kod

    1.    desikoder rekao je

      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!

      1.    roader rekao je

        Č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.

  2.   Joaquin rekao je

    Prvo je kako pisati Morseovom šifrom 😀

    1.    roader rekao je

      A drugo je biti orangutan, a četvrto, uzrokuje moždani infarkt.

  3.   Tyrus Junior rekao je

    Vrlo dobar post.

  4.   johnfgs rekao je
    1.    roader rekao je

      I kuhar, unlamda, razmak i spretnost. Ali nisam htio da članak bude prevelik.

  5.   diazepam rekao je

    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

    1.    roader rekao je

      Pa, on to nije znao, pretpostavljam da mu je ideju dao "nulti terminator"

  6.   eliotime3000 rekao je

    Istina je da su me ti programski jezici nasmijali. Dobro.