Какой шкалой уровней ты пользуешься? Есть языки низкоуровневые, языки исполнителя (ассемблеры, байткоды вм и пр.), есть языки высокоуровневые, которые от реальной машины абстрагированы.
Что ты конкретно имеешь в виду, когда говоришь о более или менее высокоуровневых языках? Я могу сделать предположения, но лучше бы ты сам озвучил.
Ну как тебе сказать, чем ниже уровень абстракции применяется в языке - тем более низкоуровневый язык. Я это так понимаю. Допустим, чтоб полноценно писать на Java/C# - тебе не обязательно знать как там устроена память, что такое хип, что такое стек, не обязательно знать арифметику указателей, и т.д. А на том же С/С++ без этих знаний не получится писать программу.
С другой стороны, если ты возьмешь С++, чтоб на нем писать - тебе не нужно знать что такое регистр, каким образом переместить данные из одной ячейки памяти в другую, какие там прерывания у какой железки есть и т.д., при этом без этих знаний на ассмеблере не получится писать. Ну как то так. :-?
Т.е. ты предлагаешь начинать обучение со сложного? Может тогда и детей будем учить не яблоки складывать, а сразу матану? Я не понимаю твоего аргумента.
Почему со сложного? Паскаль он легкий, не сложнее, скажем так питона, при этом он дает те фундаментальные знания, которые не дает питон.