jcole MIT 2014
Current interests include:

AI, literature, political sci., quantum computation, surfing, tai chi, databases of human intentions, gestalts

Anyway, regarding educational programming languages:
I started by using the Lego mind storms programming environment -- I wasn't so into programming at that point I think because I hadn't made the jump of abstraction from building Lego's in reality to building even more powerful machines digitally. Then it went on to learn a little bit of Visual Basic, but that didn't really get me anywhere. Then I learned this game design platform called stage cast creator (which is really awesome http://www.stagecast.com/), which visually teaches you how to make simulations of object in a world, almost like a multithreaded Java application.
I learned a program called multimedia fusion, which allows me to do game design on a higher level. All the while, I worked with the star craft campaign editor and continued to build robots, which taught me the thinking behind programming problem solving. When I finally got to actual coding (in 7th grade, when I started with JavaScript in earnest, after taking a web design class and hanging out with friends who are into it), it is very easy to apply the same techniques of debugging etc. that I had developed in these other areas. This rapidly took off of the curiosity to learn Java etc. I saw the NetBeans IDE icon on my desktop as another, infinitely mysterious game to explore when I woke up early in the mornings. It turned out to be the best game of all!
I think that these sorts of language that you proposed a little bit too abstract for most beginning programmers, -- if you're going to learn how to program, you should learn how to do it in some context that is the even more visual, or directly pertinent problems at hand (for instance, writing programs to your math homework etc., which, incidentally, is I think in some ways the best approach to learning the actual material).
The most important bit is that people have to be having fun doing this -- people have fun building Lego's all day, because no one's forcing them to do it's so they can learn at their own pace. the important thing to realize is that this is often much faster than the curriculum that is traditionally taught, because when you are excited about something, your learning capacity is exponential, not linear. Retrospectively, this is why I think my AP computer science class was in part so awesome -- we started by learning how to program robots for Robo code, and we ended the year by having a Lego mind storms Robo sumo competition. Moreover, throughout the year, we had to do projects that were pretty cool -- for instance writing artificial intelligence for connect four
How did you learn how to program? I think that the most important thing that I did high school was to retrace the steps of my own learning to show other people how much fun coding could be.

See also: edugaming scratch notes: