Топ-5 книг, которые должен прочесть каждый программист

1) Совершенный код (Автор: С. Макконнелл)

Тот самый Стив Макконнелл, которому приписывают фразу: "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."

Первое издание этой книги вышло в 1993 году, второе — в 2004. Первый русский перевод — в 2005 году.

«Энциклопедия хороших практик программирования. Совершенный код фокусируется на личном искусстве, мастерстве — тех вещах, которые мы интуитивно называем writing clean code. Это та книга, которая может 50 страниц описывать правильное форматирование кода и количество пробелов». Джо Спольски.

2) Программист-прагматик. Путь от подмастерья к мастеру (Авторы: Э. Хант, Д. Томас)

Первое англоязычное издание этой книги вышло в 1999 году. Первое русское издание — в 2004 году в серии «Библиотека программиста».«Это великая книга для программистов, которые где-то как-то научились программировать, может быть, в институте, но не совсем уверены что и как делать. Это как разница между наброском и готовым произведением. То, что вы изучали в университете — это наброски, эскизы, и вы вроде бы можете рисовать красиво, но если всё ещё чувствуете, что не вполне знаете с чего начать, если кто-то предложил вам написать программу для обмена музыкой через P2P-сети, то эта книга для вас». Джо Спольски.

3) Структура и Интерпретация Компьютерных Программ (Авторы: Харольд Абельсон, Джеральд Джей Сассман)

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

Структура и интерпретация компьютерных программ преподавалась в Массачусетском технологическом институте, и этот курс имел влияние на весь мир по учебным программам компьютерных наук в течение последних двух десятилетий. На stackoverflow пишут, что книга буквально просветлит нас (will enlighten you) и после нее появится стремление писать великолепные программы. И что если все остальные книги делают из нас лучшего (better) программиста, то конкретно эта — сделает из читателя программиста.

4) Язык программирования C (Авторы: Брайан Керниган, Деннис Ритчи)

Честно говоря, мне не до конца ясно, почему книга об определенном языке программирования попала на столь высокое место, тем более в наше время высокоуровневых языков и фреймворков. Быть может потому, что книга Кернигана и Ритчи – это культовая книга по программированию на языке Си от создателей языка, где они рассказывают своим читателям о широких возможностях Си и особенностях, отличающих его от других языков структурного программирования. Ведь в свое время язык Си разрабатывали специально для операционной системы Unix, но созданный язык был настолько универсален, что нашел свое применение и в других сферах программирования.

5) Алгоритмы. Построение и анализ (Авторы: Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн)

Книга представляет собой перевод учебника по курсу построения и анализа эффективных алгоритмов, написанного в Массачусетском технологическом институте; в ней разбираются важнейшие классы быстрых алгоритмов и приёмы их построения. Изложение подробное и математически строгое. Книгу можно использовать в качестве учебника и справочника; она будет полезна как студентам, так и профессионалам в области IT.

Описание книг и картинки были взяты из ресурса http://habrahabr.ru/!