LOLCODE
LOLCODE – ezoteryczny język programowania zainspirowany językiem pidgin English, używanym w fenomenie internetowym LOLCAT[1]. 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 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[2]:
- 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
- LOL zmienna R wartość – przypisanie wartości do zmiennej
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