This article helped me understand something I've been grappling with for a while.
I've been looking for the optimal game development environment for a while.
That basically boils down to having batteries included. (I have the opposite of Jonathan Blow's situation, I need to be able to get up and running in a few hours for game jams.)
But there seems to be this tension between convenience and control. Either APIs are low level or they are high level.
(A notable exception is the canvas API, which leaves both groups dissatisfied :)
The article basically made me realize, those are basically two separate groups of people. There's people who want total understanding and total control. And there's people who want to Do Thing With Computer.
I am not sure if it's possible to design one system they would both be happy with.
But that made me realize, I had the same idea about GUIs 20 years ago.
On Mac you usually don't get many options. On Windows you usually get too many options.
A rare few applications let you switch between two modes. "Just Do Thing" and "airplane cockpit". There's usually a gear icon or something like that which shows you all the extra options.
I wonder what that might look like for an API.