I recommend Ruby. If my goal is to teach “programming,” then I want a language that has a clear syntax, has very few surprises and allows the student to focus on the “Tao of Programming” and not the “WTF of function-level scope?” A friendly syntax allows students opportunity to work at understanding “programming” before understanding the multiform and delightful ways that different styles of “coding” can provide more or less expressive, concise, or clever ways of achieving crafting the same “programming” unit.
Steven is one of the most interesting programmers I know. He simultaneously treats it as pure art, deep science, and true philosophy.
And I agree with him on his points here.
Ruby gets syntax out of the way so you can learn how to think. That’s why it’s the best beginner programing language.