С/С++ мне не кажутся удачным вариантом для обучения программированию. Отбрасывая в сторону "идейную часть", только на основе личного опыта преподавания (да, приходилось учить на С++) могу назвать недостатки, которые должны быть очевидны даже для ярых поклонников языка ... Про это говорил в обсуждении на форуме Педсовета (http://pedsovet.org/forum/index.php?sho ... 763&st=90#).
Процитирую:
> -- Цитата:
> Я, кстати говоря, прекрасно представляю, как преподавать базовый курс программирования на основе Си (для студентов-первокурсников).. И имею успешный опыт этого преподавания (как и богатый опыт профессионального писания на С++ в крупных проектах).Поэтому я знаю, что нормально научить этому на основе Си можно. При очень многих НО... Начиная от высокой квалификации педагога, который должен на собственной шкуре понимать, что такое хорошо, а что такое плохо в программировании (поскольку в язык не заложено вообще никаких посылок относительно этого, никаких ориентиров). Во-вторых, в процессе обучения приходится постоянно делать оговорки - об исключениях, о нюансах, опережающие ссылки ("вот это вы узнаете далее" и т.п.). Уйма ненужных деталей (очень часто рудиментов 70-х годов чистого Си), отвлекающих на себя внимание.Сплошь и рядом приходится затрагивать "неправильные" средства, и тут же объяснять, почему они "неправильные" (выражения с побочными эффектами, goto-break-continue, неявные преобразования типов и т.п.). А не рассказывать про эти средства нельзя - потом в шибко умной макулатуре прочитают и придут в полное расстройство мыслей - а) почему им этого не объяснили и нужно ли оно б) ведь всюду пишут, так почему б не использовать... Поэтому приходится упоминать все "контрпримеры" - "а ещё в языке можно вот так, но самом деле вот так никогда нельзя - потому что... А если будете, то линейкой по рукам вас за это бить надо..." ну и т.п.В результате накладные расходы на обучение и количество фоновой информации становится совершенно чрезмерным...[/Quote]