Great insight! I do sometimes missing having a single, straightforward environment for learning to program, especially when I’m introducing programming to my daughters. Patching together a JavaScript environment is a bit more work, you don’t get the same level of hand-holding with debugging and error-checking, and the syntax for manipulating the DOM is clunky way to get started.
That said, I can appreciate all the painful things we’ve left behind. I remember the disappointment of needing to rework a VB program because it used some sort of ActiveX component that couldn’t be reliably distributed to other computers. Setup with VB and COM could be a nightmare! Before that, I remember the do-it-all-yourself demands of a single-threaded environment. One early task I tried to accomplish in QuickBASIC was playing music in the background (using the humble internal speaker). It was up to the programmer to build a loop that periodically stuffed a few more notes into a very small buffer while trying to handle the rest of the application’s logic in bite-sized chunks. And I haven’t even started talking about the joys of pointers and memory leaks!
So while there’s no way I’d trade today’s programming world for yesterday’s coding environments, it is fun to look back at your first loves.