There's a lot of different questions and concepts going on here.
Has the level of abstraction in computer systems reached a point where beginners can't just code something quick without a huge amount of back-story?
No. But that's not learning to be a programmer. Yes, you can point a beginner at any number of languages with a bit of a reference book or online dictionary and they can hack out something that works. But that is only the most rudimentary lesson in programming.
I find this to be the case now; scripting languages are good, but limited in what you can do...
Which sounds perfect for a beginner language. You start with basic concepts like flow control, variables, data structures, and other rudimentary things. If they "get it" and are excited by the potential for doing more, then they are on their way to being programmers. If not, they have been exposed some basic computer science concepts which will do them good in today's world.
Think of English or History or Art or Mathematics. Most people take classes in those subjects, but few are enthralled to the point of making a career out of any of them. An introductory programming course using Python may help someone hack together some tool later in life, but it does not make them a professional programmer.
and GUI creation requires students to be familiar with a lot of concepts (event handling, etc.) that aren't intuitive for beginners.
And is there something wrong with that? GUIs are advanced topics. They require understanding of advanced topics.
What would you show a beginner first â" JavaScript? Python? How do you get the instant gratification we oldies got when sitting down in front of the early-80s home computers?"
There are many languages available today that would work fine as introductory languages. And many students will check off the requirement box and move on. A few will "get the instant gratification" regardless of the language used and move on to more advanced learning.
You seem to have the implied assumption that if you can make the results of coding "exciting" - flashy graphics, sounds, 3D animations, explosions - then students will be more interested in coding. I doubt that is true. At the end of the day you still sit in front of a computer and push buttons over and over.
- Jasen.