Ngôn ngữ lập trình Lua

Ngôn ngữ lập trình Lua
Lua ngôn ngữ không mới cũng không cũ trong giới lập trình. Ngôn ngữ này được sử dụng chủ yếu để viết các phần mềm game, cùng tìm hiểu xem chúng có gì thú vị.

Ngôn ngữ lập trình Lua

Theo tiếng Bồ Đào Nha, Lua có nghĩa là Mặt trăng. Là một ngôn ngữ lập trình thông dịch với đặc điểm nhỏ gọn, đa nền tảng, được tạo ra bởi Roberto Ierusalimschy, Luiz Henrique de Figueiredo và Waldemar Cele vào năm 1993.

Lua được phát triển từ ngôn ngữ C và hệ thống các API theo hướng đơn giản hóa.  Việc này giúp ngôn ngữ này không phụ thuộc vào nền tảng phần cứng, cấu trúc linh động, ít dư thừa, có thể dễ dàng test hay debug.

Nhờ có môi trường an toàn, khả năng tự động quản lí bộ nhớ, và nhiều công cụ để xử lí string cũng như những loại data khác có dung lượng động mà nó làm được những việc như trên.

Ngôn ngữ lập trình Lua

Lợi ích của ngôn ngữ Lua

Lua là một ngôn ngữ được sử dụng nhiều, và đã được kiểm chứng

Được dùng trong các ứng dụng công nghệ (Photoshop Lightroom), trong các hệ thống nhúng (Ginga middleware dùng trong các hệ thống TV số ở Brazil), hay tạo ra các ứng dụng game (như World of Warcarft addons hay Angry Birds).

Lua được đánh giá là ngôn ngữ kịch bản hàng đầu sử dụng trong game và được khá đông cộng đồng ghi nhận cùng với hệ thống documentation khá đầy đủ và chi tiết.

Lua rất nhanh

Nổi tiếng về tốc độ xử lí, là chuẩn mực để các loại ngôn ngữ kịch bản khác hướng tới. Khả năng nhạy bén của Lua đã được kiểm chứng qua rất nhiều bài test (benchmark), cũng như trong môi trường thực tế. Đa số các ứng dụng lớn hiện nay được viết bằng Lua.

Ngôn ngữ lập trình Lua

Hỗ trợ đa nền tảng

Lua được phân phối trong từng gói nhỏ và được xây dựng độc lập trong tất cả những nền tảng có bộ biên dịch C chuẩn. Nó có thể chạy trên tất cả các nền tảng Unix và Windows, trên các nền tảng di động (Android, iOS, BREW, Symbian, Windows Phone), trên các vi xử lí nhúng (như ARM và Rabbit, cho các ứng dụng như Lego MindStorms).

Khả năng nhúng

Có hệ thống API đơn giản và được documented tốt, có thể dễ dàng tích hợp Lua vào trong các hệ thống viết bằng các loại ngôn ngữ khác.

Dễ dàng sử dụng các thư viện của các ngôn ngữ khác trong Lua và dễ dàng dùng các thư viện của Lua trong các ứng dụng viết bằng ngôn ngữ khác, không chỉ C/C++, Java... mà kể cả các loại ngôn ngữ kịch bản khác như Perl hay Ruby.

Ngôn ngữ lập trình Lua

Ngôn ngữ Lua mạnh mẽ nhưng khá đơn giản

Lua cung cấp những phương thức tổng quát để thực hiện các tính năng thay vì phải cung cấp trực tiếp. Đặc điểm cơ bản này giúp ngôn ngữ này nhỏ gọn về mặt  cấu trúc mà vẫn dễ dàng mở rộng sang các hệ thống khác.

Thư viện phong phú

Source code của Lua chúa khoảng 23000 dòng code C. Trong một hệ thống Linux 64-bit, bộ biên dịch Lua được xây dựng với tất cả các thư viện Lua chuẩn chiếm khoảng 242 kb , và thư viện Lua thì chiếm khoảng 414 kb. File tarball của Lua 5.3.1, trong đó chứa cả source code và documentation, có dung lượng 276 k khi nén và 1.1 M khi giải nén.

Miễn phí

Là một ngôn ngữ mã nguồn mở và miễn phí. Người dùng có thể tự do phát triển và sử dụng miễn phí ngay cả khi sử dụng với mục đích thương mại.

Ngôn ngữ lập trình Lua

Cài đặt Lua

Về cơ bản, cài đặt Lua rất đơn giản. Để có thể bắt đầu bắt tay vào lập trình Lua, bạn chỉ cần có :

Bộ thông dịch Lua (Lua interpreter): Một chương trình nhỏ, nơi bạn có thể gõ trực tiếp các lệnh của Lua và thực thi chúng ngay lập tức. Lua interpreter sẽ dừng thực thi mọt file Lua ngay khi nó bắt gặp lỗi trong file đó .

Bộ biên dịch Lua (Lua complier): Khi ta muốn extend Lua đến một ứng dụng/ ngôn ngữ khác, ta sẽ cần phải có một bộ SDK ( Software Development Kit ), trong đó có bộ biên dịch (complier) tương thích với Lua.

Bộ text editor: để bắt đầu thực hiện việc viết mã code Lua. Hãy sử dụng bất kì text editor nào mà bạn cảm thấy quen thuộc. Tất cả đều có thể viết Lua, từ Notepad hay Vim hay Sublime.