Тема стара как мир, но актуальна.
Когда я только-только пришел в ВУЗ на первый курс, нам один профессор объяснял разницу между кодером и программистом. Данную разницу прекрасно объяснили некоторые участники этой темы: да, программы состоят из стандартных конструкций, но если вы посадите 10 программистов решать одну и ту же задачу - вы получите 10 разных программ, а некоторые из них, возможно, будут отличаться в корне и структурно. Именно в этой разнице и заключено творчество. Для одной задачи существует бесконечное множество программ, которые ее решают. Умение выбирать "правильные" программы из этого множества - это творчество воистину.
Посадите 10 программистов и попросите написать кусочек системы, через несколько лет вы увидите, что код одних из них был уже до неузнаваемости переписан, код же других живет и по сей день, более того, из него вы смогли выделить несколько повторно используемых решений, которые стали "прорастать" в весь проект.
Элегантности кода по книге не научишься. Можно смотреть какие-то отдельные примеры, но если человек глухой - звуков он не услышит.
-- Чт ноя 29, 2012 22:31:34 -- В современной России ситуация печальная, не у нас придумывают новые языки, не у нас пишут новые компиляторы ... Но нет нет и встречаются "чудаки", которые и этим занимаются. Все языки программирования написаны? Очевидно, что это не так. Более того, сейчас мы наблюдаем серьезный кризис в этой области. Он мне напоминает ситуацию, которая была в математике до Виета - элементарные вещи писались на уродливом языке.
Во-первых, не все так плохо, как вы говорите. То, что mainstream языки придумывают не в России - это верно. Однако, не в mainstream сегменте мы как раз занимаем не самые плохие позиции. Например, вот достаточно интересная вещь
http://www.jetbrains.com/mps/Made in SPB, по видимому.
Во-вторых, я соглашусь с вами, что на некоторых отдельных ЯП реализация конкретных алгоритмов выглядит уродливо, в то время как сам алгоритм идейно тривиален. Но говорить о том, что мы имеем серьезный кризис я бы не стал. В чем он выражается? Как раз наоборот, за последние 4 года мы увидели несколько новых гибридных языков (как и версий старых), которые вышеописанные проблемы в отдельных случаях эффективно решают.