Before I explain my answer, the reader must understand that I'm a pretty satisfied Python programmer now who wouldn't go back. But in terms of actually bringing happiness to me in one brilliant burst of energy, there's only one language in my history that achieved this:
Perl.
Oh sure I detest Perl, now. It provides you with too many ways to make code that fails to express the problem clearly to another programmer, and I'm long past believing that code can survive having only a single mind contemplate it. But it came at a perfect moment for me.
I had spent my childhood dreaming of science fiction futures and tinkering with electronics and computers and always feeling like I was missing some last little a-ha that could make it click and put all the facts in my head together toward acts of creation. I hung out on BBSes with cocky BBS software authors and hackers and really wanted to be part of that crowd. I figured I would take a course at some point and they'd lead me by the nose and by some sort of socratic process I'd suddenly snap and be just like these folks.
So at this point C was being poo-poo'd in favor of C++, and C++ was rapidly on the rise as the premier industry OOP language par excellence. So I tried to learn it. I enrolled in a CS program that taught C++, and made some small progress, but not enough to work on the projects I found interesting. I raced ahead in the assignments and read ahead in the book and found myself in an inevitable slide down the terrible valley Louis Brandy once wrote about:
Further, no one had ever explained to me the true role of libraries in programming. I saw an entire empty field ahead of me, thinking I'd have to write my own pixel display routines and modem drivers and input handlers in C++ just to get to a point where I could BEGIN to express the problems I was trying to solve. All the textbooks bragged about how I could do my bone-stupid corporate spreadsheet applications in C++ and have them run on PCs and "mainframes" alike, and not one said "chillax bro, there's a bunch of libraries for the low-level stuff."
I entered into a serious depression, partly because this utterly absurd and inconsistent language just felt like something I'd never truly understand, and partly because working in it made me feel like I actually didn't have it in me to stomach coding.
At my university there was an install disk that wiped a PC and flattened it with a new OS image off of an NFS share or some such. I asked the author how he wrote it and he explained it wasn't hard bit-banging work but just making use of Unix's features, mostly emulated by the Perl 4 interpreter he'd included on the DOS boot disk. I looked into it.
Going from C++ to Perl was the single greatest ramp-up in ability I've ever had. Suddenly I was writing system scripts, games, Internet-connected BBSes, library database programs, and all sorts of things just to solve any problem I encountered. The two Perl books at the time, camel and llama, had great prose, great examples, and a catalogue of library functions that reassured any fears I had of having to re-invent the wheel. Even today I feel like those books do better than most for teaching new programmers.
Dynamic typing was one thing, rich core libraries yet another, but the goofy second-guessing nature of Perl syntax kept the house lights low long enough that I never felt incapable or insecure. It wasn't too long before I felt cocky and disdainful of C++. It just didn't feel expressive enough to me.
I think I must have stuck with Perl for five years before slowly jumping ship. On the bottom I was getting better at bourne shell and awk, and on the top I was getting better at Python. I was also finding my brain able to accept more novel systems like Lisp and Forth and Prolog.
I'll never use Perl again if I can help it, but I have it to thank for getting me out of a real crisis in my youth. That nutty Jackson Pollock painting of a language is responsible for all the programming happiness I've had since!
My experience is almost identical to yours. Taught myself BASIC from library books as a kid, then C++ as a teenager. When I started using Linux and discovered Perl, it was an amazing spike in productivity. I eventually switched to Python (and then a bunch of other languages), but Perl got me out of a C++ rut.
Nowadays I'd rather use C than C++ (typically with Lua), and have learned quite a bit from Lisp, Prolog, Forth, ML, etc. as well, but the sheer immediacy of Perl and vi was a revelation to a kid used to Borland Turbo C++ and its IDE.
Another, um, "vote" for Perl. Although I haven't come to detest it.
And I agree, a lot of starting coders want to get something done. While quite a few programming courses seem to start from the other side of things, without even really explaining that they are doing so. The student sees the tasks they have in mind being months and months away and encompassing a quantity of detail that seems frighteningly overwhelming. By contrast, actually accomplishing useful things, and digging into the details as you need to, seems more motivating.
(However, it helps to concurrently receive and absorb a strong caution that you don't understand all the "magic" and should be careful of over-relying on what may turn out to be mistaken assumptions. Which reminds me, Perl seemed to imply, for me, developer testing: Don't just code it up, throw test cases -- and, if you can, live data -- against it and see what you get. Work some of the data through an alternate tool/methodology, and ensure that the results match. Continue to cross check as you move forward.)
"Programming Perl" was/is a great read. One of those books interesting not just in reciting, but in genuinely communicating with the reader.
I agree with you that to me "rock star" always connoted "bratty prima donna" to me.
I would point out that the weird contractual demands are often canaries meant to uncover a venue that has not read the contract closely enough to guarantee the safety of all performers and the audience. The famous example, of course, is Van Halen and the brown M&Ms:
This kind of surprises me. I love Khan's lecturing style, and he makes good use of a paint program to stand in for not having an overhead transparency to scribble on.
But as to his teaching style, the videos I've seen have caused me to react less like Patrick Mylund and more like this MetaFilter poster:
Perhaps there's an ordered curriculum you're meant to go through, but every time I've sampled Khan's videos at random they've been structured as "if these are the exercises you need to do right now, now you can see me solve one."
Sure he does a good job of narrating his steps, explaining details and side-effects, and making illustrative mistakes. I just feel like he's all about the how and never about the why.