Какую книгу должен прочитать каждый программист?

Если бы вы могли вернуться в прошлое и посоветовать себе прочитать конкретную книгу в начале своей карьеры разработчика, какая это была бы книга?

Я ожидаю, что этот список будет разнообразным и будет охватывать широкий круг вопросов.

Для поиска: используйте поле поиска в правом верхнем углу. Для поиска ответов на текущий вопрос используйте inquestion:this . Например:

inquestion:this "Code Complete"

Ответов (25)

Рефакторинг

Паттерны архитектуры корпоративных приложений

У меня есть пара (довольно старых) сообщений в блоге на эту тему

SQL для умных

Управление гигабайтами - это мгновенная классика для размышлений о тяжелой работе с информацией.

C# для опытных программистов

или действительно что-нибудь от Dietel & Dietel. Я прочитал несколько их книг, и все было потрясающе.

Начиная с C# 3.0: введение в объектно-ориентированное программирование

Это книга для тех, кто хочет понять, почему и как ООП использует C# 3.0. Вы не хотите его пропустить.

Code Craft

Гибкая разработка программного обеспечения , Алистер Кокберн

В дополнение к предложениям других людей я бы порекомендовал либо приобрести копию SICP, либо прочитать ее в Интернете . Это одна из немногих книг, которые я прочитал, что, по моему мнению, значительно повысило мои навыки в разработке программного обеспечения, особенно в создании хороших слоев абстракции.

Книга, которая не имеет прямого отношения к программированию, но также может быть полезна программистам (IMO), называется Concrete Mathematics . Большинство, если не все темы в нем полезны для программистов, и он лучше объясняет вещи, чем любая другая математическая книга, которую я читал на сегодняшний день.

Не книга по программированию, но все же очень важная книга, которую должен прочитать каждый программист:

На орбите гигантского комка волос, Гордон Маккензи

Профессиональная разработка в Excel В этой книге показано, как создавать высококачественные приложения на одной из самых распространенных платформ программирования.

Интерпретация объектно-ориентированных языков программирования Иэн Крейг

Потому что он показал мне, насколько многообещающе было в OO, чем стандартные идиомы C++ / Java.

Мышление на Java (Паттерны), Брюс Экель

Когда я только начинал, Том Свон написал "Освоение Turbo Pascal". В этой книге нет ничего ужасно глубокого. Это было ясно и кратко, с полезными примерами. Основываясь на этих знаниях, я начал карьеру разработчика программного обеспечения вот уже более 15 лет.

Несколько лет назад книга Брюса Экеля «Мышление на C++» научила меня многому о C++, а также о важности выделения проблемы в небольшую «песочницу» для изучения / анализа. Этот метод сильно повлиял на мою карьеру и регулярно помогает мне устранять проблемы как для меня, так и для других.

Сейчас я имею в виду «Мышление на Java», написанное в том же стиле. Каким-то образом этот стиль выходит за рамки простых «примеров» и глубоко проникает в суть проблемы.

Я так благодарен, что куплю у Экеля практически все, чего не увидишь.

Для меня «Память как концепция программирования на C и C++» действительно открыла мне глаза на то, как действительно работает управление памятью. Если вы разработчик C или C++, я считаю, что это необходимо прочитать. Вы демонстративно узнаете что-то или вспомните то, что, возможно, забыли по пути.

http://www.amazon.com/Memory-Programming-Concept-C/dp/0521520436

Схема программирования Шаума на C++, написанная Джоном Р. Хаббардом.

Это была первая книга по программированию, которую я прочитал, когда начинал с C++. Его подарил мне кто-то, кто увидел мой интерес к программированию. Книга очень хороша для начинающих - от элементарных понятий до шаблонов и векторов. Приведенные примеры были весьма актуальными. Книга заставила задуматься, задать больше вопросов и попробовать разные вещи.

Программирование на SAP ABAP? «Изучите ABAP за 21 день» - лучшая книга!

В нем нет никаких хитростей или волшебства, но через 3 года я так и не нашел более всеобъемлющей книги.

Как решить это на компьютере http://g-ecx.images-amazon.com/images/G/01/ciu/31/89/d4ac024128a044c186a18010._AA207_.L.jpg - RGDromey

Вероятно, том 1 "C для чайников" 1997 года или около того. На самом деле, это просто введение, но это было хорошее чтение после того, как я почувствовал вкус программирования в GFA Basic на Atari ST. Примерно в то же время учебник Coronado C тоже помог.

Майкл Абраш: дзен языка ассемблера

Применение UML и шаблонов проектирования.

Это помогло мне понять шаблоны проектирования и послужило обоснованием для UML, которое имело для меня смысл в формулировке «UML как Sketch». А именно, что UML следует использовать как краткий набросок системы, который имеет дополнительное преимущество, заключающееся в том, что вам не нужно объяснять нотации другим (они либо уже знают UML, либо вы даете им книгу UML для чтения)

Книга «Алгоритмы» от Роберта Седжвика. Обязательно к прочтению разработчикам приложений.

Поставляется во многих вариантах (C, C++, Java).

http://www.cs.princeton.edu/~rs/

Объектно-ориентированное программирование в Turbo C++ . Не очень популярный, но именно с нее я начал, и это была первая книга, которая действительно помогла мне понять, что такое объект. Прочитал это еще в старшей школе. У меня как бы слеза наворачивается на глаза ...

Начиная с Visual C++

Когда я впервые начал программировать на языках ООП, я нашел эту книгу не только исчерпывающей книгой о C++ и MFC, но и одним из лучших объяснений объектно-ориентированных концепций, которые я когда-либо видел.

Когда я разговариваю с разработчиками, которые только начинают программировать на объектно-ориентированном языке, я говорю им прочитать эту книгу.