I don't believe educators are prepared to install a love of programming in anyone under University level, which is unfortunate because computers are even more magical in youth. But knowing that a "best" first language won't be used, here are my favorites:
Scratch is easy and it's not a mere toy, but it feels like one and I can't imagine doing something useful with it, though it's capable. For absolute beginners of any age, you still can't beat Logo as a true beginners' intro to coding.
TurtleArt (Logo) is revolutionary (though not more than scratch is) in that it's visual but still blatantly code-oriented. PythonTurtle is a real Python IDE plus Python-like logo, relatively lightweight and not to be missed.
Pygame's need for "small" amounts of boilerplate to do simple graphics is unfortunate, which is one thing that makes PythonTurtle shine, but Pygame is still ideal for teaching. Sugar Labs uses Python and Pygame as the basis for its teaching environment, shell, source and applications. If you are considering programming classes for youth, and have not tried Sugar, you are missing your best possible inspiration. That's not to say you should use Sugar, only that you shouldn't be unfamiliar with it. It's not to say you have to use Python, but you should have a good list of reasons not to before you abandon the idea.
"Bloat" is a reason. Bash is not so unfriendly, but it looks like is, and if you won't be using Bash on a regular basis, you can do better for a first language. If you want to revive a flexible Ancient, forget COBOL, try tcl instead. It's easier to write gui apps in so-called "HTML5" or tcl/tk than any other language, although Bash (like DOS batch,) can always be made friendlier with the right set of utilities. Just for completeness, tcl/tk (especially the latter) is probably not what you recall. It's not as ugly as a pack of hyena's backsides, for example. But to each their own, and anyone that says otherwise is a hyena's backside.
Remember RPi is a DIY-friendly project, so any curriculum that doesn't encourage DIY (and DIYW) is missing something. Programming shouldn't even have courses, IMO, it should only have labs. Less like math courses and more like home economics. "Here's a goal, here are some ways to get there, go to it." Any course where that kind of environment isn't possible, has chosen tasks and languages too complex for an introduction.
One way to judge a really great programming intro is that even the other teachers can grasp it. Too many courses rely on the students to be more capable of learning than the teachers; you can choose "first" languages accordingly. Sit a handful of average instructors down and see which language they do the best with at first blush. (I don't like Ruby as much as Python but of course it's very good as well.)