Isn't OpenSCAD's limited (non-Turing complete) language a feature?
Lua is easier to use, faster, and more feature-rich. It's one of those rare occasions when a new solution is actually better in every single way.
But my point is that OpenSCAD's expression purity and one-way compilation model are purposefully limited, and not historical accident: models are a deterministic function of their parameters, subtrees can be cached and reused during preview without invalidation logic, designs diff and merge as text, etc.
Sometimes making things "more programmable" is an anti-feature.
The most notable aspect of this (and one which I've complained in the past) is the inability to write out file, which has security implications.