I think it's a huge coincidence that this discussion came in the Lua list today. I have just finished writing a report called "LuaRocks Community Project" for my university with the plans of a project that I'll start working on the next following days. I almost feel like sharing it here. But I'm afraid that you will all disagree with me... I've been using it for a little over 2 years and some people on this list have for 10x that :)
Allow me to go on a rant anyway
I love Lua. It's easily the programming language I felt most comfortable with and I remember being super shocked when I found out it was made in Brazil. (Relevant because I'm also from Brazil and I feel happy to see technology coming out of there)
In my opinion this happens due to four reasons: community work, use in web development, availability of libraries and marketing strategy. I really want to see Lua make it in the general use case. I've been trying to tackle the first two for a while (http://lua.space
) and the third recently (with my uni project). I cannot change Lua's marketing strategy for the Lua team, though.
We keep talking about "will Lua come to general use or not" like it's bound to someone else to make it happen, or like we're waiting something "random" to happen like the way Lua exploded in game development. Looking in hindsight, of course it was the best technical choice. What we often forget in our history is that this maybe would have never happened if Bret from LucasArts, who had used it it in Grimm Fandango, haven't told a huge group of game developers about Lua in a conference in 1999. ---> The difference between LucasArts being a loner or a pioneer: Community work. Why do we, as a community, keep underestimating this so much?
It's very obvious that software development is a knowledge product that is hugely impacted by network effect: the more people use something, the better this something gets and the better for the current people using it. But sometimes I have the feeling that this is because some of us don't want it happen. I've observed discussions within Lua groups like we are all some kind of special snowflakes that use this programming language that's a rare bliss. And lots of people simply not caring at all about putting their libraries on LuaRocks. It saddens me. I suggest some self-critic and maybe changing this behavior.
We seem to believe that there is a contradiction between the "batteries not included" philosophy and general purpose use. Well, let me say one thing: this is wrong. So we don't need to be scared of inflating the standard library and ruining our special snowflake. This was discussed last month during the Lua devroom at FOSDEM (something I'm very happy to see happening). While Guile, for example, did inflate to achieve some new grounds, this is not what will happen with Lua. Firstly, because its strategy of remaining minimal is pretty clear and I don't think any of us would be crazy enough to suggest going on a different direction. Secondly because it's not necessary. You know what makes the best of two worlds possible? LuaRocks.
I'd like to bring up again two subjects that were already brought to this community by Pierre Chapuis:
"The standard library is where modules go to die", an effect observed at the python community.
Availability of open source libs is the most important factor overall for picking a programming language for a project.
(Leo A. Meyerovich (UC Berkeley), Ariel Rabkin (Princeton University). Empirical Analysis of Programming Language Adoption, OOPSLA 2013)