LOLCODE
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/02/LOLCode_logo.png/220px-LOLCode_logo.png)
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
[edytuj | edytuj kod]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
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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]- ↑ 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
[edytuj | edytuj kod]- Oficjalna strona LOLCODE. lolcode.com. [zarchiwizowane z tego adresu (2013-03-04)].
- LOLPython
- The new fame: Internet celebrity, artykuł CNN