Среди множества книг по программированию встречаются такие, которые полностью меняют отношение к вопросу, открывают глаза и ведут к просветлению. Какие книги считаете наиболее полезными? Хотелось бы увидеть не просто ссылку и стандартное описание издательства, но и вашу собственную характеристику. В основном интересуют книги по программированию в целом, архитектуре и принципам, без привязки к определенной платформе или языку.
Книги по программированию, которые обязательно прочитать
Новые ответы
Мартин Фаулер
Рефакторинг. Улучшение существующего кода
Классическая книга Мартина Фаулера, основателя понятия «рефакторинг». По сути, в книге нет ничего революционного, много элементарных, очевидных вещей. Но весь этот материал очень полезен для понимания сущности рефакторинга и итерационного развития кода.
Еще очень хорошая книга Технология разработки программного обеспечения. Брауде Эрик Дж.. Основное достоинство книги - ВСЕСТОРОННЕЕ описание процесса создания ПО. После нее хорошо представляешь себе картину в целом, а не разрозненными кусками.
Роберт К. Мартин, Джеймс В. Ньюкирк, Роберт С. Косс
Быстрая разработка программ. Принципы, примеры, практика. Agile Software Development. Principles, Patterns and Practices
В книге описаны не только методики экстремального программирования, но и общие вопросы архитектуры ПО, принципы проектирования и пакетирования, часто используемые шаблоны (паттерны). Есть много практических примеров. Самое ценное в этой книге — это именно фундаментальные принципы, которыми нужно руководствоваться во время принятия решений по архитектуре и ОО-дизайну.
Безусловно Макконнелл Стив. Совершенный код одна из лучших книг по программированию.
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес
Приемы объектно-ориентированного проектирования. Паттерны проектирования
Знаменитые паттерны GoF. Книга, которая произвела революцию в отрасли. И это при том, что (по признанию авторов) в ней нет ничего нового — только систематизация знаний и типовых подходов проектирования. Кроме самих паттернов, книга открывает глаза на основы объектно-ориентированного дизайна, принципы проектирования.
Спорное утверждение. Из мануалов и MSDN можно почерпнуть практические знания, но не концептуальные. Знание API кучи библиотек не имеет ничего общего с Искусством Программирования.
Ага, а потом в коде откуда ни возьмись появляются классы с именами типа
MyClass
и переменныеMyClass a = new MyClass();
;)Либо "велосипеды" начинающих г*кодеров, начитавшихся раньше времени умных книжек