Какие книги, не связанные с программированием, должны читать программисты?

Это poll, в котором сообщается сообществу Stackoverflow, какие не-программируемые книги, которые они рекомендуют другим программистам.

Перед публикацией прочитайте следующее:

  • Пожалуйста, опубликуйте только ОДНУ КНИГУ НА ОТВЕТ.

  • Пожалуйста, найдите свою рекомендацию на этой странице перед публикацией (есть над NINE PAGES, поэтому рекомендуется проверить их все). Многие книги уже предложены, и мы хотим избежать дубликатов. Если вы обнаружите, что ваша рекомендация уже присутствует, проголосуйте или добавьте комментарий.

  • Просьба уточнить по почему, по вашему мнению, данная книга стоит читать с точки зрения программиста.

Примечание: эта статья похожа и содержит другие полезные предложения.

Ответ 1

Автостопом по галактике

Дугласа Адамса

alt text

Жизнь, вселенная и все

"Посмотрите сначала, подумайте позже, затем проверьте, но всегда смотрите сначала, иначе вы увидите только то, что ожидаете. Большинство ученых этого забывают". - Wonko the Sane

Ответ 2

Как завоевать друзей и повлиять на людей

Дейл Карнеги

Как завоевать друзей и влиять на людей http://g-ecx.images-amazon.com/images/G/01/ciu/38/3c/0432c6da8da0f79a93332110._AA240_.L.jpg

Хотя это было впервые опубликовано в 1936 году, совет, содержащийся в нем, по-прежнему столь же свежий и уместен, как и прежде. Не откладывайте это имя. Это не какое-то руководство для вас, чтобы иметь свой путь с ничего не подозревающими жертвами, а скорее здравый совет о том, как жить с людьми, как развивать отношения и максимально использовать себя и своего ближнего (и женщину).

Хорошо известно, что технические люди (в том числе программисты) часто считаются не страшными "ориентированными на людей" (независимо от того, является ли это обоснованным стереотипом или нет, является предметом другого обсуждения), и поэтому эта книга является неоценимым ресурсом для обучая вас более тонким аспектам человеческого взаимодействия.

Это тепло, сердечно, крепко, прямо и безвременно написано. Очень рекомендуется.

Ответ 9

Не заставляйте меня думать Стивем Крюгом. Важная книга о удобстве использования в Интернете. Как сказал Круг, "здравый смысл не всегда очевиден".

alt text http://ecx.images-amazon.com/images/I/51W8l2Zy3WL._SL500_AA240_.jpg

(Подсказка: Amazon.com имеет хорошее удобство использования)

Обновление: теперь это часть библиотеки на работе. До сих пор мне было около пяти человек. 100% положительные отзывы, предсказуемо.

Ответ 10

Peopleware: продуктивные проекты и команды

Том ДеМарко и Тимоти Листер

alt text http://ecx.images-amazon.com/images/I/51MlUgcSICL._SL500_BO2,-64_OU01_AA240_SH20_.jpg

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

Получите две копии: одну для вас и одну для своего менеджера.

Ответ 11

Zen и техническое обслуживание мотоциклов

Роберт М. Пирсиг

alt text

В этой книге много всего, но вы могли бы сказать, что это своего рода философский подход к тому, что означает "что-то".


Комментарий от Гарт Гилмор:

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

Центральная нить в книге заключается в том, как наши романтические (художественные) и классические (технические/рациональные) восприятия мира происходят от того, как мы воспринимаем качество в окружающей среде вокруг нас. Это понимание затем применяется к очевидным мирским задачам, таким как обслуживание мотоциклов.

Чтобы привести некоторые примеры того, как это относится к кодированию:

  • Раздел о том, как подойти к мотоциклу с "образцовым мышлением", который ведет к прогрессу, также применим к достижению "зоны" в программировании.
  • Раздел "ловушки для гуммирования", которые препятствуют прогрессу и приводят к повреждению машины, бесценен. Представленные решения также работают при попытке изменить устаревший код без появления ошибок.
  • Раздел о том, как чисто классическое описание части двигателя бесполезно (поскольку ему не хватает места для пользователя), должен быть прочитан любым, кто участвует в анализе требований.

Короче говоря, его хорошо читать: -)

Ответ 14

Cryptonomicon

Нил Стивенсон

Cryptonomicon by Neal Stephenson

В этой книге рассказывается о параллельных рассказах о разрыве кода Второй мировой войны и о его нынешнем потомке и много говорится о развитии компьютеров (Алан Тьюринг на самом деле является персонажем в книге). Выродка должна быть прочитана!

Ответ 15

Элементы стиля

Уильямом Струнком и Э.Б. Белый

alt text

Мы получили копию в нашей библиотеке R & D после того, как встретили Джошуа Блоха (из эффективной славы Java) рекомендация для нее:

Этот тонкий том проповедует Евангелие простоты и ясности, как это относится к английской прозе. Если вы примете это близко к сердцу, это улучшит ваше кодирование, а также вашу прозу.

В другое интервью Блох уточняет, почему это хорошо для программистов:

Я считаю, что чтение Strunk and White сделает вас лучшим разработчиком, потому что хорошее программирование и хорошее письмо - это как ясность, так и экономичность выражения. Вы не можете написать хороший код или хорошую прозу, если не понимаете, что именно вы пытаетесь сказать. Многие из Strunk и White предупреждений имеют прямые аналогии для программного обеспечения. Например, Струнк и Уайт говорят: "Опустите ненужные слова!" где Энди Хант и Дейв Томас ( "Прагматические программисты" ) говорят: "Не повторяй себя". Странные и белые говорят: "Пересмотрите и перепишите", где Мартин Фаулер говорит "рефакторинг". И этот список продолжается.

Теперь, лично я думаю, что некоторые из советов в The Elements of Style немного устарели, поскольку развитие английского языка эволюционировало (например, в настоящее время вполне нормально начинать предложение с "Однако" или использовать "надеюсь", вместо "надеюсь" ). Но по большей части я согласен с г-ном Блохом и наслаждаюсь чтением этого.

Изменить: О, вот что Джефф Этвуд недавно должен был сказать об Элементах стиля. Возможно, он еще более известный здесь, чем Джош Блох;)

Ответ 17

Искусство войны - Солнце Цзы

The Art of War

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

Это знание, несомненно, будет полезно в повседневных "битвах", с которыми нам приходится сражаться в офисе и из офиса. Он также заполняется кавычками, которые вы можете произвести на своих товарищей-программистов...:)

Ответ 18

Моя рекомендация: прочитать все, что находится за пределами вашей обычной области.

В самом деле - все расширит горизонт. Это касается не только программистов и разработчиков. Я думаю, что каждый будет лучше проявлять интерес к чему-то, что вы уже не проводите 8-12 часов в день.

Лично я иногда чувствую себя настоящим идиотом из реальной жизни, потому что моя личная библиотека книг по всем темам, связанным с компьютерами, растет и растет, и я никогда не могу расслабиться - я имею в виду, я провожу примерно 10 часов в день с ними и затем я читаю книгу о шаблонах дизайна, прежде чем ложиться спать. Как это заболело?;)

Мое настоящее убежище - это моя подписка на газеты, а также различные другие журналы, которые я собираю каждый раз, когда я иду на газетный киоск. Большинство из них не имеют ничего общего с технологией и программированием. У меня была привычка выходить на кофе утром, брать газету и читать что-то еще, встречаться с друзьями и просто болтать.

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

Ответ 20

Льюис Кэрролл "Алиса приключений в стране чудес"

Alicesadventuresinwonderland1898.jpg

Ответ 22

Действительно? Никто еще не упомянул Властелин Колец?

alt text http://upload.wikimedia.org/wikipedia/en/6/62/Jrrt_lotr_cover_design.jpg

В дополнение к тому, чтобы быть захватывающим текстом в нем, он также является основой (почти всех) современной фантазии. (Кроме того, и, возможно, больше для группы программистов, одного из основных источников вдохновения для Dungeons and Dragons.)

Назад, три книги, которые каждый программист должен был прочитать, чтобы иметь возможность участвовать в обеденном разговоре, были Властелином колец, Дюны и Автостопом. (Это небольшое преувеличение.)

Если вы только видели фильмы, попробуйте книги.

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

Ответ 23

Flatland, автор Abbott alt text

Ответ 25

Буквенные буквы

С. С. Льюиса

Представьте, что демон "программирует" человека...

Ответ 26

Neuromancer

Уильям Гибсон. Он придумал термин киберпространство, и триология разрастания - причина, по которой я хотел быть ковбоем кода.

alt text

Ответ 28

Заключенные прибегают к убежищу

Алана Купера

alt text http://ecx.images-amazon.com/images/I/51AGVJzr9LL._SL500_BO2,204,203,200_AA219_PI.jpg

Об использовании правильного языка для обсуждения проектов - используя рассказы (и персонажи) вместо "функций", чтобы говорить о вещах, которые необходимо реализовать. Также большое внимание уделяется дизайну взаимодействия и смежным видам деятельности. Выполняя то, что нужно, а не то, что требуется.

Ответ 30

7 привычек высокоэффективных людей

Стивена Кови

http://bloggybiz.com/wp-content/uploads/2008/02/stephen-covey-7-habits-of-highly-effective-people.jpg

Вам не хватает своего потенциала, если вы не читали эту книгу.

Первоначально взято из поста @John Channing

Изменить: теперь доступна как бесплатная аудиокнига.

Комментарии Julie:
Эта книга имеет универсальную ценность - не только для разработчиков программного обеспечения. Принимая во внимание, что "Getting Things Done" помогает вам управлять повседневной активностью, "7 привычек" помогают вам сохранить видение жизни на высоком уровне и общую методологию, которая вам нужна для того, чтобы превратиться в специфику. Это идеальное дополнение к созданию вещей в этом отношении.