I probably should start a project in lua again, but I fear that will never find other contributors, because of the language choice. Very sad, lua doesn't deserve that.
I probably should start a project in lua again, but I fear that will never find other contributors, because of the language choice. Very sad, lua doesn't deserve that.
I really like the light weight small code base. That you can even do things functionally is a huge plus. If people would start using it as a scripting language for System Administration I think they would be pleasantly surprised but I guess BASH and Python/Ruby has stolen the mind share with Go seemly taking the place for a Lua in SysAdmin.
I suppose that as YC has matured, there's less chance of Reddit style "Let's build it in Common Lisp" naivete and language passion making it through the selection pipeline and more social pressure toward a sound engineering tool chain...there's more optimizing around getting into YC and that influences the conversation on HN. These days "...and we're building it in Lua" is more likely to hurt social standing than help outside the context of "a side project."
Such is the price of increased stakes I guess.
It became the dominant embedded scripting language.. and still is.
Lua as a primary language was never popular, because it is not designed for that.
Lua as a primary language only makes sense for game development. Because the two other mature languages in its category (Python and Ruby) are horrible for that [1].. but better for everything else [2]. Unsurprisingly Lua is widely used in casual/mobile game development (e.g. Corona [3])
[1] Lua is more memory efficient and cache friendly and more importantly has an incremental GC + it is easy to avoid allocations in Lua.
[2] Both languages ship with much more functionality built-in + tons of libraries for everything (true for Python in particular)
Torch, scientific computing for LuaJIT: http://torch.ch/
LuvIT, an event-loop driven Node-like: https://luvit.io/
Love, a 2-d game engine: https://love2d.org/
OpenResty: http://openresty.org/
eLua: http://www.eluaproject.net/
and on, and on, and on. There's never been a better time to use the language.
I wouldn't build a webapp in either of them, probably even today. The ecosystems for other languages are just too rich.
Somewhere, I created a lobsters.rs account when it was first announced and before it was selective. At that time it was mostly the same stories as on HN with less conversation. I came to the conclusion that anything which broke there would wind up on HN anyway...I like the fixed-point of aggregators role that HN plays.
In fairness to HN, I don't think it is so much the startup culture per se that is driving the drift away from Lua, it's the hotness of computing and the quest for standardization...Google's list of how to become a software engineer is at the top of the page.
What I see with YC is that added features become seen as techniques...$200k worth of cloud computing credit becomes cloud computing is the solution to non-technical problems...it's like C++'s multiple inheritance - a feature looking for problems. Once the decision has been made to solve the problem with cloud computing then language choice becomes less open to aesthetic decisions. Indeed the whole business model becomes less so. The original JustinTV was about strapping a webcam to a person, thinking about cloud computing would have been an utter distraction from the basic concept. Redit was running Common Lisp on a laptop. If the cloud had been in the mix there would have been pressure to focus on infrastructure early rather than the design of the user experience. Spiking the site with fake users is consistent with the faking it implied by laptop hosting. Move it to the cloud and it seems a bit more fraudulent and less hackey.
I think a general problem is the lack of a bigger standard library and access to libraries and APIs. Not needed as much if you use tcl/lua/scheme as an extension language, but pretty much essential for a stand-alone language. Note that even within the sector of new-fangled hyped languages (Rust, Go, Julia, Nim etc.), it might not be the one with the biggest library/package selection that wins -- or else we'd probably never stopped using Perl -- but it's pretty much required if you want to compete in the first place.
Are you not conflating ZBS with Lua? Because I think that ZBS wouldn't be possible/feasible if it weren't for the widespread and general use of Lua.
I write my apps in MOAI, when I need a GUI (Go when I don't). For my needs, SublimeText has ben enough - of course when DanielSWolf brought MOAI support to the ZBS codebase, I checked it out - and abandoned ZBS - going back to ST2.
The reason - while ZBS may be a great Lua IDE, with integrated debugging and other features - its just not that great an editor - at least, it doesn't have the ethos of being a "programmers editor" which SublimeText does. SublimeText has its thorns and warts of course too, but it is a smooth and fast editor when you get to know it.
I've been able to get a lot of work done with MOAI and SublimeText, but it may work because I don't have high expectations/demands - source-level debugging, while nice, is not really necessary for my way of doing things. SublimeText, being a superlative editor, gives me most of what I need - for everything else, there is "$ cscope -R -s $MOAI_SDK_DIR" ...
Basically I read you like text editors and you don't like or need an IDE.
I like IDE for certain languages (R) or I like Juypter (IPython) for interactive interpretations and I like text editors (VIM) for most other languages.
In short, long live the next editor! :)
Also, I think you'd be surprised at the contributors that come out of the woodwork when you start up a good project, regardless of the language.
I think Nodejs gave JS a big popularity boost.
There are at least half a dozen somewhat related projects: nginx_lua, tir2, luajit.io, luanode, tarantool, lusty, plus a bunch of libuv bindings.
And yeah, a single lua 'killer app' could do a lot for the language's popularity (elua comes close, but is a bit niche).