On Friday, 14 January 2022 at 14:50:50 UTC, H. S. Teoh wrote:
IMO, 'autonomy' isn't the notion you're looking for. The word
I prefer to use is *empowerment*. A programming language
should be a toolbox filled with useful tools that you can use
to solve your problem. It should not be a straitjacket that
forces you to conform to what its creators decided is good for
you (e.g., Java), nor should it be a minefield full of powerful
but extremely dangerous explosives that you have to be very
careful not to touch in the wrong way (e.g., C++). It should
let YOU decide what's the best way to solve a problem -- and
give you the tools to help you on your way.
Yes, trying to reduce a concept into a word, can be tricky.
Even so, 'autonomy' is the right word I think:
'the capacity of an agent to act in accordance with an objective'.
I've found the D programming language 'empowers' me to be more
'autonomous' (or at least, to more 'easily' be autonomous. I
don't feel like D restricts me, before I even begin (like other
languages often do, or the learning curve associated with their
syntax does).
So I far less concerned about features, and more interested in
how a programming language empowers autonomy.