A personal opinion: Lua comes close to having a predictable control flow, as more program structure stuff is built in to the language. One of the headaches I had with Tcl was maintaining heaps of scripts that implemented structural features (OO, object references, list comprehensions, to name a few that come to mind) in different ways _because you can_. Doing things the elegant way can sometimes be the enemy of doing things the predictable way.
This is strictly a limitation of languages like Lua, but in day-to-day use it sometimes becomes an advantage.
This is strictly a limitation of languages like Lua, but in day-to-day use it sometimes becomes an advantage.