This is the first post in what will be an intermittent, but ongoing series called “The Hall of Awesome.” I plan to use this space to honor people and things which I think are particularly excellent.
The first inductee is the Lua programing language. Lua is a lightweight, fast, powerful scripting language designed to be embedded into other applications, though it stands on it’s own as a scripting language quite well. It has a procedural syntax that is easy to learn, and uses associative arrays to enable the construction of complex data structues. While the language is not fundamentally object oriented, a clever system of extensible semantics provides the tools necessary to construct first class objects.
The runtime is written using only features available in ANSI C, so it’s possible to port Lua to virtually any hardware environment, from the desktop os of your choice all the way down to resource constrained microcontrollers.
All of that is fine, and any number of scripting languages will provide these features. However, Lua implements all of this in a runtime just a hair larger than 100K. This is the main reason I like Lua. It provides a powerful programming environment in a tiny, efficient runtime that is easy to cram into small machines, like the one I target with my software.
At my day job I write software used to monitor energy production from solar power systems. I chose Lua to implement many of the features in our system due to the small size of the interpreter. There was no other language any where near as powerful that could fit in as tiny a space. The result is that I spend less of my time debugging C, and more time getting my job done.
You can learn more about Lua and help support the development team by buying Programming in Lua.

[...] Read the original here: Hall of Awesome Inductee: The Lua Programming Language | Myrtle … [...]