Like the author, I learned to program in the 70s. I read the guide that came with the Apple 2 and just went from there. It was easy.
But its important to understand that the scope of learning was narrow. The environment I was programming into was primitive. I cut my teeth on simple programs and games because there was a very very low bar.
Through my career the environment has grown increasingly complex. Windows. Internet. Mobile. APIs.
Today programming is still easy to learn. But the scope of a "simple program" is massively larger. There's a LOT more to learn overall, and a lot more to do to get that first program going.
I get the nostalgia of going back to old friends like BASIC. But it's not the language that makes programming hard to learn, it's the environment.
I get your point and would reformulate as: over time a beginner's environment is mostly the top layer of the tech stack and leaving that state of beginner is a lot more challenging.
In the 80s I was dabbling in Basic on Amstrad CPC computers and things were reasonably simple indeed. When needed I could revert to z80 assembly language and peek and poke my way around. And that's it, there weren't many layers between you and the hardware.
In the 90s however Windows made things a lot more opaque, though it did not prevent VisualBasic success. Instead of hardware generated interrupts you had events, mostly related to GUI, for which you needed to code some scripts. No more poking around in memory, it's all abstracted away from you. Enthusiasm for this way of working motivated the creation of a (non-compatible) VB equivalent on Linux [1] which includes an IDE with drag and drop GUI building, and that's been used to create an ERP for small businesses in France [2].
So yes the programming environment has now a lot more layers, however it just means that only the last layers are needed to get your way
around. This reduced cognitive load makes things easier and increased the reach. The trade-off is that most programmers have little understanding of the lower levels: compiler optimisation, memory and processor allocation, etc. And since abstractions are inevitably leaking...
But its important to understand that the scope of learning was narrow. The environment I was programming into was primitive. I cut my teeth on simple programs and games because there was a very very low bar.
Through my career the environment has grown increasingly complex. Windows. Internet. Mobile. APIs.
Today programming is still easy to learn. But the scope of a "simple program" is massively larger. There's a LOT more to learn overall, and a lot more to do to get that first program going.
I get the nostalgia of going back to old friends like BASIC. But it's not the language that makes programming hard to learn, it's the environment.