lua-users home
lua-l archive

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

On Jul 5, 2014, at 9:44 PM, Andrew Starks <> wrote:

What's the #1 excuse for not using a language like Lua: popularity.

It's a valid excuse, because using an unpopular language means more time and
expense training your engineers, or finding engineers comfortable in that
language, compounded by the the looonngggg maintenance curve. Plus, it makes
it more difficult to integrate or reuse modules and libraries. (Even if your
syntax change doesn't hinder using third-party modules, it does hinder your
ability to reuse your code elsewhere.)

Now, as niche of a language Lua is, any DSL based on Lua is infinitely more

That's a _huge_ cost.

Python can't hold a candle to the power and capability of PUC Lua, yet when
a corporation chooses a language like Lua over Python, it's a very serious
decision because there are immense costs involved, immediate and

The same considerations apply regarding a DSL, and as nice as some of these
enhancements to Lua are, are they really the same order of difference as
between Lua and Python? IMO they should be to justify the costs.

I think that many people pick Lua because their use case has no alternative. There is not another language implementation that can provide scripting or a dynamic language that will work as fast as Lua. If we liked Python or _javascript_, we couldn't have used it for our task.

Also, many companies use Lua to provide scripting (or what have you) to their users. They may also use Lua for application code, but that might be separate. Many use cases operate out of the assumption that their users don't know any programming, so why bother bending to a familiar language when your users are familiar with nothing?

Finally, some companies will futz with out of ego or out of a desire to make it special to them. Maybe they want lock-in or maybe there is a legitimate domain problem that is better served by a slightly different language than PUC Lua.

More than any other niche or dynamic language, Lua has opportunities that make it ripe for modifying.

Why we picked Lua for our work:

— Fast: Passed all our performance tests with flying colors
— Robust: We didn’t find a SINGLE bug when stress testing Lua 5.2 (example: we created 25,000 Lua states and ran them all for a month)
— Clean syntax: Yes, it’s not a language everyone knows, but if you can’t pick up Lua in a few days max you aren’t a developer.
— Compact: The footprint is important to us for low power and operation on a wide range of devices: embedded to server
— Stable: The release cycle seems sensible, with carefully thought out releases with significant improvements
— Rational C API: Ever looked at the Python one?