Berkenalan dengan Bahasa Lua
Lua bukan luwak kopi ya, mungkin bahasa yang satu cukup asing di telinga kita ketimbang Python.
Apa itu Lua ?
Lua , bahasa pemrograman serba guna, dynamic-type, weak-type, mendukung paradigma dan tertanam (embeddedable). Selain itu Lua bisa dijalankan dengan interpreter (seperti Python) dan di kompile menjadi bineri (executable atau exe kalo di Windows).
Multi paradigma
Paradigma adalah haluan bagaimana kita menyampaikan ide ke program, Lua mendukung banyak variasi dari paradigma. Berikut paradigma yang didukung oleh Lua :
- Object-oriented
- Fungsional
- Prosedural
- Data-driven
Dynamic
dan Weak Type
Dynamic type menandakan tipe data ditentukan oleh nilai yang disimpanya.
Weak type operasi suatu nilai dilihat dari nilainya bukan tipenya, berikut pembandingnya:
Contoh strong type
(operasi sesuai tipe data) di Python
3 + "4" # error
Sedangkan di Lua :
3 + "4" -- 7
Embbedable
Tertanam di sini maksudnya Lua bisa digabungkan kedalam sebuah program lain (jadi bisa menjalankan Lua didalam programnya), contohnya Game World of Warcraft yang didalam terdapat scripting Lua untuk membuat scenario game.
Tidak hanya bisa di tanam pada perangkat lunak, Lua juga di tanam di perangkat keras.
Portable
Lua bisa di kompile ke berbagai sistem operasi : Windows, Mac OS, Linux bahkan ke mikroprossesor seperti RaspBerry (ARM). Selain itu, ukuran tool-chain dari Lua yang munggil, hanya beberapa tidak sampai 1 MB (ini di Ubuntu 20.10):
Tampak
Agar tidak penasaran bagaimana bentuk kodenya berikut contoh sederhanaya:
Variabel
= 2 dua = 3 tiga + tiga dua -- 5
Pengambilan Keputusan
= true hasil if hasil then print("benar") else print("salah") end -- benar
Pengulangan
for i = 0, 5, 2 do print(i) end -- 0 2 4
Kapan pakai Lua ?
Lua bisa dipakai untuk membuat membuat server aplikasi web atau mendukung didalam aplikasi lain (scriptable application), kasus guna terpopuler dari Lua digunakan untuk membuat Game.
Pustaka yang perlu kamu ketahui untuk membuat aplikasi dengan Lua:
- Game
- Embedding
- ELua, Embedded Lua (Perangkat keras)
- go-lua, Embbeding Lua kedalam Go
- Untuk C atau C++ bisa menggunakan pustaka internal Lua (karena Lua dibuat dengan Bahasa C).
- Web
Referensi ini di pilih berdasarkan pustaka populer, masih banyak lagi pustaka yang tidak di bahas selengkapnya bisa telusuri LuaRocks.