Сегодня второй выпуск нашей рассылки. Продолжим тему, начатую в прошлом выпуске.
/pre>
У меня к вам небольшой вопрос. Какие разделы программирования вы хотели бы
изучить ? Динамическое распределение памяти ? Алгоритмы сортировки и поиска ?
Если вы выбрали любой из этих или подобных им разделов, то вам, возможно, свойственен
недостаток крайнее пристрастие к ТЕХНИКЕ программирования, но не к ПРИНЦИПАМ программирования.
Принципиальные вопросы обычно не пользуются популярностью у программистов, так как
эти вопросы кажутся им слишком неопределенными и общими, а наши программисты предпочитают
тратить время на обсуждение более практических и полезных вещей. Следует напомнить,
что в основном программисты считают своим предназначением изобретение новых умных
алгоритмов, а не выполнение полезной работы.
Какими качествами обладает хороший программист ?
Ответ на этот вопрос очень многогранен. Я думаю, вы сами можете дать определение
хорошему программисту Но не кажется ли вам, что ваш ответ содержит очень много ваших
личных качеств ?
Возможен другой подход к данному определению: рассматривать программиста с точки
зрения его продвижения по карьерной лестнице. В данном случае разве скажется ваша
способность придумывать новые алгоритмы ? Боюсь, что нет.
На основе исследований Саксмана, Эриксона и Гранта, можно утверждать, что опытность
программиста ни в коей мере не сказывается на разрабатываемую им программу. Возможно,
код программы не очень эффективен, но он создан за необходимый промежуток времени
и программа выполняет поставленную задачу. Стоит ли здесь вопрос о эффективности
самого алгоритма ? (авторы провели исследования среди опытных и начинающих программистов,
поручив им решить две задачи принципиально разных направлений логическую и математическую)
Почему данные исследования привели к столь неожиданным результатам ?
Теперь перед вами стоят множество вопросов, на которые я в меру своих сил и
способностей попытаюсь ответить. На этом завершим вводную часть рассылки и приступим
к изучению ПРИНЦИПОВ программирования.