lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


I'm mainly using Lua at work on embedded devices that are too small, resources-wise, to run a decent port of better known dynamic languages (that would be Python and Ruby). It means that I get the advantages of dynamic languages productivity, where most of my competitors think they have to bear with C or Java's largely inferior prototyping / development / maintenance times.

When compared to the big Perl / Python / Ruby, Lua arguably has:
- a marginally cleaner core language (although that's not something that would interest a "pure manager"),
- way fewer *mature* libraries (that's an issue if you have a problem which is addressed by a lib in another language; it's not necessarily the case if you develop something truly different)
- much easier interfacing to C / C++: this partially fixes the point above, and allows to add dynamicity where it matters, in a program which is otherwise very static for performance reasons (that's probably the main reason why game developers love it, they're among the most power hungry people today)
- with its "meta-mechanisms friendly" design, it lets you tune the language's semantics in depth. For instance, I'm working on a framework that requires a pretty special flavor of Object-Orientedness; after having written a meta-object protocol, it feels like it's natively supported by Lua.

So if you're working on a pretty original task for which there exists little library code to reuse, with strong performance needs w.r.t. the available hardware, and if significant parts of your system ought to stay in C or C++, then Lua is your best choice IMO.

-- Fabien.