Keisčiausios ir beprotiškiausios programavimo kalbos – kai praktiškumas prasilenkia su absurdiškumu (kodo pavyzdžiai)  (3)

Bet kuris, kažkiek susidūręs su programavimu, žino tokias populiarias kalbas kaip HTML, PHP, CSS, Java ir pan., tačiau šios beprotiškiausios kalbos viršija bet kokią fantaziją.


Prisijunk prie technologijos.lt komandos!

Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.

Sudomino? Užpildyk šią anketą!

Šiandien egzistuoja šimtai programavimo kalbų, tačiau tik maža dalis profesionaliai vartojamos.

Dauguma likusių kalbų yra ezoterinės kalbos, kartais vadinamos „esolangais“. Skirtingai nuo praktinių programavimo kalbų, „esolangai“ nėra orientuoti į lengvesnės ar efektyvesnės kodavimo struktūros kūrimą.

Vietoj to, daugelis „esolangų“ yra kuriami kaip praktiniai pokštai ar būdai mesti iššūkį juos naudojantiems programuotojams.

1. LOLCODE

LOLCODE kalba yra viena iš populiariausių „esolangų“ programuotojų bendruomenėje.

Kalba buvo grindžiama „lolcat“ ir „lolspeak“ memų kultūros sampratomis. Populiariuose „lolcat“ memuose dažnai pateikiamas katės vaizdas su užrašu, kuriame yra tikslingos rašybos ir gramatikos klaidos.

Naudojant LOLCODE, kalbos sintaksė atspindi „lolspeak“ žodį su kvailomis teksto santrumpomis ir gramatinėmis klaidomis.

Pvz., norint deklaruoti ir priskirti kintamojo vertę, raktinis žodis yra „I HAS A“, po kurio pateikiamas kintamojo pavadinimas, po kurio nurodoma „ITZ“ ir jo vertė (pvz. .: I HAS A VAR ITZ 15).

Be LOLCODE sintaksės, dar viena pastebima savybė yra LOLCODE skirtingų kintamųjų tipų atvaizdavimas. Simbolių eilutės (stringai) vadinami YARN, sveikasis skaičius (integer) yra „NUMBR“, skaičius su kableliu (float) yra „NUMBAR“, o loginė vertė (boolean) yra „TROOF“.

 

LOLCODE tai pat naudoja teksto simbolių šypsenėles - :). Pavyzdžiui, „:)“ galima naudoti kuriant naują eilutę, „:>“ reiškia skirtuką (tab) ir kt.

Tai tik keli ekscentriški „LOLCODE“ bruožai, dėl kurių ji tapo mėgstama „esolango“ entuziastų kalba.

2. „Omgrofl“

„Omgrofl“ yra labai panaši į „LOLCODE“, tačiau daugiau dėmesio skiriama teksto santrumpų naudojimui.

„Omgrofl“ reiškia „oh my gosh rolling on the floor laughing“ (raitysis iš juoko ant grindų) – tai akronimų „omg“ ir „rofl“ derinys. Visos „Omgrofl“ komandos taip pat sudarytos iš panašių įprastų interneto žargono žodžių.

Pavyzdžiui, norint sukurti kintamuosius naudojant „Omgrofl“, kintamasis turi būti parašytas „lol“ (laughing out loud) variantu, pvz., lol, lool, loool ir kt. Norėdami priskirti kintamajam vertę, pridėkite prie savo „lol“ kintamojo pavadinimą su „iz“ ir kintamojo verte (pvz .: lol iz 15).

Vietoj sąlyginių „if“ teiginių naudojama „wtf“. Lyginant išraiškas sąlyginėje sąlygoje, naudojami „iz uber“ tikrinimai, kurie yra mažesni ar didesni už išraiškas, „iz liek“ tikrina, ar nėra lygių išraiškų, ir „nope“ gali būti naudojama sąlygai anuliuoti.

 

Ciklų (loop) kontekste „Omgrofl“ naudoja komandą „rtfm“ (read the flipping manual), kad pradėtumėte ciklą, o „brb“ (sutrumpinimas - „be right back“) ciklo užbaigimui.

Kitos „Omgrofl“ komandos naudoja tą patį modelį, naudodamos įvairius žargoninius žodžius, kad perduotų skirtingas instrukcijas.

Tęsinys kiame puslapyje:




3. „Velato“

„Velato“ yra vienas unikaliausių „esolangų“ – komandoms užrašyti naudojamos muzikos natos. Pats šaltinio kodas pateikiamas MIDI failų formatu.

Muzikoje komandos aiškinamos atsižvelgiant į intervalus tarp kūrinio natų. Pavyzdžiui, if-teiginys žymimas tobulu 5-uoju intervalu, kitas teiginys - didžiuoju 6-uoju ir kt.

„Velato“ taip pat pristato „komandos pirminės natos“ (command root note) idėją. Tačiau komandos pirminė nata nėra nurodoma akordu ar konkrečiu klavišu. Vietoj to, komandos pirminė nata apibrėžiama pirmoje dainos natoje. Kai nata grojama du kartus, komandos pirminę natą galima pakeisti į naują.

Komandos pirminė nata yra ypač svarbios dirbant su kintamaisiais.

 

Nors „Velato“ nesugeba kurti funkcijų ir iš pradžių gali klaidinti naujokus, kalba siūlo iššūkį programuotojams kurti savo muziką, bet ir sukurti jos viduje užkoduotą programą.

4. „Whitespace“

Paprastai tarpai (whitespace) reiškia simbolius, vaizduojančius nematomą puslapio erdvę. Panašiai „Whitespace“ kalboje komandos yra pagrįstos simboliais, kurie yra nematomi, pvz., tarpai, skirtukai ar naujos eilutės. Visi kiti simboliai ignoruojami.

Duomenims koduoti „Whitespace“ naudoja dvejetainį kodą, kur tarpai yra kaip nuliai, o skirtukai (tab) – vienetukai. Pavyzdžiui, klavišų tab-space-space seka reikštų 1100 dvejetainėje sistemoje arba „12“ dešimtainėje.

„Whitespace“ yra ribota, kokio tipo programas ji tikrai gali sukurti. Norėdami sukurti klasikinę „hello, world“ eilutę, turėsite panaudoti beveik 1000 atskirų whitespae simbolių.

Tai tik keli keistų „esolangų“ pavyzdžiai, kurių galima priskaičiuoti šimtus. Programavimo kalbų sritis neapsiriboja vien kalbų kūrimu praktiniais tikslais. „Esolangai“ tapo nauju įdomiu būdu programuotojams ištirti ir peržengti programavimo kalbos dizaino ribas.

Pasidalinkite su draugais
Aut. teisės: MTPC
MTPC
(35)
(12)
(23)

Komentarai (3)