Lua is an amazing programming language implementation. I say implementation because it is not just the language itself but how it is implemented that is particularly impressive.
As a programming language, Lua can be characterised as a small but powerful language. The power comes from clever use of a few core meta-mechanisms as Lua authors like to put it. A nice introduction to some of these are in the recent talk by Roberto Lerusalimschy at the Lua Workshop 2016.
I used to think that Lua is a simple language; but appearances are deceptive. I now think of Lua as 'small' and 'powerful' language rather than a 'simple' language.
The language design is clever, but the implementation is what makes it great.
Firstly it is a very compact implementation, just a few C source files, and that's it. No dependencies other than an ANSI C compiler.
Secondly, despite the compact implementation, it features:
As a programming language, Lua can be characterised as a small but powerful language. The power comes from clever use of a few core meta-mechanisms as Lua authors like to put it. A nice introduction to some of these are in the recent talk by Roberto Lerusalimschy at the Lua Workshop 2016.
I used to think that Lua is a simple language; but appearances are deceptive. I now think of Lua as 'small' and 'powerful' language rather than a 'simple' language.
The language design is clever, but the implementation is what makes it great.
Firstly it is a very compact implementation, just a few C source files, and that's it. No dependencies other than an ANSI C compiler.
Secondly, despite the compact implementation, it features:
- A byte-code compiler and Virtual Machine.
- An incremental garbage collector.
- Extremely fast parser and code generator.
- And the language is delivered as a library with an extremely well designed C API, that makes it easy to embed Lua as well as extend it.
It is this combination of economical design and beautiful implementation that makes Lua great.
No comments:
Post a Comment