Кстати, могу сказать, что в школах на информатике учат у всех по-разному.
В 7-8 классе лично у меня был бейсик, 9-11 классы мы учили винду и офис, а программирование (теперь уже на паскале) у нас значилось как "Спецкурс по программированию".
Как человек, которого учили программированию, могу сказать, что главное - научиться формализации алгоритмов, а язык - дело уже десятое. Кстати, Си (вместе с плюсами) я выучил самостоятельно еще в школе, пользуясь интернетом и попавшейся под руку литературой. Не могу хвастать, что я прямо божественно владею программированием, но то, что не "плаваю" - так это точно. Бейсик я уже довольно плотно забыл, начал подзабывать паскаль (к примеру, ставлю условие if в скобках, или же периодически возмущаюсь, что писать begin...end в 4 раза дольше, чем {}
)
Вообще, начальное знание Паскаля мне не помешало, хотя я уверен: начинай я с самого начала учить Си, я бы его преодолел, не на много больше напрягаясь, чем начиная с Паскаля. Просто некоторые конструкции Си отличаются большей гибкостью, чем конструкции Паскаля, я это понял и стал использовать в своих целях. Не обошлось, конечно, и без натыкания на всякие подводные камни типа
i = 5; i = i++ + i++;
ну, так я считаю, что в таких случаях надо просто меньше умничать, не стараться городить подобные трехэтажные конструкции, и все будет хорошо. Насчет работы с указателями и строками (где-то тут в соседних темах вопрос поднимался), могу сказать что да, поначалу было трудно это понять и осознать, что здесь все не так просто, как в паскале, но, опять же, поняв, что к чему, я начал использовать это в своих целях.
В общем, что я хотел сказать. Если у человека есть стремление к этому, то неважно, с какого языка ему начинать. Если он умеет составлять алгоритмы, то, владея средствами языка, он будет писать программы. Ну, а обучить его средствам языка, опять же - имхо работа чисто техническая.