Some Programming Languages, as Logo Language, Scheme Language, Pascal Language, Prolog Language, Smalltalk Language, Python Language, Oberon Language and Java Language, seem to be great to teach programming concepts (in the view of different schools of thought). Others, like Cee Plus Plus, are too convoluted, while a third group, lead by Basic Language, actually should never be used to teach because they allow or even encourage Bad Programming Practices (although modern versions of BASIC prove otherwise ;)
Most languages for teaching define a standard environment such that the teacher can forget about the operating system being used and focus on the Operating System defined by the language.
See original on c2.com