Lua
Ten artykuł jest częścią cyklu naukowego języki komputerowe. |
Języki programowania: |
Inne języki komputerowe: |
|
edytuj ten szablon |
local class = getmetatable(object)["__index"]
- Niesamowicie prosty i wygodny sposób na wykrywanie klas obiektów
local object = setmetatable({}, { ["__index"] = class })
- Jeszcze prostszy, jeszcze wygodniejszy sposób tworzenia obiektów
function f() f() end f()
- Najkrótszy i najłatwiejszy sposób na przepełnienie stosu
Lua – język programowania stworzony przez grupę naćpanych hippisów[1] pijanych programistów z Brazylii. Odwieczny wróg Węża.
Historia[edytuj • edytuj kod]
Na początku był Chaos. Z chaosu wyłoniły się pierwsze języki programowania – Fortran i Ada. Pojawiły się też inne języki – Fortran jednak strącił je wszystkie do Tartaru. Widząc to Ada się wkurwiła i namówiła ich syna, Pascala, aby przemówił Fortranowi do rozumu. Pascal nie zastanawiał się długo – uzbrojony w programowanie strukturalne pozbawił ojca władzy.
Tak rozpoczęły się rządy Pascala, niewiele lepszego od ojca. Różnica między władcami polegała na tym, że Pascal połykał inne języki zamiast wrzucać je do Tartaru. W ten sposób zdobywał ich moce, co czyniło go jeszcze lepszym językiem.
Jego żonie, Forth, najwyraźniej w smak to nie było, bo ukryła przed Pascalem jego młodego syna, C. Młody dorósł szybko i wkrótce obalił okrutnego Pascala. Wyswobodził wtedy inne języki z jego jelit[2], przez co ze wszystkiego zrobił się jeden wielki burdel, w centrum którego C zasiadł jako władca.
Po jakimś czasie C zaczął się nudzić. Stworzył więc raj, w którym umieścił pierwsze stworzenia – Obiekta i Funkcję. Wtedy przyszedł Wąż i wszystko porozpierdalał. Wkurwiony nie na żarty C wygnał Obiekta i Funkcję na planetę Ziemię, a Wężowi powiedział, że kiedyś przyjdzie ktoś, kto zrobi z nim porządek.
Dużo, dużo później, kilku brazylijskich informatyków stworzyło język programowania Lua, kończąc erę ciemności i panowanie Węża.
Cechy[edytuj • edytuj kod]
- Nie ma klas, obiektów, tablic, słowników – wszystko to zastępuje uniwersalna tabela (
table
). Mówiąc po ludzku, wszystko jeden chuj. - Jeżeli jakaś zmienna nie jest zadeklarowana, to po prostu ma wartość
nil
. Nie martw się, my też nie wiemy co to znaczy. - To samo się tyczy elementów tabel.
- Indeksowanie liczbowe tabel zaczyna się od 1, a nie od 0. Dijkstra przewraca się w grobie.
- W Lua 5.2 dodano nowe słowo kluczowe,
goto
. Twórcy języka widać bardzo nie lubią Dijkstry.