this post was submitted on 12 Nov 2025
182 points (99.5% liked)
Programmer Humor
27302 readers
2051 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I once got assigned a work project to add new functionality to the web service of a recently-acquired company.
The meat of their codebase was a single lua file to handle web requests, query value from Redis, and then progressively filter out items in a loop. Of course, because Lua has no
continuestatement, the file was a long series ofif / elseblocks. It was clear that the development style was to just keep adding new things to the loop. There were, of course, no tests.I asked the former CTO of the acquired company (now in a sales) why they went with Lua. His reply was something about how if Lua is good enough for fintech, it should be great for web services. He must have been good in the sales role, because when I learned how much our company paid to acquire this crappy Lua script, my jaw dropped.
Anyway, that's all to say that in my sample size of 1, Luarocks has been the least painful part of Lua.
I did my first game in BASIC with thousands of IF/ELSE when I was like 11, good to know that experience is directly transferable!
That’s a pretty crazy use of Lua if I may say so.
It is possible to craft
continue-like logic in lua, however, with (out of all things)gotostatements.For example, I have the following code in my dotfiles:
Of course the
continuecould be called anything. Really felt uncomfortable resorting to this way but it is possible :-)I mean, Lua is a pretty "interesting" choice for that application, but don't blame shitty coding practices and inexperienced coders on the language.
The gigantic loop could have been cleaned up with a table, registering handlers for the individual cases.
Lua is probably not the best choice for a web service, but it definitely has its applications.