you should be old enough to have seen a number of "magic" new languages, tools and coding techniques only to have them all fall flat on their faces.
Of course I've seen plenty of failures and stupid ideas! I don't see that (or your cherry-picked list) as important, though. In any human endeavor if you're around long enough, you'll see that happening. I'm sure in 4999 BC some numbnuts or con-artist had a really stupid idea about how to make farming work better. I don't care about him. Lots of people try things, and there are plenty of crackpots and real-but-nevertheless-mistaken geniuses. It doesn't mean things aren't getting better, though. I've also seen successes.
How about "higher level" languages with memory-safety and/or garbage collection? There was a time when these things were new kids on the block, too, and even looked down upon. I can get some things finished far sooner in Python than in C, because I'm not having to think about some details far below the abstraction of my problem. Had I dismissed Python out-of-hand because it didn't have pointers, I'd be worse off today.
How about tools like git? (You wouldn't believe the amount of my time as a human I sometimes spent in the 1980s merging someone's changes into a "main" version.)
You don't think these things are letting people get more stuff done, in less time? We don't call them magic, we call them technological progress.
One of the things that many programmers know would help them, even if they disagree on all the details, would be to communicate with the compiler just a little better, so that certain theoretically-automate-able things can get actually automated (e.g. generate warnings to catch certain types of bugs sooner, "automagically" parallelize some types of loops, etc). It's just a matter of time and creativity, until someone really gets this done well (e.g. so procedural programmers don't have to think like functional ones).
I don't think we have reached the full practical potential for programming languages. I'm not saying Rust is the next thing, but there will be a next thing. If we're all joking about Rust and Go and Swift in 20 years (like how we joke about Ruby now), fine! But it's reasonably likely that something will have happened in that period, making a 2036 programmer more productive than a 2016 one. It'll happen because programmers have real, and increasingly well-understood, meta-problem that repeat themselves over and over again. People are aware of it and trying all kinds of things to address them.