lua-users home
lua-l archive

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

On 26/01/2020 20:06, Andrew Starks wrote:
I've thrown off my disdain for the repetitive nature of this debate. I now
accept that we will keep talking about "Lua with Batteries" until we
eventually graduate to something like, "Why do Lua's batteries suck so bad?"

Lovely expressed! It's been my feeling for quite a long time.

I rolled my own solutions so many times because almost always I found the following inequality sadly true:

time to develop my solution +
time to debug later bugs +
time to learn how to adapt it to new problem +
time to cope with occasional crappiness of an half baked solution with spotty docs

<< (i.e. "much less than")

time to find a good library +
time to learn how to use it effectively +
time to contact its author when finding a bug and get it fixed (if possible) + time to expand it when the author was not interested/available to adapt it to my needs or to fix bugs (i.e. abandonware issues) +

[Lua's authors can speak for themselves, but I believe the following
statements WRT Lua author's opinions are common knowledge within this
mailing list. Where I've misrepresented something, I accept responsibility
and welcome corrections.]

1. Author's Interest in setting/maintaining batteries

Maintaining an ecosystem/set of batteries is not a goal of Lua's authors.
They are not against it, but they do not want it to be their job to be
directly involved in it. They also want it to be clear that something like
this is not Lua, but an optional/independent layer on top of Lua.

Someone / some organization is going to need to lead this, in mild
coordination with team Lua, only to make sure the boundaries are set.

2. Author's Interest in Marketing / Evangelizing

Having the right set of libraries is not enough, as we all know. Lua must
be in people's faces, as Lua (not as WoW or Roblox's scripting language).
Team Lua has published excellent papers in the ACM[1], but this kind of
activity is not the same thing as what is needed here.

To me, Evangelizing/Marketing efficiently means:

* Identify the key attributes that make Lua uniquely attractive.
  - Embeddable design: threading profile, low/no dependancies, integrates
well with any concurrency model, configurable garbage collection, MIT
  - Small size
  - Language sophistication and simplicity: concurrency becomes easy,
complex data structures are simpler, it's very easy to create abstractions
in the language, etc...
  - ...
* Identifying the best targets for adoption, which includes anything that
must scale, is time-constrained, or requires a very small footprint:
  - IoT
  - Media/Broadcast/ProAV
  - Gaming
  - Robotics
  - ...
* Creating more chances for that target audience to become aware of Lua and
its unique capabilities
  - What tradeshows do these manufacturers and developers go to? Can we
arrange speaking engagements?
  - Who are the decision-makers within these organizations?
* Governance
  - Electing decision-makers
  - Hosting regular meetings
  - Setting priorities
  - Raising money to support marketing activities and development.
  - Holding people accountable
  - Running a Lua Conference
  - Doing all the dumb things you have to do in order to get real work done
with people that different motivations, opinions, etc

I think that this Governance is an important part of this.


Otherwise, we're
going to need to wait until a sufficiently charismatic developer finds the
passion and time to do it on their own and convinces enough of the right
people to go along with them. Chances are good that whoever that person is,
they'll have their own opinions about how Lua should be viewed and what
it's good for. It may have nothing to do with what any of us thinks or it
may be someone here who gets it just right.

As much as we may dislike institutions, governance, asking for money and
putting up with bull-crap, it may be an essential part of organizing
people's efforts. It also beats repeating the same threads about the lack
of batteries or waiting for a savior to come.

I agree almost completely with what you say in this post.

You expressed quite well what I tried to convey in past years when I brought up the subject (maybe in not always such a coherent way).

Just one thing about "Identifying the best targets for adoption":
I think it must be clarified if Lua is still intended to be a general purpose programming language for desktop systems.


-- Lorenzo