Freecad used to be way outclassed by Fusion, but seems to have made major strides in recent months to bring it closer to the state of the art (even if it's still not quite there)
https://github.com/BelfrySCAD/BOSL2/wiki/Tutorial-Rounding_t...
The problem isn't the scripting, I am a programmer, I am fine with it. The problem is that I had to do all the math myself, or worse, use hardcoded values when it should have been computed. That is, for example, if I want a hole in the middle of a square face, I want to be able to say "I want a hole in the middle", whatever the language is, without having to solve a math problem.
That's why I prefer constraint-based modeling, like what the likes of Fusion360 offer. Paradoxically, even if it is graphical, it feels more like programming to me than OpenSCAD. In Fusion360, the model is defined as a sequence of instructions (the timeline at the bottom), these are not lines of code, but it is a program. That sequence of instructions can be manipulated, and you can use variables. And it is easier to define things programmatically than with OpenSCAD, where you often have to put in values by hand, because the math is too complicated without an constraint engine like Fusion360 has.
Have you found that it becomes more natural?