LOLCODE – ezoteryczny język programowania zainspirowany językiem pidgin English, używanym w fenomenie internetowym LOLCAT. Język został stworzony w 2007 r. przez Adama Lindsaya, pracownika Wydziału Informatyki Lancaster University.
Język nie ma jeszcze dokładnie zdefiniowanej składni i semantyki. Mimo to istnieje już kilka działających interpreterów i kompilatorów.
Struktura języka i przykłady
LOLCODE jest napisany w mocno skróconym angielskim internetowym slangu i osoby, które go rozumieją, potrafią często zrozumieć zasadę działania programów bez doświadczenia programistycznego. Poniżej przykład programu Hello world oraz programu wypisującego zawartość pliku.
Przykład 1:
HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE
Kod Komentarz HAIWe wszystkich programach napisanych w LOLCODE, HAI (slangowy odpowiednik angielskiego „hi”) rozpoczyna program. CAN HAS [PLIK]?Odpowiada za załadowanie bibliotek z dodatkowymi funkcjami. W języku C odpowiednikiem jest #include <PLIK>.VISIBLE [TEKST]Wypisuje tekst. KTHXBYEKończy każdy program.
Przykład 2:
HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
AWSUM THX
VISIBLE FILE
O NOES
INVISIBLE "ERROR!"
KTHXBYE
W tym przykładzie zastosowana została komenda otworzenia pliku (PLZ OPEN FILE „NAZWA”? – „Proszę otwórz plik „NAZWA”?) oraz zwracanie wyjątków (AWSUM THX – „Świetne, dzięki!” i O NOES – „O nie!”).
Inne komendy to:
- I HAS A zmienna – deklarowanie zmiennej
- LOL zmienna R wartość – przypisanie wartości do zmiennej
- BTW komentarz – traktowanie wszystkich znaków, aż do końca linii, jako komentarz
- INVISIBLE – zwracanie błędu na standardowy strumień błędów
- IM IN YR nazwa – rozpoczynanie pętli
- KTHX – zakończenie pętli
- GTFO lub ENUF – przerwanie pętli
- IZ – instrukcja warunkowa
Przykład 3:
HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
IZ VAR BIGGER THAN 10? KTHX
VISIBLE VAR
IM OUTTA YR LOOP
KTHXBYE
Powyższy program wypisuje liczby od 1 do 10 (został napisany według specyfikacji w wersji 1.0). Ten sam program można zapisać (według specyfikacji 1.2) w następujący sposób:
HAI
CAN HAS STDIO?
IM IN YR LOOP UPPIN YR VAR TIL BOTHSAEM VAR AN 10
VISIBLE SUM OF VAR AN 1
IM OUTTA YR LOOP
KTHXBYE
Wsparcie
Obsługa LOLCODE została dodana do wirtualnej maszyny Parrot.
Istnieje oparty na platformie .NET kompilator LOLCODE, napisany przez Nicka Johnsona. Został wyróżniony podczas organizowanych przez Microsoft seminariów TechED 2007 Conference w Australii.
Przypisy
- ↑ Dwight Silverman: I’M IN UR NEWSPAPER WRITIN MAH COLUM. Chron.com, 2007-06-06. [dostęp 2007-06-06].
- ↑ SORN.net. sorn.net. [zarchiwizowane z tego adresu (2009-03-26)]..
Linki zewnętrzne
- Oficjalna strona LOLCODE. lolcode.com. [zarchiwizowane z tego adresu (2013-03-04)].
- LOLPython
- The new fame: Internet celebrity, artykuł CNN