Non-Language Lua Gaps

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Non-Language Lua Gaps

Andrew Starks-2
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?"

[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 license
  - 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.
Reply | Threaded
Open this post in threaded view
|

Re: Non-Language Lua Gaps

Lorenzo Donati-3
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
> license
>   - 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.

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.


Cheers!

-- Lorenzo







Reply | Threaded
Open this post in threaded view
|

Re: Non-Language Lua Gaps

Andrew Starks-2


- Andrew Starks

> On Jan 29, 2020, at 09:36, Lorenzo Donati <[hidden email]> wrote:
>
> 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.

It can be, but i don’t expect it to catch on as one. I expect it to catch on by solving some set of problems better than anyone else. In my experience, Lua is the best at interacting with time constrained systems, like games, media, robotics and real-time data processing.

If I could have one suggestion wrt strategy, it would be to find niches in those sorts of markets.

From their, it’s popularity will rise as people discover that the benefits of simplicity and efficiency extend into the language, making it tool that is enjoyable to use.