Senin, 08 Maret 2010

LUA Bahasa Pemrograman Alternatif yang Hebat

Pada bahasan kali ini saya ingin sedikit memperkenalkan suatu bahasa pemrograman yang mungkin belum banyak kita ketahui tapi mungkin bisa menjadi alternative untuk kita sebagai suatu bahasa pemrogram. Bahasa pemrograman tersebut adalah LUA.

Lua adalah bahasa penulisan (scripting) yang lahir pada tahun 1993, sebagai bagian dari Tecgraf, Computer Graphics Technology Group di PUC-Rio, Universitas Pontificial Catholic Rio de Janeiro, Brazil. Ketiga pencipta Lua merupakan anggota Tecgraf, yaitu Roberto Ierusalimschy, Luiz Henrique de Figueiredo, dan Waldemar celes. Di awal kelahirannya, Lua merupakan perangkat pengembangan software rumahan, namun telah diadopsi oleh beberapa proyek industri seluruh dunia dan telah berkembang luas dalam berbagai jenis aplikasi industri seperti robotic, pemrograman literature, bisnis terdistribusi, teks editor, Bioinformatika, pengembangan web, dan lain-lain. Secara khusus, Lua menjadi salah satu software terkemuka di dunia dalam perkembangan game. Sejak awal, Lua telah dirancang sederhana, portable, cepat, dan mudah untuk ditempel (embedded) kedalam aplikasi-aplikasi. Hal itulah yang menjadikan Lua sukses dalam industry.

Para pengguna Lua pada umumnya terbagi dalam tiga kelompok besar:

a) mereka yang menggunakan Lua yang telah ter'(embedded)' dalam satu program aplikasi,

b) mereka yang menggunakan Lua stand alone, dan

c) mereka yang menggunakan Lua dan C bersama-sama.

Banyak orang menggunakan Lua embedded dalam satu program aplikasi, seperti CGILua (untuk membangun Halaman web dinamis) atau LuaOrb (untuk mengakses CORBA object). Aplikasi ini menggunakan Lua-C API untuk mendaftarkan fungsi-fungsi baru, untuk membuat tipe-tipe baru.

Mengubah perilaku dari beberapa operasi bahasa, konfigurasi Lua untuk domain spesifik. Sering, para pemakai aplikasi-aplikasi tersebut bahkan tidak mengetahui bahwa Lua adalah satu bahasa independent yang diadaptasikan pada domain khusus; sebagai contoh, CGILUA para pemakai cenderung berpikir Lua sebagai bahasa yang secara khusus dirancang untuk Web.

Lua juga bermanfaat sebagai bahasa stand alone, sebagian besar untuk pengolahan teks dan sebagian kecil suatu program. Untuk penggunaan-penggunaan seperti itu, kemampuan utama Lua datang pada pustaka standarnya, yang menawarkan bentuk yang sesuai dan fungsi lain untuk penanganan string. Kita mungkin menganggap bahasa stand alone seperti penempelan(embedding) pada Lua dalam bagian string dan (teks) manipulasi file.

Akhirnya, ada programmer yang bekerja di sisi lain dari bench, penulisan aplikasi yang menggunakan Lua sebagai library. Programmer seperti itu akan membuat program lebih pada C daripada Lua, meski mereka perlu pemahaman yang baik tentang Lua untuk membuat interface yang sederhana, mudah digunakan, dan terintegrasi baik dengan bahasa pemrograman.

Keunggulan fasilitas-fasilitas berikut menjadikan Lua jauh berbeda dari bahasa-bahasa lain adalah :

Extensibility: Extensibility Lua sangat menarik perhatian sehingga banyak orang menganggap Lua bukan sebagai suatu bahasa, tetapi sebagai suatu perangkat untuk membangun bahasa-bahasa domain spesifik. Lua telah dirancang untuk diperluas/diaplikasikan, pada kode Luad dan kode eksternal C. Sebagai suatu bukti dari konsep, Lua menerapkan banyak kemampuan dasarnya melalui fungsi-fungsi eksternal. Hal ini sangat mudah untuk menghubungkan Lua dengan C/C++ dan bahasa-bahasa lain, seperti Fortran, Java, Smalltalk, Ada, bahkan dengan bahasa-bahasa penulisan yang lain.

Simplicity / Sederhana : Lua adalah bahasa yang mudah dan sederhana. Lua mempunyai sedikit konsep (namun tangguh). Kesederhanaan ini membuat Lua mudah dipelajari dan memperbesar suatu implementasi yang sederhana. Distribusinya yang lengkap (source program, manual, biner-biner lebih untuk beberapa platform) sesuai dengan floopy disk.

Efisiensi: Lua mempunyai implementasi yang efisien. Benchmark-benchmark yang mandiri menunjukkan Lua sebagai bahasa tercepat dalam dunia bahasa penulisan (interpreted).

Portabilitas: Ketika kita berbicara tentang portabilitas, kita tidak berbicara tentang menjalankan Lua di platform Windows dan Unix. Kita berbicara tentang menjalankan Lua di semua platform yang sudah pernah kita dengar, seperti: NextStep, OS/2, PlayStation II (Sony), Mac OS-9 dan OS X, BeOS, MS-DOS, IBM, EPOC, PalmOS, MCF5206ELITE Evaluation Board, RISC OS, dan tentu saja semua jenis Unix dan Windows. Source program untuk masing-masing platform hampir sama. Lua tidak menggunakan kumpulan kondisi untuk menyesuaikan kodenya kepada mesin-mesin yang berbeda; sebagai gantinya, Lua mengikuti standar ANSI ( ISO) C. Dengan cara itu, biasanya anda tidak perlu menyesuaikan pada suatu lingkungan baru: Jika anda mempunyai satu compiler ANSI C, anda hanya harus meng-kompile Lua, out of box.

1 komentar: