На РСДН в моей теме о технике программирования запостили один интересный ответ:
Цитата:
Сегодня спросили А. Степанова, что он думает по этому поводу. Вкратце (надеюсь он не обидится за моё вольное переложение) так: при обучении очень важна традиционность. В частности был камень в огород американских ВУЗов, где сменилось 4 или 5 базовых языка. В этом отношении в России, по его мнению, очень правильная программа: сначала Паскаль с алгоритмами (Вирт + Кнут), потом ассемблер, а затем С (+ классы). Дальше, чем больше используется стандартных компонент — тем лучше.
А ещё он говорил такое (мы как-то не очень согласились, и это, кажется, его расстроило) — важна принадлежность к сообществу, т.е. принятие (в том числе и на веру — вот тут мы спорили) прошлых достижений — разумеется, без фанатизма, так чтоб это не мешало развитию. (Например, он очень сожалел, что из-за стремления к поддержанию всех имеющихся фич в STL, я так понял, речь в основном шла о неявных кастах, не успели проработать концепты, и их не включат в новый стандарт)
А ещё, по его мнению, важно постоянно помнить о производительности кода — что не надо приносить эффективность в жертву обощению. И если есть эффективные частные реализации, не надо от них отказываться в пользу красивых обобщений. (Тут бы некоторый камень в огород функционального программирования)