Hacker News new | past | comments | ask | show | jobs | submit login

Fair, though neovim uses LuaJIT which is maintaining Lua 5.1 compatibility indefinitely; with their own set of extensions[1].

Through the use of metatables you can improve the undeclared global situation[2], through I admit it's kludgy.

We use luacheck for static analysis, but I'll admit it's far from perfect. The language doesn't lend itself well to static analysis.

I think what lua mostly has is a really good embedding story. It's a tiny C library with broad compatibility and a permissive license; and with LuaJIT it's also very fast (though less portable). This means it's used everywhere and a lot of people are at least passingly familiar with it. Vimscript on the other hand is fairly alien.

[1] https://luajit.org/extensions.html

[2] https://github.com/CorsixTH/CorsixTH/blob/master/CorsixTH/Lu...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: