State of the
Lua-the-language is successful...
- extension language
... but the community
Lua grows in popularity, slowly and steadily...
all on the power of a couple of good books,
a mailing list and a simple design.
No one starts projects in Smalltalk anymore. And this is not because Smalltalk isn't wonderful to work with - it is.
But... try just posting a question about Smalltalk to Stack Overflow and see how long it takes just to get answered. Try hiring a senior Smalltalk developer - good luck.
[One of them] told me that he comes to a couple of Ruby conferences every year, and I said "why don't you go to Smalltalk conferences?" and he said "because there aren't any."
Five years ago, I always assumed
the Python library contained
the “best of breed” for all packages.
These days, I tend to think the opposite.
The standard library
is where modules
go to die.
- quantity: There is no module to solve my problem.
- quality: New dependency, new bugs :( Where is the maintainer?
- ease of use: How do I install this without breaking my system?
- consistency: Why does my application depend on 25 object libraries?
- discoverability: I cannot find what module solves that problem.
There is no module
to solve my problem.
new bugs :(
The root of all Evil
- Avoid globals in modules.
- local foo = require "foo"
- Use pl.strict in your test suite (please).
- You have tests, don't you?!
Where is the maintainer?
Ease of use
How do I install this
People still do not
use LuaRocks enough
Pester maintainers, it works!
my application depend
on 25 object libraries?
instead of reinventing
At least share an API
- probably others
I have no answer to that.
I cannot find
solves that problem.
Finding a module
- Lua Wiki
- Mailing List
- Stack Overflow
Finding the best module
Let's open discussions.
Programmatic releases for LuaRocks
for "Core" libraries
- LuaSec / LuaCrypto
Yes, I know that Lua module naming in the wild is a total train
wreck. This is one of the biggest failures of the Lua ecosystem.
Language ecosystems with user-contributed modules demand curation.
Or at least some officially sanctioned conventions. Remember that
next time you create your own language.
Anything that attempts to retain the illusion that a flat namespace
is somehow a workable solution is NOT helpful.
Thanks for listening.