Why do you never hear these types of complaints when people say it takes 10000hr to master the piano? People never suggest taking shortcuts and people accept and respect the path of becoming a master. But when it concerns programming, everyone immediately jumps to "how can we make this as dumb as possible?"

If you want to play classical piano that's true. If you want to play piano in a band there are lots of tricks to make improvisation and harmonization easier. Every music store sells 'fake books', which document the lyrics and melody of popular songs with simplified harmony using basic chords so you can knock out songs in a bar or at an event that will be easily recognized by casual audience. If you use electronic keyboards they either have 'auto accompaniment' or sequencing features built-in so you can vamp in one key or just play chords and have an arpeggiator pump out a riff, which tools have given rise to new musical styles of their own.

Likewise bass players often use shapes to navigate the fretboard just as guitar players may use capos or slides to make chording easier. Lots of great musicians get by with little music theory or even literacy; Dave Brubeck was nearly thrown out of music school when they found out he couldn't read music and had just been copying his instructors or recordings by ear, and he had to sign an agreement that he would never teach music in order to graduate.

Theory is important, but it's not the whole story by any means. There are lots of excellent pianists who are not skilled at improvisation and have never composed anything.

Bringing it back to computing, this is Hacker News, not Engineer News or Computer Scientist News. Tinkering and bricolage are a key part of hacking, which is often about tactical problem solving rather than industrial reliability or pure craftsmanship. What I'm hearing from you is an emphasis on process rather than result, which is good for developing one kind of skill but closes the door to many other possibility. It reminds me of the derision for 'toy languages' like Python when they first appeared - and yet the latter is now the most widely used programming language of all, because it's accessible.

That doesn't make knowledge of C any less valuable (or aesthetically satisfying) but it does mean that people can get tasks done without necessarily needing a low level understanding of types, memory management and so on. I like pointers and the beautiful simplicity of the structures you can build with them, and I like the feeling of omniscience I get reversing something in a debugger and reading assembler. But I also like writing craptastic working prototypes of things in an hour and using them for weeks or months before rebuilding them into something reliable that I can leave running unattended.

I'm strongly in favor of programming tools that make things fun, accessible, and results-oriented rather than forcing everyone through a period of misery in order to gain elite status. Yes, this will increase the number of half-ass programmers and half-ass software projects, but also equip a much wider number of people with some useful skills that can be refined to find their own level, just the same as people with some DIY skills can be handy and are in a better position to learn advanced skills than people who have never worked with their hands at all.