Languages that don't provide the flexibility to easily build enough layers of indirection to screw you are generally limited in ways that require heap tons of boilerplate garbage code that screw you more subtly.
The best languages are those that are both powerful as well as finely tuned to lead users to the "pit of success" (i.e. the most natural use of the language tends to be the best and most useful). Some languages are powerful and difficult to use well (assembly), others work well in a narrow niche but are otherwise limited (VB6), while the cream are both powerful and highly usable (Python probably being the best example, modern C# perhaps as well), you can cut your fingers off quite easily if you try but the language semantics and conventions make it obvious that you will cut your fingers off.