histats

Mengenal Bahasa Pemrograman Lua

Hari ini bahasan dikantor saya kebetulan adalah tentang aplikasi manajemen micro-services, Konga. Di beberapa diskusi, diketahui Konga ini dibuat dengan bahasa pemrograman Lua. Apa itu Lua? Sepertinya masih asing. Karena itu mungkin perlu membuat catatan mengenai bahasa pemrograman yang satu ini.

Tentang bahasa pemrograman Lua

Apa itu Lua?

Lua adalah bahasa scripting yang powerfull, efisien, ringan, dan dapat diembed. Lua mendukung pemrograman prosedural, pemrograman berorientasi objek, pemrograman fungsional, pemrograman berbasis data, dan deskripsi data.

Lua menggabungkan sintaks prosedural sederhana dengan konstruksi deskripsi data yang kuat berdasarkan array asosiatif dan semantik yang dapat dikembangkan. Lua diketik secara dinamis, dijalankan dengan menafsirkan bytecode dengan mesin virtual berbasis register, dan memiliki manajemen memori otomatis dengan pengumpulan sampah tambahan, sehingga ideal untuk konfigurasi, skrip, dan prototyping cepat.

Darimana Lua berasal?

Lua dirancang, diterapkan, dan dikelola oleh tim di PUC-Rio, Universitas Katolik Kepausan Rio de Janeiro di Brasil. Lua lahir dan dibesarkan di Tecgraf, sebelumnya Kelompok Teknologi Grafik Komputer PUC-Rio. Lua sekarang bertempat di LabLua, laboratorium Departemen Ilmu Komputer PUC-Rio.

Arti nama Lua adalah

“Lua” (diucapkan LOO-ah) berarti “Bulan” dalam bahasa Portugis. Dengan demikian, itu bukan akronim atau singkatan, tetapi kata benda. Lebih khusus lagi, “Lua” adalah nama, nama bulan Bumi dan nama bahasa. Seperti kebanyakan nama, harus ditulis dalam huruf kecil dengan huruf kapital diawal, seperti ini: “Lua”. Jadi keliru kalau kita menulisnya seperti “LUA”, karena akan sangat membingungkan, karena kemudian menjadi akronim dengan makna yang berbeda untuk orang yang berbeda.

Lua Programming Language

Kenapa harus Lua?

Lua is a proven, robust language

Lua telah digunakan di banyak aplikasi industri (mis., Adobe Lightroom Adobe), dengan penekanan pada sistem tertanam (mis., Middleware Ginga untuk TV digital di Brasil) dan game (mis., World of Warcraft dan Angry Birds). Lua saat ini adalah bahasa scripting terkemuka di game. Lua memiliki manual referensi yang solid dan ada beberapa buku tentang itu. Beberapa versi Lua telah dirilis dan digunakan dalam aplikasi nyata sejak didirikan pada tahun 1993. Lua tampil di HOPL III, ACM SIGPLAN Ketiga Sejarah Programming Languages Conference, pada 2007. Lua memenangkan Front Line Award 2011 dari Game Developers Magazine.

Lua is fast

Lua memiliki reputasi yang pantas untuk kinerja. Untuk mengklaim sebagai “secepat Lua” adalah sebuah aspirasi dari bahasa scripting lainnya. Beberapa tolok ukur menunjukkan Lua sebagai bahasa tercepat di bidang bahasa skrip yang ditafsirkan. Lua cepat tidak hanya dalam program benchmark yang disetel dengan baik, tetapi juga dalam kehidupan nyata. Fraksi substansial dari aplikasi besar telah ditulis dalam Lua.

Jika Anda membutuhkan lebih banyak kecepatan, coba LuaJIT, implementasi Lua independen menggunakan kompilator just-in-time.

Lua is portable

Lua didistribusikan dalam sebuah paket kecil dan dibangun di luar kotak di semua platform yang memiliki kompiler C standar. Lua berjalan pada semua rasa Unix dan Windows, pada perangkat seluler (menjalankan Android, iOS, BREW, Symbian, Windows Phone), pada mikroprosesor tertanam (seperti ARM dan Rabbit, untuk aplikasi seperti Lego MindStorms), pada mainframe IBM, dll.

Untuk alasan spesifik mengapa Lua adalah pilihan yang baik juga untuk perangkat terbatas, baca ringkasan ini oleh Mike Pall. Lihat juga poster yang dibuat oleh Timm Müller.

Lua is embeddable

Lua adalah mesin bahasa cepat dengan tapak kecil yang dapat Anda tanamkan dengan mudah ke dalam aplikasi Anda. Lua memiliki API sederhana dan terdokumentasi dengan baik yang memungkinkan integrasi yang kuat dengan kode yang ditulis dalam bahasa lain. Sangat mudah untuk memperluas Lua dengan perpustakaan yang ditulis dalam bahasa lain. Juga mudah untuk memperluas program yang ditulis dalam bahasa lain dengan Lua. Lua telah digunakan untuk memperluas program yang ditulis tidak hanya dalam C dan C ++, tetapi juga di Jawa, C #, Smalltalk, Fortran, Ada, Erlang, dan bahkan dalam bahasa scripting lainnya, seperti Perl dan Ruby.\

Lua is powerful (but simple)

Konsep dasar dalam desain Lua adalah untuk menyediakan meta-mekanisme untuk mengimplementasikan fitur, daripada menyediakan sejumlah fitur langsung dalam bahasa. Misalnya, meskipun Lua bukan bahasa berorientasi objek murni, Lua memang menyediakan meta-mekanisme untuk mengimplementasikan kelas dan pewarisan. Meta-mekanisme Lua membawa ekonomi konsep dan menjaga bahasa kecil, sementara memungkinkan semantik diperluas dengan cara yang tidak konvensional.

Lua is small

Menambahkan Lua ke suatu aplikasi tidak membuatnya gembung. Tarball untuk Lua 5.3.5, yang berisi kode sumber dan dokumentasi, mengambil 297K terkompresi dan 1.2M terkompresi. Sumbernya berisi sekitar 24000 baris C. Dalam Linux 64-bit, juru bahasa Lua yang dibangun dengan semua pustaka Lua standar membutuhkan 247K dan perpustakaan Lua membutuhkan 421K.

Lua is free

Lua adalah perangkat lunak open-source gratis, didistribusikan di bawah lisensi yang sangat liberal (lisensi MIT yang terkenal). Ini dapat digunakan untuk tujuan apa pun, termasuk tujuan komersial, tanpa biaya sama sekali. Cukup unduh dan gunakan.