LOLCODE – ezoteryczny język programowania zainspirowany językiem pidgin English, używanym w fenomenie internetowym LOLCAT[1]. Język został stworzony w 2007 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.
Spis treści |
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 [2]
| Kod | Komentarz |
|---|---|
HAI |
We 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. |
KTHXBYE |
Koń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[3]:
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 [2]
Powyższy program wypisuje liczby od 1 do 10 (został napisany wg. specyfikacji w wersji 1.0). Ten sam program można zapisać (wg 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 LOLCODE zostało dodane do wirtualnej maszyny Parrot.
Istnieje oparty o platformę .NET kompilator LOLCODE, napisany przez Nicka Johnsona. Został wyróżniony podczas organizowanych przez Microsoft seminariów TechED 2007 Conference w Australii.
|
||||||||||||||||||||||||||||||||||||||||||||||||||