Книги по программированию

Вы не программист, если ни разу не начинали читать “Искусство программирования” Дональда Кнута.
habrahabr

Получил провокационный запрос “посоветовать литературу (программистскую/алгоритмическую), которую обязательно надо прочитать”. И спешу вас тоже озадачить. Основное направление – С++, поэтому PHP и Питон не обсуждаем. Зачеркнутое – я рекомендую не читать.

  1. Управление проектом
    1. Грабин, “Оружие победы”. Любой инженер должен это прочитать – все уже изобретено, только пользуйтесь.
    2. Брукс, “Мифический человеко-месяц”. На нее очень много ссылок, поэтому надо знать, что книга не про серебряную пулю.
    3. МакКоннелл, «Совершенный код» (Code complete)
    4. Дж. Ханк Рейнвотер, “Как пасти котов”
    5. Валентин советует – “Peopleware — Productive Projects and Teams”
  2. Алгоритмика
    1. Кнут. Как справочник.
    2. Вирт, “Алгоритмы и структуры данных”
    3. Банда четырех ( Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидс), “Приёмы объектно-ориентированного проектирования. Паттерны проектирования”. Не надо изобретать велосипедов. По крайней мере надо их узнавать при встрече.
  3. С++
    1. Страуструп, “Дизайн и эволюция С++”. Знать как было задумано.
    2. Стандарт C++ (почитывать). Знать как было реализовано.
    3. Майерс. Ширпотреб. Но надо.
  4. Другое
    1. Языки с другими принципами – python, lisp, perl. Валя предлагает “Learning Perl” (aka llama book).
    2. OSы. Shell. Tools. Man.
    3. Robert Aiello, Leslie Sachs, “Configuration Management Best Practices: Practical Methods that Work in the Real World”
  5. “За жизнь”
    1. Блог Джоэла Спольски. Собрано в книгу “Джоэл о программировании”.
    2. Эндрю Хант, Дэвид Томас, “Программист-прагматик. Путь от подмастерья к мастеру” (Andrew Hunt, David Thomas, “The Pragmatic Programmer. From Journeyman to Master”)
    3. Папанек, “Дизайн для реального мира”

Миша пишет про книги по usability.
А вот Валентин пишет.
Александр подкинул ссылку на слова, которые надо знать. :-)

Что еще? Что вписать зачеркнутым?