Some
ProgrammingLanguages, as
LogoLanguage,
SchemeLanguage,
PascalLanguage,
PrologLanguage,
SmalltalkLanguage,
PythonLanguage,
OberonLanguage and
JavaLanguage, seem to be great to teach programming concepts (in the view of different schools of thought). Others, like
CeePlusPlus, are too convoluted, while a third group, lead by
BasicLanguage, actually should never be used to teach because they allow or even encourage
BadProgrammingPractices (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
OperatingSystem defined by the language.
See also
FirstLanguageLearned,
LearningProgrammingLanguages