Какие книги почитать для развития навыков программирования?
Дорогие друзья.
Хочу обратиться к Вам с просьбой. Подскажите, пожалуйста, какие книги почитать для улучшения навыка программирования. Не по конкретным языкам, а именно для навыка - например, для улучшения качества когда, по проектированию всего проекта в целом и так далее.
Заранее благодарю.
Это действительно так. Для развития НАВЫКОВ программирования нужно именно ПРОГРАММИРОВАТЬ, а не читать книги (навык синоним опыта). Книги тоже полезны, но это теория.
Я бы порекомендовал почитать следующее:
1. Б.Мейер, Почувствуй класс
2. Стив Макконнелл, Совершенный код
3. Мартин, Чистый код
4. Кент Бек, Разработка через тестирование
5. Фаулер М. Рефакторинг. Улучшение существующего кода
6. Шаблоны тестирования xUnit. Рефакторинг кода тестов
"Читаемый код или программирование как искусство" - идеальная книга для новичков, описываются базовые навыки рефакторинга, полезные практики. Читается легко на любом уровне подготовки. В примерах кода бОльшей частью используется JS.
Getting Real - описан процесс разработки проекта, как он должен происходить.
Ну и еще можно почитать "Кодеры за работой" - серия интервью с профессиональными разработчиками, имена многих у всех на слуху
Алгоритмы (то есть их изучение и эм... вбивание в голову) имеют исчезающее малое влияние на "навыки программирования". Цитируя Страуструпа - "в cfront нет алгоритмов, сложнее бинарного поиска". Достаточно давно, лет так 15, программирование - это композиция, а не поиски алгоритма. Ну, в массе своей.
Don Kaban: не соглашусь. Просто надо воспринимать не как справочник - выучил и используй именно так, а следить за мыслью автора. Кнута, если честно не осилил, очень уж сложно для меня начиная с середины первого тома, знаний в математике не хватает, но даже первые несколько разделов меня заставляли подскакивать и в восторге смотреть на решение автора, хотя за плечами был значительный опыт программирования. Очень сильно помогает развивать аналитические навыки. SICP - аналогично. Вряд ли Вам пригодятся навыки лиспа, но мысли, которые там излагаются очень ценные.
Эм. Пару ценных мыслей из SICP не могли бы продемонстрировать?
Вот сейчас следите за мыслью - вы пишете, у вас значительный опыт программирования, при этом кусок первого тома Кнута заставлял вас испытывать оргазм. Итак, объясните, как так получилось, что что-то из Кнута для действующего программиста оказалось новостью, и не значит ли это, что вы как-то обходились до этого без этой информации? Если мы говорим о "почитать для оргазма" - то есть масса интересного помимо Кнута. Если же "по делу" - то я выше уже цитировал - программирование последние 15 лет - это про семантику, а не алгоритмы.
Прежде чем писать программы на популярных языках программирования (С++, delphi, java и т. д.), а также на web-скриптах (html, css, xml, php и т. д.), нужно начинать с самых простых и примитивных языков (BASIC, ALGOL, pascal, кумир и т. д.)
Лично мне очень помогла книга Паттерны проектирования из серии Head First. Сама эта серия довольно спорная, кроме данной книги. Очень доступно написано, все понятно даже для новичков. Это не просто описание существующих паттернов, а именно учебник по принципам ООП. К сожалению описаны не все паттерны, и после нее уже можно почитать классиков - книга от GoF.