LOL MAN niekada negalvojau, kad pasakysiu tokius žodžius ir dar šitame puslapyje, bet vis dėl to LOL. Tačiau šiandien Pixel.lt gimtadienis ir mes darom tai ką norim. Lygiai prieš du metus buvo publikuotas pirmasis mano straipnis nuo kurio ir prasidėjo Pixel.lt žygis į žvaigždes. Nubraukiam ašarą, vis tik daug laiko praėjo…
O dabar pereikime prie labai rimto straipsnio apie programavimo kalbą. Kokią kalbą? LOLCODE, jeigu neteko girdėti, tai kaip tik bus puiki proga susipažinti.
Idėja sukurti LOLCODE gimė, 2006 metų gale, pats jos kūrimo pikas vyko lygiai prieš metus 2007 metų birželio - liepos mėnesiais. Po to jos kūrimas aprimo. Tai tiek istorijos, kadangi pats puslapis jos gaili, o aš išgalvoti negaliu, tai iš karto pereisime prie kodo rašymo.
LOLCODE įdomi, tuo kad galima rasti daug skirtingų realizacijų, aš atkreipiau dėmesį į javascript, PHP ir .NET. Kadangi visos implementacijos šiek tiek skiriasi, tai toliau visus pavyzdžius rašysiu ant .NET, kas reiškia, kad tie pavyzdžiai gali neveikti kitose interpretatoriuose.
Turbūt netempiant ilgai gumos iškarto pateiksiu kodo pavyzdį.
HAI CAN HAS STDIO? VISIBLE "HPPY BRDEI PIXEL"! KTHXBYE
Paprastai aš nerašau “Hello World” tipo programų, bet šiuo atveju tai geriausia nuo ko galėjau pradėti. Taigi truputi apie gramatiką: HAI - pažymi programos pradžią, o KTHXBYE - atitinkamai pabaigą. CAN HAS STDIO? įtraukia stdio biblioteką. Šias tris eilutes matysite visose programuose. VISIBLE - išveda kodą į ekraną. Čia idomioji dalis, mano atveju kodas išvedamas konsolės lange, visai kas kitą jeigu jūs pasirinksite PHP interpretatoriaus versiją. Žinot, šitą kalbą turėtų dėstyti universitetuose.
Pereikime prie sudėtingesnio pavyzdžio.
HAI CAN HAS STDIO? I HAS A VAR IM IN YR LOOP UPZ VAR!!1 VISIBLE VAR IZ VAR BIGR THAN 10? ENUF.KTHX KTHX KTHXBYE
Ši programa išveda skaičius nuo vieno iki 10 ekrane. Pirmiausiai ką mes matome tai kintamųjų deklaravimas I HAS A, VAR - kintamojo pavadinimas. Toliau eina ciklas - IM IN YR, o LOOP yra ciklo pavadinimas. UPZ reiškia padidinti kintamąjį vienetu ir pirskirti jam reikšmę. IZ atitinka if salygą, o BIGR ženklą daugiau. Neesu tikras, bet rodos ENUF yra specifinis dalykas būtent .NET realizacijoje, nes visur yra parašyta GTFO kas atitinka programavimo teiginį GO TO, kokia gi kalba be GO TO? KTHX yra break funkcija, kuri leidžia pabėgti iš ciklo.
Norėtumėte interaktyvesnės programos?
HAI CAN HAS STDIO? I HAS A VAR VISIBLE "Nter nmber"! GIMMEH VAR VISIBLE "You said "! VISIBLE VAR! KTHXBYE
Ši programa paprašo įvesti jūsų infroamciją ir ją atvaizduoja ekrane. Šiuo atveju matote tik vieną naują komandą GIMMEH, kuri priima jūsų įvestas reikšmes.
Dar galėčiau paminėti vieną dalyka BTW komentarų žymė. Ar galima padaryti kokią nors prasmingą programą? Teoriškai aš galiu užrašyti įvairius uždavinius, deja mano pasirinkta .NET realizacija tokiu dalykų neleidžia.
Daugiau informacijos ieškokite oficialiame puslapyje.
KTHXBYE
2008-06-01 | 13:11
Paplokim katutėm :D ROFL!
2008-06-01 | 17:14
:) Made me smile
2008-06-02 | 0:09
Kas yra “ROLF”? :D
2008-06-02 | 0:36
Rolling on the laughing floor ? :D
2008-06-19 | 12:51
Tikri programeriai irgi moka pajuokauti :D
2008-06-22 | 20:26
ROFL = Rolling on the floor laughing
2008-06-23 | 16:16
…”kodas išvedamas koncolės lange”… šeip ne koncolės, o konsolės. ;)