LOLCODE
język programowania Z Wikipedii, wolnej encyklopedii
język programowania Z Wikipedii, wolnej encyklopedii
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.
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.
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. |
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]:
Komenda | Działanie |
---|---|
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 |
Zwracanie błędu na standardowy strumień błędów. |
KTHX |
Zakończenie pętli. |
GTFO |
Przerwanie pętli. |
ENUF | |
IZ |
Instrukcja warunkowa. |
Linia lolkodu | LOLCODE | Wyjaśnienie linii kodu | Porównanie do C++ |
---|---|---|---|
1 | HAI |
Rozpoczęcie programu i zadeklarowanie biblioteki. | #include <iostream>
|
2 | CAN HAS STDIO? | ||
3 | I HAS A VAR |
Deklaracja zmiennej VAR. | for
|
4 | IM IN YR LOOP |
Zwracanie błędu na standardowy strumień błędów pętli. | |
5 | UP VAR!!1 |
Proces dodawania o wartości o 1, tzw. inktementacja | |
6 | IZ VAR BIGGER THAN 10? HTHX |
Jeżeli VAR jest większy niż 10, to przestań inkrementować. | |
7 | VISIBLE VAR |
Wypisz VAR. | )
|
8 | IM OUTTA YR LOOP |
Koniec pętli. | |
9 | KTHXBYE |
Zakończenie programu. | return 0;
|
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
Linia lolkodu | LOLCODE | Wyjaśnienie linii kodu | Porównanie do C++ | |
---|---|---|---|---|
1 | HAI CAN HAS STDIO? |
Rozpoczęcie programu i zadeklarowanie biblioteki. | #include <iostream>
| |
2 | ||||
3 | I HAS A VAR |
Deklaracja i pobieranie zmiennej VAR. | int wartosc;
| |
4 | GIMMEH VAR | |||
5 | IZ VAR BIGGER THAN 10? |
Warunek: Czy VAR jest większe niż 10? | if (wartosc>10) {
| |
6 | YARLY |
Jeżeli tak: | ||
7 | BTW to jezt prafdziwe |
Nie widoczny komentarz | ||
8 | VISIBLE "DUZA LICBA!" |
Wypisywanie informacji, że VAR jest większa niż 10. | ||
9 | NOWAI |
Jeżeli nie: | else if (wartosc>10) |
else |
10 | BTW ta wardotz jest falzywa |
Nie widoczny komentarz | { //Wartość fałszywa = 0
| |
11 | VISIBLE "MALA LICBA!" |
Wypisywanie informacji, że VAR jest mniejsza niż 10. | ||
12 | KTHX |
Zakończenie instrukcji if/else. | ||
13 | KTHXBYE |
Zakończenie programu. | return 0;
|
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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.