Если бы вы могли вернуться в прошлое и посоветовать себе прочитать конкретную книгу в начале своей карьеры разработчика, какая это была бы книга?
Я ожидаю, что этот список будет разнообразным и будет охватывать широкий круг вопросов.
Искать: Используйте поле поиска в правом верхнем углу. Для поиска ответов на текущий вопрос используйте inquestion:this. Например:
inquestion:this "Code Complete"
Интересно то, что, хотя заголовок гласит: «Какая самая влиятельная книга, которую должен прочитать программист каждый?», Предлагается довольно много книг, посвященных конкретным языковым темам. По определению и постановке вопроса предлагаемые здесь книги должны касаться не зависящих от языка тем, что доказывает, что большинству программистов еще только предстоит научиться читать.
Если бы я мог вернуться в прошлое и посоветовать себе что-нибудь прочесть, то лучше было бы газету или сборник спортивных фактов, которые я носил с собой. Все остальное - пустая трата хорошего путешествия во времени. :-)
Обложка "Head First" наверняка привлекает внимание, и мне действительно удалось заставить меня взять книгу. Но вскоре после этого я снова отложил его, так как оно показалось мне несущественным.
Этот вопрос теперь превратился в эквивалент библиотеки журналов, содержащих названия книг. Это слишком универсально, но хуже всего то, что поиск невозможен.
Я согласен с тем, что неспособность найти что-то в ответах меня очень расстраивает. Нужно пролистать 10 страниц сообщений, чтобы увидеть, можно ли внести что-то новое.
Знаешь, если бы я не беспокоился о том, что я проиграю ВСЕМ голосом, я бы просто пошутил и предложил «Сумерки». "Это ТАКЖЕ о людях, которые бледны и избегают солнца!"
@Carl: ЭТО одна из самых красивых книг по программированию, которые у меня есть на полке: amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp /…
Может ли кто-нибудь очистить ответы, удалив повторяющиеся записи в книгах? Большинство из них уже проголосовали против.
Было высказано предположение, и я склонен согласиться, что в 20 страниц это уже исчерпало себя в настоящее время. Просто дубликаты. Я сейчас запираюсь; отметьте, если вы не согласны ...
Я проголосовал за закрытие. Этот вопрос субъективен, аргументирован, и принятый ответ неверен. Книга Microsoft Press о том, как M $ делает вещи более важные, чем даже «Искусство компьютерного программирования» Дона Кнута? Мне нужно сменить штаны.
@Heath, это до смерти обсуждалось на Мете. Это один из тех вопросов, о которых все знают, что они неуместны, но на них не обращают внимания, поскольку он был очень популярен, когда сайт запускался. С практической точки зрения, на данный момент маловероятно, что вы найдете еще четырех человек, которые проголосовали бы за закрытие до истечения срока вашего голосования.
@Heath, ты читал CC? Я в целом настроен против Microsoft, но мне это показалось очень полезным. Его хорошо читать вместе с «Программистом-прагматиком», потому что они предлагают очень контрастирующие взгляды. К счастью, в этом вопросе эти две книги находятся прямо вверху. Вы не должны закрывать вопрос только потому, что не согласны с наиболее популярным ответом.
@skilldrick. Я не только читал МакКоннелла, я раньше работал в MS, где вы должны лизать книгу. МакКоннелл завидовал Стиву Магуайру, автору Writing Solid Code, также MS Press. Книга Магуайра хороша и не так уж много страниц. Книга МакКоннелла, да, вы можете сказать, что я думаю, но сформулируйте: «Полный проповеднической чуши, которая не работает для всех и устаревает, даже когда IDE меняются». Написание Solid Code не устарело.
@Torgamus - ТРАДИЦИЯ! Это то, что держит нас на крыше !!! ТРАДИЦИЯ!
@Heath: Этот древний, обширный и устаревший вопрос был заблокирован алмазным модом. Нет необходимости закрывать, так как это только предотвращает добавление новых (и, несомненно, избыточных) ответов.
Совершенство. Теперь в корпусе SO-вопросов, на которые уже даны ответы, доступных для новичков, этот субъективный вопрос отсутствует.
@ Дэвид: Это больше не заблокировано. Он просто защищен, чего на самом деле недостаточно, чтобы предотвратить публикацию ненужных ответов. Его нужно снова заблокировать.
@Heath, поздравляю с успехом, хотя это длилось всего несколько часов. К вашему сведению, я нашел соответствующее сообщение в блоге: blog.stackoverflow.com/2010/01/stack-overflow-where-we-hate- весело
@Torgamus - Похоже, клика админов не любит демократию. ТАК такой хромой.
@Heath - согласен, хромает. @Torgamus - Мне не нравятся "веселые" вопросы. Обычно они заканчивают глупыми, бессмысленными ответами, основанными больше на популярности, чем на чем-либо еще. Я прочитал большинство книг на первой странице и думаю, что только около 40% из них особенно ценны для всех, и определенно не первые в списке.
@Torgamus - Дело не в развлечениях. Это о том, чтобы не быть глупым. Этот вопрос и ответ на него на 110% глупы.
@Omnifarious: Чем прагматичный программист бесполезен? Он обгонит Code Complete, как и положено. На самом деле теперь я смотрю дальше первых нескольких слов, я вижу, что вы правы.
@Matt Joiner: Программист-прагматик - один из немногих, кого я не читал. :-)
@Omnifarious: ДЕЙСТВИТЕЛЬНО должен.
По поводу откатов смотрите Относительно вопроса CW и информации об авторе.
Откат войны означает, что пора снова заблокировать.
"Джоэл о программном обеспечении" слишком очевиден? Для C++ - все, что написано Хербом Саттером, Скоттом Мейерсом. А если вам нравится шаблонный мазохизм, «Современный дизайн на C++» Александреску.





@ Питер Коултон - вы не читаете Кнута, вы его изучаете.
Для меня и моей работы ... Чисто функциональные структуры данных отлично подходит для мышления и разработки с учетом функциональных языков.
Code Complete - выбор номер один, но я бы также процитировал шаблоны проектирования Gang of Four и Application UML и шаблоны Крейга Лармана.
«Вневременный способ строительства» Кристофера Александра - еще одна замечательная идея. Несмотря на то, что он посвящен архитектуре, он включен в библиографию многих замечательных книг по программированию, которые я уже прочитал.
Еще один, из которого я узнаю много нового, - это шаблоны доступа к данным Клифтона Нока.
более одной книги на автора, и многие, если не все, на первых двух страницах.
Я был здесь некоторое время, поэтому большинство книг, которые я считаю влиятельными, не обязательно применимы сегодня. Я действительно считаю, что универсально важно понимать платформу, для которой вы разрабатываете (как оборудование, так и ОС). Я также считаю, что важно учиться на ошибках других людей. Итак, две книги, которые я бы порекомендовал:
Вычислительные катастрофы и В поисках глупости: более двадцати лет неудач в сфере высокотехнологичного маркетинга
Дай мне перерыв. Зачем вам это записывать, потому что я упомянул две книги?
Прагматичный программист: от подмастерья к мастеру без сомнения. Совет в нем настолько хорошо представлен и прост, что производит впечатление «Программиста здравого смысла». Любить это.
@Juan: Я знаю Хуана, я знаю, но есть некоторые вещи, которые можно узнать, только взявшись за выполнение поставленной задачи. Если весь день говорить в абстрактных идеалах, вы просто превращаетесь в академика. Именно в применении абстрактного мы действительно пытаемся понять причину их существования. :П
@Keith: Великолепное упоминание Алана Купера «The Inmates are Running the Asylum» - определенно открывшее глаза, любой разработчик, который работал со мной с тех пор, как я прочитал эту книгу, слышал, как я упоминал идеи, которые он поддерживает. +1
Мифический человеко-месяц Фреда Брукса http://en.wikipedia.org/wiki/The_Mythical_Man-Month
Эффективная работа с устаревшим кодом - это действительно потрясающая книга, в которой подробно рассказывается о том, как правильно проводить модульное тестирование вашего кода и каковы его истинные преимущества. Это действительно открыло мне глаза.
У меня есть пара (довольно старых) сообщений в блоге на эту тему
В произвольном порядке, кроме того, как они расположены на моей книжной полке:
Шаблоны реализации Кента Бека.
альтернативный текст http://ecx.images-amazon.com/images/I/51JHn-6oNwL._SL500_AA240_.jpg
Вы можете научиться общаться с людьми с помощью программирования.
Deitel и Deitel, "C++: как программировать"
Тестовые таблицы XUnit
Прочтите Шаблоны проектирования Head First для гораздо более доступного введения, чем книга GoF. Я помню, как после каждой главы я чувствовал себя так, как будто я повышался.
Разработка через тестирование на примере Кента Бека для TDD.
В дополнение к предложениям других людей я бы порекомендовал либо приобрести копию SICP, либо читать онлайн. Это одна из немногих книг, которые я прочитал, и я чувствую, что сильно повысил мои навыки в разработке программного обеспечения, особенно в создании хороших уровней абстракции.
Книга, которая не связана с программированием напрямую, но также может быть полезна программистам (IMO), называется Конкретная математика. Большинство, если не все темы в нем полезны для программистов, и он лучше объясняет вещи, чем любая другая книга по математике, которую я читал на сегодняшний день.
Я большой поклонник большинства произведений Роберта Мартина, особенно Гибкая разработка программного обеспечения, принципы и практики и Чистый код: руководство по созданию гибкого программного обеспечения.
Гибкая разработка программного обеспечения, Алистер Кокберн
Я думаю, что «Искусство программирования Unix» - отличная книга, написанная превосходным хакером / блестящим умом, как Эрик С. Реймонд, который пытается заставить нас понять несколько принципов разработки программного обеспечения (в основном простоту). Эта книга необходима каждому программисту, который собирается начать проект на платформе Unix.
это дубликат.
Руководство мистера Банни по ActiveX
У меня есть несколько хороших книг, которые сильно повлияли на меня, которых я пока не видел в этом списке:
Психология повседневных вещей Дональда Нормана. Общие принципы дизайна для других людей. Может показаться, что это в основном хорошо для пользовательского интерфейса, но если подумать, приложения есть почти везде, где есть интерфейс, с которым должен работать кто-то, кроме исходного разработчика; е. грамм. API и проектирование интерфейса таким образом, чтобы другие разработчики формировали правильную ментальную модель и получали соответствующую обратную связь от самого API.
Искусство тестирования программного обеспечения, автор - Глен Майерс. Хорошее общее введение в программное обеспечение для тестирования; удобно читать программистам, чтобы они могли думать как тестировщики i. е. подумайте, что может пойти не так, и приготовьтесь к этому.
Между прочим, я понимаю, что вопрос был «Единственная самая влиятельная книга», но обсуждение, похоже, изменилось на перечисление хороших книг для чтения разработчиками, поэтому я надеюсь, что меня простят за то, что я перечислил две хорошие книги, а не одну.
-1: одна книга за ответ, пожалуйста.
Хотя я согласен с тем, что многие из вышеперечисленных книг являются обязательными к прочтению (сразу приходят на ум прагматический программист, мифический человеко-месяц, искусство компьютерного программирования и SICP), я бы хотел пойти немного в другом направлении и порекомендовать Дисциплина программирования by Эдсгер Дейкстра. Несмотря на то, что ему 32 года, акцент на «дизайн для проверяемости» очень актуален (даже если «проверяемость» означает «доказательство», а не «модульные тесты»).
За «Полный код» Стива МакКоннелла проголосовало много, но как насчет его книги Руководство по выживанию в программном проекте? Я думаю, что их обоих необходимо прочитать, но по разным причинам.
Можете ли вы добавить картинку - прямо сейчас он сканирует, как будто его очередное повторение CC рекомендует, чтобы вся эта ветка была закрыта
Недавно я прочитал Мечтать в коде и нашел его интересным. Возможно, даже больше, с того дня, как я начал читать, был выпущен Chandler 1.0. Чтение о болезнях роста и ошибках проектной команды, состоящей из талантливых людей, пытающихся «изменить мир», дает вам возможность многому научиться. Также Скотт привносит много знаний о программистах и мудрости между ними, это просто увлекательное чтение.
У Красивый код есть одна или две вещи, которые заставили меня думать по-другому, особенно глава о приоритете операторов сверху вниз.
Это не прямой ответ на вопрос, потому что я чувствую, что на него уже был дан ответ выше, однако одна из книг, которая определенно повлияла на то, как я кодирую, - это Чтение кода, Том 1: Взгляд на открытый исходный код.
альтернативный текст http://g.bookpool.com/covers/405/0201799405_140_30O.gif
Код есть Закон - вы все это пишете, редактируете и думаете на [выбранном вами языке], но ПОЧЕМУ? Что вы кодируете ЗНАЧИТЕЛЬНО? Что он будет делать на самом деле?
(Я мог бы порекомендовать книгу по контролю качества, но не стал ...)
Pro Spring - превосходное введение в мир инверсии управления и внедрения зависимостей. Если вы не знаете об этих методах и их последствиях - баланс тем и технических деталей в Pro Spring превосходный. Это создает отличный случай и, следовательно, личную основу.
Еще одна книга, которую я предлагаю, - это Гибкая разработка программного обеспечения (ASD) Роберта Мартина. Запах кода, гибкие методы, разработка, управляемая тестированием, принципы ... хорошо написанный баланс множества различных аспектов программирования.
Более традиционные классические произведения включают в себя печально известную GoF Шаблоны проектирования, Создание объектно-ориентированного программного обеспечения Бертрана Мейера, Объектно-ориентированный анализ и дизайн Буха, серию Эффективный C++ 'Скотт Мейер и менее известную книгу, которая мне нравилась Гандерлой, Кодер разработчику.
И хотя книги хороши ... не забывайте радио!
... позвольте мне добавить еще кое-что. Если вы еще не обнаружили сафари - взгляните. Это вызывает большее привыкание, чем переполнение стека :-) Я обнаружил, что с моими привычками типа Google - мне нужна более дорогая подписка, чтобы я мог смотреть любую книгу в любое время, - но я бы рекомендовал пробную версию всем, кто даже отдаленно заинтересован .
(ах да, сегодня немного obj-C, завтра какао, шаблоны? soa? что это был за пример в той кулинарной книге? Что Стив сказал в второе издание? Стоит ли мне покупать эту книгу? ... такая подписка - это здорово, если вам нужна преемственность и контекст для того, что вы искали ...)
+1 за создание объектно-ориентированного программного обеспечения - обязательно к прочтению.
Отладка процесса разработки: практические стратегии сосредоточения внимания, своевременности выпуска и создания надежных команд Стива Магуайра.
Без лишнего смысла, приземленный, развлекательный, глубокий.
Я нашел "Искусство Пролога" очень хорошим чтением.
Думаю, я вырос в другом поколении, чем большинство здесь ...
Одна из самых влиятельных книг, которую я прочитал, была APUE.
Или почти что угодно У. Ричарда Стивенса.
Роджер С. Прессман - Разработка программного обеспечения (подход практиков). В нем много полезной информации.
На самом деле эта книга не для начинающего программиста, но если вы ищете книги по дизайну SOA, то SOA на практике: искусство проектирования распределенных систем для вас.
Слишком узко, чтобы быть первой книгой, которую должен прочитать каждый программист
Прикасались ли пользователи к вашему коду? Если вы занимаетесь не только серверной частью, я рекомендую О Face: основы дизайна пользовательского интерфейса - теперь в его третьей редакции (ссылка). Раньше я думал, что мои пользователи глупы, потому что они не «понимают» мои интерфейсы. Я, конечно, ошибался. About Face перевернул меня.
-1: Хорошая книга, но Дубликат, см. Ранее
-1: dup, и "Заключенные" Купера - лучшее начало для этой темы.
Не книга по программированию, но все же очень важная книга, которую должен прочитать каждый программист:
Code Craft Пита Гудлиффа - это хорошее чтение!
Я возлагал большие надежды на эту книгу, но она мне не помогает. Я думаю, это констатирует очевидное. Наверное, это хорошо для новичков в программировании.
Программные средства Брайана В. Кернигана и П. Дж. Плогера
Это оказало глубокое влияние на то, как я пишу программы.
Чтобы продвинуться в прологе, мне нравятся эти две книги:
действительно открывает разум для логического программирования и схем рекурсии.
Вот два, о которых я не упоминал:
Хотел бы я прочитать "Размышления о C++" Кенига и Му гораздо раньше. Это была книга, которая заставила меня задуматься о концепциях объектно-ориентированного программирования.
И я рекомендую «Дзен оптимизации кода» Майкла Абраша всем, кто планирует начать карьеру программиста в середине 90-х.
Не могли бы вы сузить круг до одного, пожалуйста?
«Плоский мир» Томаса Фридмана.
Превосходство в программировании требует вложения умственной энергии и стремления к непрерывному обучению, сопоставимых с профессиями медицины или права. Он платит небольшую часть того, что платят представители этих профессий, не говоря уже о заработной плате математически подкованных людей, направляющихся в финансовый сектор. Заработная плата для построение кода снижается, потому что это профессия, в которую относительно легко вступить умным и самодисциплинированным в большинстве стран.
Программирование уже подорвано до такой степени, что платить меньше, чем, скажем, за сантехнику. Сантехника не может быть «офшорной». Вам не нужно платить 2395 долларов за посещение Конференции профессиональных сантехников раз в два года, чтобы получить возможность получить совершенно новый набор сантехнических технологий, на изучение которых у вас уйдет год.
Если вы живете в Северной Америке или Европе, молоды и умны, программирование не является рациональным выбором карьеры. Фирмы, которые программировали вовлекать, абсолютно. Изучите бизнес, достаточно хорошо разбирайтесь в программировании, чтобы усовершенствовать свой детектор BS: великолепно. Но посвятить львиную долю своей умственной энергии освоению библиотек, структур данных и алгоритмов? Это имеет смысл только в том случае, если программирование - это для вас нечто большее, чем экономический выбор.
Если вы программируете люблю и по этой причине намереваетесь сделать это своей карьерой, то вам надлежит развить хладнокровное понимание сил, которые есть и будут продолжать делать эту профессию все труднее и труднее, чтобы зарабатывать на жизнь. . «Плоский мир» не научит вас, как называть переменные, но он погрузит вас на 6 или 8 часов в экономические реалии, которые достигли уровня уже. Если вы умеете читать и не пугаетесь, тогда выйдите и купите «Code Complete».
Это чертовски хороший ответ!
Парадигмы программирования искусственного интеллекта: Примеры использования Common Lisp Питера Норвига

Я начал читать его, потому что хотел изучить Common Lisp. Когда я был на полпути, я понял, что это лучшая книга о программировании, которую я когда-либо читал.
Это не совсем книга для разработчиков, и я считаю, что где-то упоминал ее в другом ответе, но я действительно считаю, что это книга, которую, по моему мнению, должны прочитать все разработчики, от php до Java и разработчиков сборки.
Он действительно объединяет то, что находится под капотом компьютера, почему нельзя тратить память и некоторые из наиболее интересных моментов в истории вычислений. Это введение в компьютер и то, что это такое. Это дало мне абсолютную страсть к низкоуровневому программированию и помогло мне понять указатели и память больше, чем любой другой компьютер.
-1: Хорошая книга, но Дубликат, см. Ранее
Современный дизайн C++ от Андрея Александреску
Я думаю, что полный код будет очень популярным в этом вопросе, для меня он исправил многие из моих плохих привычек и подтвердил мои хорошие практики.
Также из-за моего опыта работы с Perl мне очень нравятся Perl Best Practices от Дэмиана Конвея. Perl может быть неприятным языком, если вы не используете стиль и лучшие практики, что я видел в сценариях, которые я читал (а иногда и писал).
Мне нравится Head First Series, они довольно хороши и легко читаются, когда вы не в настроении для более серьезных книг по стилю.
Написание твердого кода Стивом Магуайром.
«Объектно-ориентированный анализ и дизайн с приложениями» Грэди Буч. Я прочитал это очень давно, и он показал мне, что может существовать методология разработки объектно-ориентированного программного обеспечения. С тех пор на меня повлияли многие другие книги, но эта заставила меня начать.
The Интерпретация языков объектно-ориентированного программирования, Ян Крейг
Потому что он показал мне, насколько больше в OO, чем стандартные идиомы C++ / Java.
Программирование на Perl (O'Reilly)
Мышление на Java (Паттерны), Брюс Экель
Профессиональная разработка в Excel В этой книге показано, как создавать высококачественные приложения на одной из самых распространенных платформ программирования.
Бережливая разработка программного обеспечения от Мэри и Тома Поппендик определенно для каждой книжной полки разработчиков
Программирование какао для Mac OS X, автор - Аарон Хиллегасс
Замечательная книга. Проходит все основы, которые необходимо знать начинающему программисту Cocoa на Mac или iPhone / iPad. Очень читаемый, с множеством примеров. Победитель!
По многим причинам, указанным выше, это нечто среднее между шаблонами проектирования Head First Design Patterns и Perl Testing: A Developer's Notebook, который должен стать одной из библий для любого программиста Perl, желающего писать поддерживаемый код.
Эффективный C++ и Более эффективный C++ Скотта Майерса.
-1: Хорошая книга, но Дубликат, см. Ранее
Этот заставил меня погрузиться в настоящие OOA & D.
Применение UML и шаблонов: введение в объектно-ориентированный анализ и дизайн, а также итеративная разработка - Крейг Ларман
Они тоже будут там:
Один будет хорошо, надеюсь, не дурак. Который из?
Объекты PHP, шаблоны и практика. http://www.apress.com/book/view/9781590599099
«Как быть программистом: краткое, исчерпывающее и личное резюме», автор: Роберт Л. Рид
Не совсем книга, а эссе, но эта книга определенно вдохновила меня, когда я начал писать код. Мне очень понравилась идея вступить в племя. Стоит прочитать.
Программирование Win32 Чарльзом Петцольдом
Быстрое развитие от МакКоннелла
-1 Хорошая книга, но дубликат stackoverflow.com/questions/1711/… (хоть и таращится, но имеет критическую массу)
+1 По крайней мере, у этого есть ссылка.
Это может быть обман, но в другом ответе указаны две книги, когда вопрос - «самый единственный». Это жульничество. Кроме того, другой ответ - это сам обман. Наконец, у меня есть ссылка. :-)
Я полагаю, мы могли бы спрашивать тот же самый популярный вопрос каждые пару недель и обновлять всех, кто упоминает код завершен или Прагматичный программист.
Не то чтобы с этим что-то не так :-)
"Дизайн и эволюция C++" Бьярна Страуструпа
Помимо предоставления обширных знаний о C++, это также продолжительное исследование компромиссов и проблем проектирования, связанных с крупномасштабной программой.
Изучение C# 2005, Джесси Либерти и Брайан Макдональд (О'Рейли).
ISBN 10: 0-596-10209-7.
Когда я впервые перешел от классического процедурного кода ASP к объектно-ориентированному коду C# в VS2005, эта книга указала мне правильный путь.
Хотя это не совсем книга по разработке программного обеспечения, я настоятельно рекомендую рассмотреть Не заставляйте меня думать! в этом списке.
Программные инструменты Брайана В. Кернигана и П. Дж. Плогера оказали на меня наибольшее влияние.
Стэн Липпман изнутри объектной модели C++. Это заставило C++ наконец-то "щелкнуть" для меня, прежде чем он стал полностью "волшебным". Эта книга дала мне другое настроение при подходе к новому языку программирования.
«Грамотное программирование» Дональда Кнута, это отличная книга по структуре кода.
Среда программирования Unix Керниган и Пайк.
![]()
Она больше, чем любая другая книга, научила меня преимуществам создания небольших, легко тестируемых инструментов, которые можно комбинировать для выполнения больших задач.
Построение объектно-ориентированного программного обеспечения Бертрана Мейера
Я нашел эту книгу очень полезной в ранние годы - она познакомила меня с искусством и наукой крупномасштабного проектирования фреймворков. Что случилось с Эйфелем?
Программирование на языке C: секреты Deep C, автор: Питер Ван Дер Линден
Безусловно, лучшая книга по программированию из когда-либо написанных. Если бы только другие технические авторы могли овладеть способностью излагать глубоко техническую информацию в разговорной, но не покровительственной форме.
Экстремальное программирование Кента Бека
Это была потрясающая коллекция. Маленькая черная книга Эдсгера Дейкстры (с некоторой помощью C.A.R. Hoare) Структурированное программирование и, в частности, эссе под названием «О нашей неспособности сделать много».
Мой школьный учитель математики одолжил мне копию Проблема с фигурой вашего света?, которую я перечитывал много раз. Это было бесценно как для разработчика, так и для жизни в целом.
Вопрос в том, «Какая книга действительно повлияла на то, как вы работаете разработчиком?» Без сомнения, Программирование Windows с помощью MFC Джеффа Просиза - это книга, оказавшая наибольшее влияние на КАК я работаю как разработчик. Он не научил меня основам «программирования», но открыл мир разработки платформы Windows для меня и многих тысяч других разработчиков.
До того, как была разработана MFC, я написал небольшой код для Windows в «стиле Петцольда». Я быстро решил, что с платформой Windows нам, как разработчику, просто не стоит беспокоиться. Когда Prosise выпустил свою книгу MFC, я понял (вместе с тысячами других программистов, не работающих с Windows), что могу создать простой в использовании интерфейс, который пользователи не просто поймут, но и действительно получат удовольствие от использования. Я проглотил книгу, делая в ней столько пометок и загибая столько углов, что в конце концов купил второй экземпляр.
Просис, Джефф. Программирование Windows с помощью MFC 2-е изд. Microsoft Press 1999 г. ISBN: 1-57231-695-0
Продуктивный программист от Ford
Я еще не совсем освоился с этим, но я уже в восторге от некоторых советов / приемов, которые я взял, чтобы стать более ... ну ... продуктивным.
Конечно, есть много вещей, которые мы все уже знаем (используйте сочетания клавиш, СУХОЙ и т. д.). Но есть много чего нового. И внимательные читатели быстро начнут понимать, как можно сочетать разные вещи для еще большего эффекта.
Объектно-ориентированный анализ и дизайн - Грэди Буч
Серия книг по программированию на C++ от Deitel и Deitel
«Мышление на C++», Брюс Эккель
Домен-ориентированный дизайн Эрика Эванса
Управление гигабайтами - это мгновенная классика для размышлений о тяжелой работе с информацией.
C# для опытных программистов
или действительно что-нибудь от Dietel & Dietel. Я прочитал несколько их книг, и все было потрясающе.
Несколько лет назад книга Брюса Экеля «Мышление на C++» научила меня многому о C++, а также о важности выделения проблемы в небольшую «песочницу» для изучения / анализа. Этот метод сильно повлиял на мою карьеру и регулярно помогает мне устранять проблемы как для меня, так и для других.
Сейчас я имею в виду «Мышление на Java», написанное в том же стиле. Каким-то образом этот стиль выходит за рамки простых «примеров» и глубоко проникает в суть проблемы.
Я так благодарен, что куплю у Эккеля практически все, чего не увидишь.
http://ecx.images-amazon.com/images/I/519J3P8ANML._SL500_AA240_.jpg
Вывел мое программирование на совершенно новый уровень.
Когда я только начинал, Том Свон написал "Освоение Turbo Pascal". В этой книге нет ничего особенно глубокого. Это было ясно и кратко, с полезными примерами. Основываясь на этих знаниях, я начал карьеру разработчика программного обеспечения вот уже более 15 лет.
C++ BlackBook. Поцелуй полностью
Дональд Норман, «Дизайн повседневных вещей»
Не о программировании как таковом, а о том, как все должно происходить в мире работай - своего рода психология юзабилити.
Для меня это было бесценно при разработке интерфейсов конечного пользователя и API.
Освоение C++ от Тома Свона. Это была лучшая книга, в ней были примеры, достаточно простые для обучения концепциям, но достаточно полезные для решения других задач. Она была очень удобочитаемой, это была первая книга, которую я прочитал, когда поступил в колледж, и ее нужно было прочитать только один раз.
Первая книга Тененбаума по операционным системам. Мой первый взгляд на программирование на уровне ядра.
«Алгоритмы на C» (1-е издание) Седжвика научили меня всем об алгоритмах, а также научили меня ловушкам документации и копирования / вставки кода, поскольку весь пример кода в этой версии был взят из версии «Алгоритмы на Паскале». и были просто пропущены через простой транслятор кода, который не адаптировался к различным схемам индексации.
Моей любимой книгой на все времена была книга Мэтью Теллеса по C# Back Book.
Мечтать в коде, вероятно, оказал самое сильное влияние за последние 6 месяцев.
"Язык программирования C++" Бьярна Страуструпа
Кодер разработчику, Майк Гандерлой.
На самом деле выделяются две книги. Первым был Code Complete. Несмотря на свой возраст, это все еще очень полезная книга, и глава о вреде преждевременной оптимизации стоит своей цены.
Второй был «Психология повседневных вещей» (теперь, я думаю, он называется «Дизайн повседневных вещей»), который изменил мое отношение к пользовательским интерфейсам при разработке приложений. Это сделало меня более ориентированным на пользователя.
Amiga ROM Kernel Инструкции :)
Внутри объектной модели C++, Стэнли Липпман
Как думать, как компьютерный ученый: учимся с Python
Возможно, это не самая продвинутая книга в мире, но она заставила меня понять концепции программирования, которые я не мог, особенно объектно-ориентированные темы.
Это не может считаться «книгой для разработчиков», но я все равно должен добавить ее: «Хакеры» Стивена Леви. Я обнаружил, что это говорит об эмоциональной стороне программирования.
«Написание надежного кода: методы Microsoft для разработки программ на C без ошибок (серия программ Microsoft)», автор: Стив Макгуайр.
Интересно, что большая часть упомянутых здесь книг приходится на C / C++.
Для меня «Память как концепция программирования на C и C++» действительно открыла мне глаза на то, как действительно работает управление памятью. Если вы разработчик C или C++, я считаю, что это необходимо прочитать. Вы демонстративно узнаете что-то или вспомните то, что, возможно, забыли по пути.
http://www.amazon.com/Memory-Programming-Concept-C/dp/0521520436
Отдельно стоит упомянуть Третий манифест Хью Дарвена и CJ Date. Если вы заинтересованы в понимании данные (что кажется необычным для программистов), эту книгу необходимо прочитать. Вам также будет грустно, когда вы поймете, насколько сильно сломан SQL, но это также поможет вам справиться с этой поломкой. Знание того, как инструмент сломан, позволяет вам проектировать с учетом этих недостатков.
Гибкая разработка программного обеспечения с помощью Scrum Кена Швабера и Майка Бидла.
Я использовал эту книгу как отправную точку для понимания гибкой разработки.
Программист-прагматик был довольно хорош. Однако, когда я только начинал, действительно оказал влияние:
Секреты системного программирования Windows 95 »
Я знаю - это звучит и выглядит немного дрянно снаружи и, вероятно, немного устарело - но это было отличное объяснение внутреннего устройства Win95, основанное на исследованиях авторов (Мэтт Пьетрек) с использованием его собственных инструментов - кода для которого пришел с книгой. Имейте в виду, что это было до того, как появился открытый исходный код, и Microsoft все еще не решалась выпускать внутреннюю документацию, не говоря уже об исходном коде. Там была цитата вроде «Если вы работаете над какой-то проблемой и попадаете в какой-то камень преткновения, тогда вам нужно остановиться и по-настоящему глубоко изучить этот фрагмент и действительно понять, как это работает». Я считаю, что это очень хороший совет - особенно в наши дни, когда у вас часто есть исходный код библиотеки и вы можете пойти посмотреть. Это также вдохновило меня на то, чтобы погрузиться во внутреннее устройство работы систем, что оказалось бесценным на протяжении всей моей карьеры.
О, и я бы также добавил эффективный .net - отличное внутреннее объяснение .Net от Don Box.
Программирование на SAP ABAP? «Изучите ABAP за 21 день» - лучшая книга!
В нем нет никаких хитростей или волшебства, но через 3 года я так и не нашел более всеобъемлющей книги.
Схема программирования Шаума на C++, написанная Джоном Р. Хаббардом.
Это была первая книга по программированию, которую я прочитал, когда начинал с C++. Его подарил мне кто-то, кто увидел мой интерес к программированию. Книга очень хороша для начинающих - от элементарных понятий до шаблонов и векторов. Приведенные примеры были весьма актуальными. Книга заставила задуматься, задать больше вопросов и попробовать разные вещи.
Самой влиятельной книгой по программированию для меня была Веревки достаточно, чтобы прострелить себе ногу от Аллен Голуб.
Обложка книги http://ecx.images-amazon.com/images/I/71AE90J735L._SL500_AA240_.gif
О, ну как давно это было.
В последние годы это была «Стандартная библиотека C++» Николая М. Йосуттиса. Это моя библия.
альтернативный текст http://ecx.images-amazon.com/images/I/51BT5SKXTCL._SL500_AA240_.jpg
Рефакторинг: улучшение дизайна существующего кода Мартина Фаулера уже внесен в список. Но я подробно расскажу, почему это повлияло на меня.
Суть всей книги состоит в том, чтобы структурировать код таким образом, чтобы его было проще читать и понимать с помощью люди. Это сильно учит меня тому, что код, который я пишу, предназначен для моих коллег и преемников, чтобы они использовали его и, возможно, научились чему-то хороший. Меня вдохновляет сознательно программа таким образом, чтобы люди восхваляли мое имя и не проклинали меня на всю вечность.
Еще одна книга, которая еще не упоминалась и ДОЛЖНА быть обязательной к прочтению КАЖДОМУ программисту, от новичков до гуру на ЛЮБОМ языке программирования, - это Написание безопасного кода Майкла Ховарда (2-е издание) от MSPress.
Первая книга, которая произвела на меня реальное впечатление, была Освоение Turbo Assembler Тома Свона.
Другие книги, оказавшие влияние, - это Просто для развлечения Линуса Торвальдса и Дэвида Даймонда и, конечно же, Прагматичный программист Эндрю Ханта и Дэвида Томаса.
Поскольку так много людей перечислили «Шаблоны проектирования в первую очередь», и я согласен, что это очень хорошая книга, я хотел бы посмотреть, знают ли так много людей о названии Объяснение шаблонов дизайна: новый взгляд на объектно-ориентированный дизайн.
Этот заголовок отлично справляется с шаблонами проектирования. Первая половина книги очень доступна, а остальные главы требуют только твердого понимания уже рассмотренного содержания.Причина, по которой я считаю, что вторая половина книги менее доступна, заключается в том, что она охватывает шаблоны, которых мне, как молодому разработчику, явно не хватает. по опыту мало что использовал.
В этом заголовке также представлена концепция, лежащая в основе шаблонов проектирования, охватывающая начальную работу Кристофера Александра в области архитектуры до первой реализации GoF шаблонов документирования в SmallTalk.
Я думаю, что любой, кому нравятся шаблоны проектирования Head First, но все еще находит GoF очень сухим, должен изучить Design Patterns Explained как гораздо более удобочитаемую (хотя и не столь всеобъемлющую) альтернативу.
Применение UML и шаблонов Крейга Лармана. Хотя книга «Банда четырех» Шаблоны проектирования очень поучительна, я обнаружил, что не «понял», как использовать шаблоны проектирования, пока не наткнулся на книгу Лармана в классе программирования.
Продвинутая MS-DOS от Рэя Дункана.
Вероятно, том 1 "C для чайников" 1997 года или около того. На самом деле, это просто введение, но это было хорошее чтение после того, как я почувствовал вкус программирования в GFA Basic на Atari ST. Примерно в то же время учебник Coronado C тоже помог.
для развлечения низкого уровня я бы посоветовал Майкла Абраша
i) -Дзен оптимизации кода- и
II) -Графическое программирование Черная книга-
даже если вы не занимаетесь программированием графики.
Майкл Абраш: дзен языка ассемблера
Применение UML и шаблонов проектирования.
Это помогло мне понять шаблоны проектирования и послужило обоснованием для UML, которое имело для меня смысл в формулировке «UML как Sketch». А именно, что UML следует использовать как краткий набросок системы, который имеет дополнительное преимущество, заключающееся в том, что вам не нужно объяснять нотации другим (они либо уже знают UML, либо вы даете им книгу UML для чтения)
Книга «Алгоритмы» от Роберта Седжвика. Обязательно к прочтению разработчикам приложений.
Поставляется во многих вариантах (C, C++, Java).
Если вы что-то делаете в Unix / Linux / MacOS и т. д., Вы должны прочитать «Расширенное программирование в среде Unix» (также известное под аббревиатурой APUE) покойного Ричарда Стивенса В. Если вы не знаете, как работают файловые дескрипторы или что такое сеансы, или всего, что вам следует делать, когда вы демонизируете себя (признайте это, вы не знаете), тогда эта книга расскажет вам.
Некоторое время после этого вы будете чувствовать себя забавно, но если вы хотите считать себя профессиональным программистом (на любом языке) в среде Unix, вам необходимо прочитать это.
Я бы сказал, что «За пределами кода - научитесь отличаться за 9 простых шагов» - неплохая и мотивационная книга. Я не затрагиваю технические вопросы, но в ней описываются способы работы с людьми, профессионализма, ... Для меня это книга, которую вы можете читать снова и снова, если вам нужно немного подбодрить. Кроме того, это дешево, очень легко и приятно читать за 3-4 часа.
Есть небольшой обзор на мой блог.
Кодируете ли вы на Smalltalk или нет, Шаблоны передовой практики Smalltalk - отличное чтение. Полно небольших наблюдений, которые изменят способ написания кода; к лучшему.
Несмотря на то, что я много лет занимался программированием профессионально, серия «Business Objects» Рокки Лхотки о его структуре CSLA была книгой, которая открыла мне глаза.
Его идеи снова вдохновили меня на паттерны и теория разработки программного обеспечения. Это подтолкнуло меня к новому интересу к изучению того, как стать лучшим разработчиком, а не только к изучению новейших элементов управления или библиотеки. (Не поймите меня неправильно, я все еще люблю хорошие технические книги - не отставайте!)
Я нашел Руководство по разработке алгоритмов очень полезным чтением. Я также очень рекомендую Жемчуг программирования.
"Книжка-раскраска по Фортрану" от Доктор Роджер Кауфман (1978, ISBN: 0262610264)
Какая глупая концепция - более простая, чем даже книга для чайников! Но он работает для любого языка (конечно, с несколькими конкретными примерами), объясняя основные концепции логики, переменных, ввода-вывода и т. д. Очень понятным и «до боли забавным» способом.
Достаточно, чтобы десятилетний ребенок заинтересовался программированием ...

(Нашел обложку на Учетная запись пользователя Flickr)
Я думаю, что у меня до сих пор есть копия! ;)
рекомендуется для Windows Programmer, Программирование Windows
Я удивлен, что до сих пор нет упоминания об этой книге: Начиная с четвертого, Лео Броди. В конце концов, Forth, будучи стековым языком, должен подходить аудитории на этом сайте ...
По общему признанию, форт - странный язык, и в наши дни он не очень популярен. Но эту книгу приятно читать. И в нем есть мультики! Эта книга, как и другая книга Броуди, Думая дальше, доступны бесплатно в Интернете.
альтернативный текст http://ecx.images-amazon.com/images/I/61dECNkdnTL._SL500_AA240_.jpg
C++ Как программировать Хорошая для новичка. Отличная книга, полная, 1500 страниц.
Я абсолютно согласен. Подход Deitel к изучению языка программирования потрясающий. Я считаю Java Как программировать своей библией программирования!
Совершенно новый разум, Дэниел Пинк. Интересный взгляд на будущее нашей отрасли.
Я предполагаю, что большинство людей, читающих это, уже прочитали книги в верхней части списка. Итак, я предлагаю книгу, которая по-другому взглянет на нашу отрасль.
Что-нибудь Эдварда Тафте: визуальное отображение количественной информации; Предвидение информации; Визуальные объяснения
Факты и заблуждения разработки программного обеспечения Роберта Л. Гласса - действительно отличная книга. Я был профессиональным хакером почти 10 лет, прежде чем прочитал это, и я все же узнал массу вещей.
Дискретная математика для компьютерных ученых, автор: J.K. Ферма.
Хотя это не учит вас программированию, оно учит фундаментальной математике, которую должен знать каждый программист. Вы можете помнить это из университета, но на самом деле выполнение логики предикатов улучшит ваши навыки программирования, вам нужно изучить Теорию множеств, если вы хотите программировать с использованием коллекций.
Здесь действительно много интересной информации, которая может заставить вас задуматься о проблемах по-разному. Его удобно иметь, просто время от времени брать в руки, чтобы узнать что-то новое.
Итак, вопрос не в том, «какая лучшая книга по программированию», а в том, «если бы вы могли сказать себе, что прочитать в начале своей карьеры» ...
Вероятно, один из «О Лиспе» и SICP, плюс один из CLRS или «Алгоритмы: творческий подход» Уди Манбера.
Введение в алгоритмы Уди Манбера http://vig-fp.prenhall.com/bigcovers/0201120372.jpg
Первые два научат множеству техник программирования, шаблонов и действительно откроют разум для его / ее собственного творчества; два других разные. Они более теоретичны, но также очень важны, поскольку фокусируются на разработке правильных и эффективных алгоритмов (и требуют значительно большего количества математических вычислений).
Я вижу, как много людей рекомендуют первые три книги, когда всплывает тема «хороших книг по программированию», но последняя (написанная Манбером) - отличная книга, и мало кто ее знает. Обидно! Манбер сосредотачивается на постепенном развитии алгоритмов путем доказательства теорем с помощью индукции.
-1 Выберите один, приклейте картинку и пусть люди проголосуют за нее
@sergio: Согласен с книгой Манбера. Пожалуйста, сделайте то, что говорит Рубен, и я буду поддерживать. Дайте мне знать, если вы решите это сделать.
Если вы пишете код на C, то вам откроет глаза экспертное программирование на C. В нем есть ответы на все вопросы, которые вас интересовали, почему он работает именно так. Питер Ван Дер Линден обладает прекрасным стилем письма и делает загадочные концепции очень удобочитаемыми. Обязательно к прочтению всем разработчикам на C
Мастера судьбы. Что касается мотивации и любви к своей профессии: лучше, чем то, что описано в этой книге, правдиво вдохновляющей истории, не будет!
+1 за точный однострочный обзор
Fortran IV с Watfor и Watfiv от Кресс, Дирксона и Грэма.
Эта книга научила меня моему первому языку программирования, который я в то время запрограммировал на перфокарты. Спустя 3 года книга была разорвана, потому что я так много ее использовал.
Фортран был отличным языком! У него был супероптимизатор, и он производил очень быстрый код. Он по-прежнему очень популярен в Великобритании, и FTN95 теперь является очень полнофункциональным и функциональным компилятором. Иногда мне хотелось бы продолжать его использовать, но Delphi - более чем адекватная замена.
Кажется, никто не упомянул Stroustup Язык программирования C++, отличную книгу, которую должен прочитать каждый программист на C++.
Я также считаю, что Объяснение экстремального программирования: примите изменения должен быть прочитан каждым программистом и менеджером. Многие идеи, изложенные в книге, сейчас общеизвестны, но в книге дается разумный и вдохновляющий отчет о стремлении к качеству в разработке программного обеспечения.
Я бы поддержал рекомендации для Knuth и Gang of Four, которые являются классикой.
Применение UML и шаблонов Крейга Лармана.
Название книги немного вводит в заблуждение; он имеет дело с UML и шаблонами, но охватывает гораздо больше. Подзаголовок книги говорит вам немного больше: Введение в объектно-ориентированный анализ и дизайн и итеративную разработку.
Графическое программирование в Windows сложно винить.
Системантика: как работают системы и особенно как они терпят неудачу. Используйте дешево. Но вы можете не получить юмора, пока не поработаете над несколькими неудачными проектами.
Прелесть книги - год авторских прав.
Наверное, самый глубокий вывод «закона», представленный в книге:
Фундаментальная теорема о режиме отказа (F.F.T.): сложные системы обычно работают в режиме отказа.
Идея состоит в том, что в любой данной части программного обеспечения есть неисправные части, которые маскируются отказами в других частях или проверками в других частях. Посмотрите на реальный пример на Радиационная установка Therac-25, программные недостатки которого были замаскированы аппаратными сбоями. Когда аппаратные средства защиты от сбоев были удалены, состояние гонки программного обеспечения, которое оставалось незамеченным все эти годы, привело к гибели трех человек.
Также ознакомьтесь с Системной Библией того же автора (Джона Галла). Это третье издание Системантики, он только что изменил название. Это книга, которую вы украли бы из школы. Это книга, которую взрослые люди читают под одеялом с фонариком.
Расширенное программирование в среде UNIX У. Ричарда Стивенса.
Поскольку я начинал разработку на Java (и продолжаю этим заниматься по сей день), я должен был бы порекомендовать выдающуюся работу в этой области: Большой кубок Явы мистера Банни.
Из аннотации автора:
There is simply no better way to learn Java than to have the pineal gland of an expert Java programmer surgically implanted in your brain. Sadly, most HMOs refuse to pay for this career saving procedure, deeming Java to be too experimental. At last there is an alternative treatment for those of us who cannot wait for sweeping health care reforms.
Mr. Bunny’s Big Cup O’ Java is recommended by n out of ten doctors, where n is any integer you wish to make up to impress an astoundingly gullible public. The book begins with an overview of the book, and quickly expands into the book itself. Just look at the topics covered:
- Java
In short, MBBCOJ will teach you all you need to know for a successful career in today’s rabbit development environments.
Одно только понимание пикселей сократило бы мою жизнь разработки программного обеспечения на годы.
Этюды для программистов Чарльза Ветерелла, More Programming Pearls (Джон Бентли),
Безусловное мастерство разработки программного обеспечения
альтернативный текст http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg
Эта книга объясняет многое о программной инженерии, разработке систем. Также чрезвычайно полезно понимать разницу между разными типами разработки продукта: веб VS термоусадочная оболочка VS IBM. Что люди имели в виду, когда создавали модель водопада? Прочтите это, и все станет ясно (надеюсь)
Эту книгу нужно переписать с нуля. Тема очень интересная, но книга безумная.
Крис, мне трудно понять ваш комментарий ... Не могли бы вы объяснить больше? Почему «безумный»?
Во-первых, там полно опечаток. Обычно первоклассный редактор Эддисон Уэсли странным образом отсутствует в этом томе.
... продолжение, и здесь недостаточно места, но: 2. в тексте никогда не ясно, где автор переключается между фактом и мнением, анекдотом и фундаментальным принципом и т. д. 3. мастерство программного обеспечения - это метафора и стратегия работы с несколькими сложные аспекты разработки программного обеспечения. У него есть определенные преимущества перед альтернативами и, предположительно, недостатки. Я считаю, что это разумный подход. Бессмысленно говорить, что программное обеспечение по своей сути является ремеслом. Очень неприятное чтение, но, честно говоря, это было довольно давно, и многие детали я забыл. Однако мое отвращение остается.
Для меня это был Объяснение шаблонов дизайна, он предоставил мне момент «О, вот как это работает» в отношении шаблонов проектирования и был очень полезен при обучении шаблонов проектирования другим.
Праймер Scelbi-Byte
Я много раз просматривал списки исходных кодов в этой книге, пока однажды внезапно не понял, что программирование на языке ассемблера 8080.
Объектно-ориентированное программирование в Turbo C++. Не очень популярный, но именно с нее я начал, и это была первая книга, которая действительно помогла мне понять, что такое объект. Прочтите это еще в старшей школе. У меня как бы слеза наворачивается на глаза ...
Несмотря на то, что я никогда не программировал игры, эта книга помогла мне понять многие вещи в увлекательной игровой форме.
Я купил это, когда был полным новичком, и за короткое время перевел меня из знания о существовании Java в надежного члена команды.
По-прежнему стоящая классика - Интерфейс Зала стыда. На этом веб-сайте подробно описан огромный ассортимент довольно забавных ошибок в дизайне интерфейса. Первоначальный iarchitect.com больше не существует, но другие восстановили HOS на своих собственных веб-сайтах.
Эвристика объектно-ориентированного дизайна - отличное чтение. Я не мог оторваться.
Я добавлю пару важных для меня моментов, которых я здесь не видел:
Не самый влиятельный, но заслуживающий внимания - Молодость Дж. М. Кутзи.
Рассказчик «Юности», студент из Южной Африки 1950-х годов, давно замышляет побег из своей родной страны: от удушающей любви своей матери, от отца, чьи неудачи преследуют его, и от того, что, как он уверен, надвигается. революция. Изучая математику, читая стихи, экономя деньги, он старается быть уверенным, что когда он попадет в реальный мир, где бы он ни был, он был готов испытать жизнь во всей ее полноте и превратить ее в искусство. Однако, прибыв наконец в Лондон, он не находит ни поэзии, ни романтики. Вместо этого он уступает однообразию жизни компьютерного программиста, от которого случайные, нелюбимые дела не приносят облегчения. Лишенный вдохновения, он перестает писать. Неуклюжий колонизатор, конституционный аутсайдер, он начинает темное паломничество, в котором его постоянно проверяют и постоянно находят в недостатке.
молодежная обложка http://img440.imageshack.us/img440/5140/youthgd4.jpg
Как это решить: новый аспект математического метода Хотя он не имеет прямого отношения к компьютерному программированию, но он учит вас искусству решения проблем, и в этом суть компьютерного программирования.
Я видел обзор Фабрики программного обеспечения: сборка приложений с помощью шаблонов, моделей, фреймворков и инструментов в блоге, в котором также говорилось о XI-Фабрика, я прочитал его и должен сказать, что эту книгу необходимо прочитать. Хотя он не предназначен специально для программистов, он очень четко объясняет, что происходит в мире программирования прямо сейчас с модельно-управляемой архитектурой и т. д.
Это все еще происходит? Это лучшая книга / информация о неразглашении информации на планете?
Начиная с C# 3.0: введение в объектно-ориентированное программирование
Эта книга для тех, кто хочет понять, почему и как ООП использует C# 3.0. Вы не хотите его пропустить.
Читаю сейчас Гибкая разработка программного обеспечения, принципы, шаблоны и практики. Для тех, кто интересуется XP и объектно-ориентированным дизайном, это классическое чтение.
альтернативный текст http://ecx.images-amazon.com/images/I/519J3P8ANML._SL500_AA240_.jpg
Я тоже слышал об этом хорошие отзывы, но об этом уже упоминалось ранее, см .: stackoverflow.com/questions/1711/… (Проголосуйте за это вместо этого - а, хорошо, когда у вас есть репутация, чтобы сделать это :)
Вот отличная книга, которая не так широко приветствуется, но полна глубокого понимания: Гибкая разработка программного обеспечения: совместная игра, Алистер Кокберн.
Что в этом особенного? Что ж, очевидно, что все слышали термин «Agile», и кажется, что в наши дни большинство из них верит. Верите вы в это или нет, но существует несколько глубоких принципов, по которым существует Agile-движение. Эта книга раскрывает и формулирует эти принципы точным, научным образом. Вот некоторые из принципов (кстати, это мои слова, а не Алистера):
Там тоже гораздо больше. Я заткнусь, но я НАСТОЯТЕЛЬНО рекомендую эту книгу!
Уникальный вклад, и вы нашли время, чтобы четко объяснить, почему его стоит прочитать. +1 за оригинальность и старания! Я с нетерпением жду возможности прочитать это скоро ...
Хороший. Не думаю, что вы разочаруетесь.
Мне приходят на ум три книги.
Еще мне нравится написание Пол Грэм.
Введение в GW Basic. Без него я бы никогда не научился программировать, и никакие другие книги не принесли бы мне никакой пользы.
Когда я впервые начал программировать на языках ООП, я нашел эту книгу не только исчерпывающей книгой о C++ и MFC, но и одним из лучших объяснений объектно-ориентированных концепций, которые я когда-либо видел.
Когда я разговариваю с разработчиками, которые только начинают программировать на объектно-ориентированном языке, я говорю им прочитать эту книгу.
Алгоритмы в C++ был неоценим для меня в изучении нотации Big O и тонкостях различных алгоритмов сортировки. Это было опубликовано до того, как Седжвик решил, что может заработать больше денег, разделив их на 5 разных книг.
C++ часто задаваемые вопросы - потрясающая книга, которая действительно показывает вам, что вы должны и чего не должны делать на C++. Обратная совместимость C++ оставляет много мин, и эта книга помогает тщательно их избегать, и в то же время является хорошим введением в объектно-ориентированный дизайн и замысел.
Керниган и Plauger's Элементы стиля программирования. Он иллюстрирует разницу между хитроумным умом и элегантным умом.
Твердый код, оптимизирующий жизненный цикл разработки программного обеспечения
Хотя книга состоит всего из 300 страниц и отдает предпочтение технологиям Microsoft, она по-прежнему предлагает некоторые полезные сведения, не зависящие от языка.
-1 Дубликат более высокого рейтинга, извините
Один из моих личных фаворитов - Хакерское наслаждение, потому что читать его было так же интересно, как и познавательно.
Надеюсь, скоро выйдет второе издание!
+1 за "Hacker's Delight" Генри С. Уоррена-младшего - это не про хакерство в популярном смысле, а хакерство, как в низкоуровневом твиддлинге и других "хаках" в истинном и оригинальном смысле этого слова. Не для всех, но если вы занимаетесь оптимизацией кода, компиляторами и т. д. Или просто ботаник, интересующийся низкоуровневыми вещами, то это отличная книга.
Я прочитал большинство книг, получивших высокие оценки по этому вопросу - но не все из них (слава Богу!), А остальные я сразу добавил в свой Список желаний Amazon!
(Кто-то должен создать список этих книг на Amazon ... Может быть, список с названием: «Лучшие книги Stackoverflow на свете»? Кто-нибудь знает, как это сделать?)
Для меня лучшей книгой была Код завершен. Это было откровением. Я купил 2-е издание на английском, а затем на французском, и я до сих пор считаю, что это обязательное чтение в любой школе информатики. Структура данных - это круто, но полный код, без шуток, гораздо важнее ...
Затем моей второй лучшей книгой была Написание твердого кода - когда я научился быть понятым, было здорово уметь писать надежный код.
Потом много очень хороших книг, но не о ком здесь упоминать. До 2001 года я думал: Рекомендации по проектированию каркаса: Соглашения, идиомы и шаблоны для многоразовых библиотек .NET. Жемчужина! Я читал эту книгу много раз, и она все еще лежит у меня на столе рядом с ЖК-дисплеем вместе с Code Complete (правда!). Мне нравится, как это было написано (люблю комментарии, которые были добавлены здесь и там - все книги должны быть написаны именно так!)
Но что ж, я забываю самые первые отличные книги, которые прочитал! Те, кто с энтузиазмом делают меня люблю информатикой:
Ну отличный вопрос: о)
Концепции, методы и модели компьютерного программирования.
альтернативный текст http://ecx.images-amazon.com/images/I/51YZ50ZR13L._SL500_AA240_.jpg
Блестяще, на обложке книги изображена «Саграда Фамилия», большая римско-католическая базилика, строящаяся в Барселоне, Каталония, Испания. Срок сдачи - 2026 год (осталось 17лет). Как и большинство программ, даже с лучшими книгами они никогда не заканчиваются ...
Все книги Думая ....
Брюс Экель - гений педагогики! Реализацию полиморфизма в C++ так легко понять. Он содержит все, что вам следует знать о C++, основных и дополнительных концепциях. Намного лучше, чем у Страуструпа. Я выучил с ним и Java.
И последнее, но не менее важное:
Версия C++ бесплатна!

В прошлом году я прошел несколько занятий. Я читал
Дилемма новатора (прорывные технологии)
Мифический месяц человека (программное обеспечение для управления)
Crossing the Chasm (стартап)
Системы управления базами данных, Книга COW
Программирование на C#, Книга OSTRICH
Начинающие разработчики iPhone, Книга ГРЕЙПФРУТ
Каждая книга была потрясающей, но «Дилемма новатора» Клейтона Кристенсена (1997 !!!) действительно фантастическая книга, и она заставила меня задуматься о современном мире программного обеспечения. Решается проблема подрывных технологий и того, как компании, производящие дисковые накопители, и нетехнические компании всегда подрываются новыми, меняющими правила игры технологиями. Это дает новый взгляд на то, что думаешь о Google, возможно, самой большой "веб-компании". Почему они приложили руку ко ВСЕМУ? Это потому, что они не хотят иметь свою позицию разрушен чем-то новым. Предварительного просмотра в Google достаточно, чтобы понять суть. Прочтите это!
Я думаю, что эта книга довольно однообразная. Рекомендую прочитать первую 1/4.
Добавляем к упомянутым выше великим:
Паттерны архитектуры корпоративных приложений
Шаблоны корпоративной интеграции
Можете ли вы отредактировать это и сделать так, чтобы он ссылался на тот, который еще не упоминался с большим количеством голосов, чтобы я мог изменить свой -1 за то, что не читал Q, на +1 для EIP, пожалуйста?
Поскольку я программист на C# и уже упоминалось большинство общих книг, я бы порекомендовал книгу Билла Вагнера "Более эффективный C#.
Я думаю, что большинство людей, которые разрабатывают составные WPF-приложения, также должны взглянуть на Руководство Microsoft по составным приложениям (также известное как Prism):
Руководство по составным приложениям
-1: Можно, пожалуйста, один не дубликат?
Книга Питера Нортона по языку ассемблера для IBM PC

Я провел бесчисленное количество ночей перед компьютером (DOS), исследуя неизведанные миры :-D
Совершенное программное обеспечение: и другие иллюзии относительно тестирования
НАЗВАНИЕ Обложка http://ecx.images-amazon.com/images/I/51j3BSRspAL._SL500_AA240_.jpg
Совершенное программное обеспечение: и другие иллюзии относительно тестированияДжеральд М. Вайнберг
ISBN-10: 0932633692
ISBN-13: 978-0932633699
Насколько влиятельна книга, часто зависит от читателя и от того, на каком этапе своей карьеры он читал книгу. Я должен поблагодарить Шаблоны проектирования Head First. Великая книга и очень творческий способ ее написания должны использоваться в качестве примера для других авторов технических книг. Т.е. он написан для облегчения изучения и усвоения концепций.
Шаблоны проектирования Head First http://ecx.images-amazon.com/images/I/51LSqrgoT1L._SS500_.jpg
Я проверил это в своей местной библиотеке и вернул его, сделав всего около 50 страниц. Стиль "Head First" с размещением картинок и заметок на каждой странице может быть эффективным способом обучения для немного, но у меня как у человека с синдромом дефицита внимания взорвалась голова. Я просто не могла сосредотачиваюсь на содержании. Я предпочитаю оригинальную книгу «Банда четырех» за ту же информацию.
Дизайн, управляемый доменами, Эрик Эванс - замечательная книга!
Объяснение экстремального программирования: примите изменения Кент Бек. Хотя я не сторонник жесткого подхода к разработке программного обеспечения, основанному на XP, мне жаль, что меня познакомили с принципами, изложенными в этой книге, гораздо раньше в моей карьере. Модульное тестирование, рефакторинг, простота, непрерывная интеграция, стоимость / время / качество / объем - все это изменило мой взгляд на разработку. До Agile все было связано с отладчиком и боязнью запросов на изменение. После Agile эти демоны не казались такими большими.
Практика программирования. Брайан В. Керниган, Роб Пайк.
Показанный здесь стиль превосходен - код говорит сам за себя, и вся книга следует принципу KISS. Лично я не предпочитаю языки, но все же оказал на меня влияние.
-1 Дубликат stackoverflow.com/questions/1711/…
Кажется, большинство людей уже коснулись некоторых очень хороших книг. Мне действительно помог Эффективный C#: 50 способов улучшить свой C#. Было бы упущением, если бы я не упомянул Дао Пуха. Книги по философии могут быть полезны и для души, и для кода.
-1: Повторяющийся пост с более высоким голосом. Пожалуйста, удалите, чтобы очистить эту тему. Даже если тот, у кого больше голосов, новее, пожалуйста, возьмите один, чтобы команда убрала этот беспорядочный вопрос и дайте ответам в целом получить то значение, которое они должны иметь.
Один, которого я здесь еще не видел, был Шаблоны тестов xUnit: рефакторинг тестового кода Джерарда Месароша. Эта книга действительно помогла мне взглянуть на модульное тестирование с новой точки зрения.
"Практика программирования" Брайана Кернингана и Роба Пайка.
Язык легкий, а тематика интересная.
Я опаздываю с этим вопросом, но, по-видимому, все еще могу предложить что-то уникальное ... Экономика программной инженерии от Барри Бём, который, подытоживая, говорит, что если вы действительно хотите повысить продуктивность программного обеспечения, привлекайте лучших людей, поскольку лучше инструменты, оборудование, языки, методы и т. д... все будет иметь незначительное влияние. Только лучшие люди значительно повышают производительность. Подчеркиваю, это инженеры лучше, а не инженеры!
Не из тех книг, которые вы бы взяли с собой в постель, как, например, с Кодеры на работе, а из тех, которые преподносят урок, который наша отрасль изо всех сил пытается принять близко к сердцу. Свидетельствуйте оффшоринг: ложная экономика, предсказываемая моделью Бема, будет иметь лишь незначительный положительный эффект, если вообще будет иметь. Проверить это.
Важное чтение для любого наставника / руководителя группы / менеджера или любого, кто подчиняется вышеупомянутому.
хакеры, Стивен Леви.
На первом месте должны стоять личность и образ жизни. Все остальное можно узнать.
Расширенное программирование в среде UNIX - У. Ричард Стивенс
Что случилось с "Экспертное программирование на языке Си - секреты глубинного языка" Питера Ван Дер Линдена - классического и приятного чтения. Должен был прочитать это сразу после изучения C много лет назад, но понял это примерно через 3 года изучения C! Рекомендуемая книга, которая отвечает на самые распространенные вопросы SO по указателям (моя любимая тема). Живи этим, ешь, дыши! 10/10!
Это книга, которую должен прочитать каждый программист: Концепции системы баз данных от Абрахама Зильбершаца.
альтернативный текст http://images.barnesandnoble.com/images/14870000/14878097.JPG
Пусть он сейчас сидит у меня на столе более 7 лет назад, когда я был подающим надежды студентом CS :)
Это очень богатая и полезная компиляция, однако я немного удивлен, что не встретил среди авторов Эндрю С. Таненбаума. ИМО, он является одним из лучших профессоров CS, и его гений в основном связан с его необычайной способностью делать довольно сложные материалы доступными для студентов бакалавриата CS. Его книги («Современные операционные системы» или «Компьютерные сети» могут вызвать в колокол) отлично поработал, предоставив мне прочную основу в CS, пока я выполняю свою BS, и я очень рекомендую их. Еще кое-что интересное о Таненбауме, доказывающее, что его навыки выходят за рамки преподавания: автор ОС под названием MINIX - Линус черпал из нее свою долю вдохновения при внедрении Linux; Amoeba - распределенная ОС; Черепаха - бесплатная анонимная p2p сеть.
Стена текста. Что вы порекомендуете?
Действительно хорошая книга. На высоком уровне разбирается в важнейших областях информатики. Да, CS! = Программирование, но это все равно полезно каждому программисту.
Искусство игрового дизайна - книга объективов, Джесси Шелл
Jesse Schell has taught Game Design and led research projects at Carnegie Mellon’s Entertainment Technology Center since 2002.
Достаточно.
Искусство игрового дизайна - книга объективов http://i50.tinypic.com/iekw0l.jpg
PS: Извините, если я дважды публикую, я не смог найти эту книгу в ответах - либо потому, что название было неточным, либо не было изображения. Сообщите мне, и я удалю его, если так.
Что каждый программист должен знать о памяти
Ульрих Дреппер - объясняет структуру современных подсистем памяти и предлагает способы их эффективного использования.
PS: Извините, если я дважды публикую.
97 вещей, которые должен знать каждый программист
Эта книга объединяет коллективный опыт некоторых из лучших программистов мира. Это необходимо прочитать.
Руководство мистера Банни по ActiveX
+1 Вы не анонимный, а еще один Пол Митчелл, который не будет подробно рассказывать о своем профиле! (На самом деле нет +1, так как голоса в этой ветке уже израсходованы на пути к странице 8!)
Мой голос: «Как думать как компьютерный ученый: обучение с помощью Python». Он доступен как книга, так и как бесплатная электронная книга.
Это действительно помогло мне понять основы не только Python, но и программирования в целом. Хотя он использует Python для демонстрации концепций, они применимы к большинству, если не ко всем языкам программирования. Также: ЭТО БЕСПЛАТНО!

Руководство программиста по IBM PC. Книга "Розовая рубашка".
... ну, кто-то должен был это сказать.
IIRC, у меня это было. Много низкоуровневого унижения в MS-DOS и BIOS.
You.Next (): продвиньте свою карьеру в области разработки программного обеспечения на вершину лидерства ~ Майкл С. Финли (автор), Хонза Федак (автор) текст ссылки
Maverick!: История успеха самого необычного рабочего места в мире
альтернативный текст http://ecx.images-amazon.com/images/I/410TX7YN94L._SL500_AA300_.jpg
Заставит вас понять, каким должно быть рабочее место.
Типы и языки программирования Бенджамина С. Пирса за глубокое понимание основ языков программирования.
Концепции дизайна на языках программирования от FA Turbak производит подробные реализации многих концепций программирования и очень полезен для понимания того, что происходит под капотом.
Практика программирования
и
Как решить на компьютере
Оборотная сторона салфетки, автор: Дэн Роам.
Обратная сторона салфетки http://www.coverbrowser.com/image/bestsellers-2008/302-7.jpg
Отличная книга о техниках визуального мышления. Также есть редакция расширенный. Я не могу говорить об этой версии, так как не владею ею; пока что.

Мастерство: ключи к успеху и долгосрочному исполнению, Джордж Леонард
Речь идет о том, какой образ мышления требуется для достижения мастерства в каком-либо навыке и почему. Это просто потрясающе, и его тоже легко читать.
+1: люблю эту книгу. Хотя ... Это определенно не самая влиятельная книга по программированию, учитывая, что большинство людей о ней не знают.
Это была действительно отличная книга, которая помогает мне совершенствоваться во всех моих хобби и увлечениях.
Язык Python оказал на меня большое влияние, я бы хотел прочитать эту книгу много лет назад. Красота и простота языка Python действительно повлияли на то, как я писал код на других языках.


Я думаю, что обучение новых программистов на Python уменьшит количество уродливого кода в мире. Я работаю с кем-то, кто делает случайные отступы в строках - этот человек не стал бы этого делать, если бы работал с Python несколько месяцев.
Я думаю, что начало работы новых программистов с Python уменьшило бы количество других языков.
Эти обложки - совпадение?
Корпоративные шаблоны и MDA: создание лучшего программного обеспечения с шаблонами архетипов и UML
Отличное чтение для тех, кто хочет использовать ORM и UML

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

Программирование с нуля. Это бесплатно в Интернете. Эта книга научила меня асмам AT&T. Его очень легко читать.

Написание твердого кода Стива Макгуайра
Руководство по TCP / IP, Чарльз М. Козиерок
Хотя он описан как «энциклопедический справочник», невероятно читается как повествование.
Этот автор дает очень, очень, очень хорошо написанное, исчерпывающее введение в сети и инфраструктуру, лежащую в основе Интернета. То, что должны знать все программисты.
Для меня это естественное продолжение «Код» Чарльза Петцольда. Если «Код» объясняет неспециалисту, как работают компьютеры, «Руководство по TCP / IP» объясняет, как они соединяются друг с другом.
Если вы дадите 12-летнему гику копию «Код» и копию «Руководства по TCP / IP» - они построят следующий Google к 17 годам.
Другими словами, если бы я мог вернуться в прошлое и посоветовать себе прочитать конкретную книгу в начале моей карьеры разработчика, это (плюс Код) было бы в верхней части моего списка.
Вначале была командная строка. Нил Стивенсон.
Или просто прочтите это с его сайта: cryptonomicon.com/beginning.html
Просмотр этой темы заставил меня понять, насколько уродливы большинство книг по программированию. Хотя очень хорошая ветка!