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

Go не имеет общих типов, но вы можете посмотреть, как sort работает, чтобы найти обходной путь. Что они делают, так это создать такой интерфейс:

type Interface interface {
    // Len is the number of elements in the collection.
    Len() int
    // Less returns whether the element with index i should sort
    // before the element with index j.
    Less(i, j int) bool
    // Swap swaps the elements with indexes i and j.
    Swap(i, j int)
}

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

1439
задан 18 revs, 13 users 34% 26 September 2011 в 15:39
поделиться

207 ответов

Пользователи когда-либо касаются Вашего кода? Если Вы не делаете только работы бэкенда, я рекомендую О Поверхности: Основы Пользовательского интерфейса Дизайн  — теперь в его третьем (связанном) выпуске. Я раньше думал, что мои пользователи были глупы, потому что они не "получили" мои интерфейсы. Я был, конечно, неправильно. О Поверхности изменил к лучшему меня.

6
ответ дан Garth Kidd 26 September 2011 в 15:39
поделиться

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

Вращение вокруг Гигантского Комка шерсти Gordon MacKenzie

0
ответ дан busse 26 September 2011 в 15:39
поделиться

Руководство г-на Bunny по ActiveX

6
ответ дан 2 revs, 2 users 67% 26 September 2011 в 15:39
поделиться
6
ответ дан Kibbee 26 September 2011 в 15:39
поделиться

" Книжка-раскраска Фортрана" доктор Roger Kaufman (1978, ISBN:0262610264)

, Что глупое понятие - более основной, чем даже "Фиктивная" книга! Но это работает на любой язык (с некоторыми Фортран определенные примеры, конечно), объясняя фундаментальные понятия логики, переменных, i/o, и т.д. очень понятным и "Крайне Забавным" способом.

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

alt text

(Найденный фотографией с обложки на учетная запись пользователя Flickr )

1
ответ дан 3 revs 26 September 2011 в 15:39
поделиться

Программные инструменты Brian W. Kernighan и P. J. Plauger

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

5
ответ дан Bryan Oakley 26 September 2011 в 15:39
поделиться

Отдельно, я упомянул бы Третий Манифест Hugh Darwen и главного судьи Date. Если Вы интересуетесь пониманием данные (который кажется редким среди программистов), эта книга является обязательным для чтения. Это также сделает Вас грустными, когда Вы поймете, как плохо поврежденный SQL, но это также поможет Вам справиться с той уязвимостью. Знание, как инструмент повреждается, позволяет Вам разработать с теми дефицитами в памяти.

2
ответ дан Dave Rolsky 26 September 2011 в 15:39
поделиться

Без определенного порядка кроме того, как они расположены на моей книжной полке:

  • Прагматически настроенный Программист
  • Rafactoring Fowler
  • , Работающим Эффективно с Унаследованным кодом Растушевками. Это - практически сопутствующий объем к Рефакторинг .
  • UML, Дистиллированный Fowler. Среди его других достоинств краткость.
  • Отладка Процесса разработки Steve Maguire
  • Шаблоны разработки (иначе "Банда Четыре") Гаммой и др.
6
ответ дан Eric Pohl 26 September 2011 в 15:39
поделиться
0
ответ дан Stu 26 September 2011 в 15:39
поделиться

Прагматически настроенный Программист: От Подмастерья Ведущему устройству без сомнения. Совет в нем так хорошо представлен и простой, с которым это сталкивается, как будто это был 'Разумный Программист'. Любите его.

6
ответ дан 2 revs 26 September 2011 в 15:39
поделиться
5
ответ дан Mark Biek 26 September 2011 в 15:39
поделиться

Masters гибели. , Насколько мотивация и любовь к Вашей профессии идут: это не доберется немного лучше, чем, что было описано в этой книге, правдиво вдохновляющей истории!

7
ответ дан 2 revs 26 September 2011 в 15:39
поделиться

В то время как я соглашаюсь, что многие книги выше являются должен-чтениями (Прагматически настроенный Программист, Мифический Месяц Человека, Искусство Программирования, и SICP сразу приходят на ум), я хотел бы войти в немного отличающееся направление и рекомендовать Дисциплина А Программирования Edsger Dijkstra. Даже при том, что этому 32 года, акцент на "дизайн для verifiability" очень релевантен (даже если "verifiability" означает "доказательство" вместо этого "модульные тесты").

7
ответ дан joel.neely 26 September 2011 в 15:39
поделиться

Martin Fowler Рефакторинг: Улучшение Дизайна Существующего Кода было уже перечислено. Но я детализирую, почему это повлияло на меня.

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

7
ответ дан icelava 26 September 2011 в 15:39
поделиться

Когда я начал разрабатывать в Java (и все еще делаю так к в тот же день), я должен был бы рекомендовать невыполненную работу в поле: Большой Кубок г-на Bunny o' Java.

От аннотации автора:

нет просто никакого лучшего способа изучить Java, чем иметь шишковидную железу опытного программиста Java, хирургическим путем имплантируемого в Ваш мозг. К сожалению, большинство HMOs отказывается платить за эту карьерную процедуру сохранения, считая Java, чтобы быть слишком экспериментальным. Наконец существует альтернативное лечение для тех из нас, кто не может ожидать широких реформ здравоохранения.

г-н Bunny’s Большой Кубок Java O’ рекомендуется n из десяти врачей, где n является любым целым числом, Вы хотите составить для произведения на удивительно легковерную общественность впечатление. Книга начинается с обзора книги, и быстро расширяется в саму книгу. Только посмотрите на затронутые темы:

  • Java

Короче говоря, MBBCOJ будет учить Вас всех, что необходимо знать для успешной карьеры в today’s средах разработки кролика.

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

6
ответ дан 2 revs, 2 users 97% 26 September 2011 в 15:39
поделиться

Вероятно, "C для Макетов" vol 1, назад в 1997 или около этого. Просто введение действительно, но это было хорошее чтение, взяв вкус к программированию в GFA, Основном на ST Atari. Коронадо C учебное руководство в то же время помог также.

0
ответ дан Desty 26 September 2011 в 15:39
поделиться

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

0
ответ дан David Hayes 26 September 2011 в 15:39
поделиться

У меня есть несколько хороших книг, которые сильно влияли на меня, что я не видел в этом списке до сих пор:

Психология Повседневных Вещей Donald Norman. Общие принципы дизайна для других людей. Это, может казаться, главным образом хорошо для UI, но если Вы думаете об этом, это имеет приложения почти где угодно существует интерфейс, с которым кто-то помимо исходного разработчика должен работать; например, API и разработка интерфейса таким способом, которым другие разработчики формируют корректную умственную модель и получают соответствующую обратную связь от самого API.

Искусство программного обеспечения, Тестирующего Glen Myers. Хорошее, общее введение в тестирование программного обеспечения; хороший для программистов для чтения, чтобы помочь им думать как тестер т.е. думают о том, что может пойти не так, как надо и подготовиться к нему.

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

6
ответ дан Onorio Catenacci 26 September 2011 в 15:39
поделиться

Применение UML и Шаблоны разработки.

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

0
ответ дан workmad3 26 September 2011 в 15:39
поделиться

Мифический месяц человека Fred Brooks http://en.wikipedia.org/wiki/The_Mythical_Man-Month

7
ответ дан Loren Charnley 26 September 2011 в 15:39
поделиться

Существует много голосов за Завершенный Код Steve McConnell, но что относительно его Практические советы для освоения системы Проекта программного обеспечения книга? Я думаю, что они оба требуются, читая, но по разным причинам.

5
ответ дан christefano 26 September 2011 в 15:39
поделиться

Другая книга, которая еще не была упомянута и ДОЛЖНА требоваться, читая для КАЖДОГО программиста, новичков на до гуру, на ЛЮБОМ языке программирования, является Безопасным кодом Записи Michael Howard (2-й Выпуск) от MSPress.

2
ответ дан AviD 26 September 2011 в 15:39
поделиться

K& R

@Juan: Я знаю Juan, я знаю - но существуют некоторые вещи, которые могут только быть изучены путем фактического перехода к задаче под рукой. Разговор в абстрактных идеалах весь день просто превращает Вас в академика. Именно в приложении краткого обзора мы действительно grok причина их существования.: P

@Keith: Большое упоминание об "Обитателях Выполняет Убежище" Alan Cooper - сенсационное сообщение наверняка, любой разработчик, который работал со мной, так как я прочитал ту книгу, услышал, что я упоминаю идеи, которые это поддерживает. +1

9
ответ дан 2 revs 26 September 2011 в 15:39
поделиться

Systemantics: Как Системная Работа и Особенно Как Они Сбой . Получите его, использовал дешевый. Но Вы не могли бы получить юмор, пока Вы не работали над несколькими неудавшимися проектами.

красота книги является годом авторского права.

, Вероятно, самый глубокий "закон" на дом представил в книге:

Фундаментальная Теорема Вида отказа (F.F.T).: Сложные системы обычно работают в виде отказа.

идея, являющаяся, это там приводит к сбою части в любой данной части программного обеспечения, которые маскируются отказами в других частях или проверками в других частях. Посмотрите реальный пример в машина излучения Therac-25 , чьи дефекты программного обеспечения были замаскированы аппаратными средствами failsafes. Когда аппаратные средства failsafes были удалены, состояние состязания программного обеспечения, которое пошло необнаруженное все те годы, привело к машине, уничтожающей 3 человек.

9
ответ дан 2 revs 26 September 2011 в 15:39
поделиться

Этот не действительно книга для начинающего программиста, но если Вы ищете книги дизайна SOA, тогда SOA на практике: Искусство Дизайна Распределенной системы для Вас.

5
ответ дан 2 revs, 2 users 82% 26 September 2011 в 15:39
поделиться

Я недавно считал Полный сновидений в Коде и нашел, что он был интересным чтением. Возможно, больше со дня я начал читать его, Chandler 1.0 был выпущен. Чтение о болезни роста и ошибках проектной группы талантливых людей, пытающихся "изменить мир", дает Вам много для приобретения знаний из. Также Scott поднимает много сведений программиста и мудрости, промежуточной, это - просто интересное чтение.

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

4
ответ дан Patrick Hogan 26 September 2011 в 15:39
поделиться

Мастерство Definitively Software

сопроводительный текст http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg

Эта книга объясняет много вещей о разработке программного обеспечения, разработке системы. Также чрезвычайно полезно понять различие между другим видом разработки продукта: веб-термоусадочная пленка VS VS платформа IBM. Что имели в виду люди, когда они задумали водопадную модель? Считайте это и все, что мы станем ясными (надо надеяться)

9
ответ дан 3 revs, 3 users 62% 26 September 2011 в 15:39
поделиться
2
ответ дан Michał Piaskowski 26 September 2011 в 15:39
поделиться

Pro Spring является превосходным введением в мир Инверсии Управления и Внедрения зависимости. Если Вы не знаете об этих методах и их последствиях - баланс тем и технической детали в Pro Spring превосходен. Это создает большой случай и последовательную персональную основу.

Другой книгой, которую я предложил бы, будет Robert Martin Гибкая разработка программного обеспечения (ASD). Запахи кода, гибкие методы, тестируют управляемый dev, принципы... правильно написанный баланс многих различных фасетов программирования.

более традиционная классика включала бы печально известные шаблоны разработки GoF , Bertrand Meyer Разработка объектно-ориентированного программного обеспечения , Booch Объектно-ориентированный анализ и проектирование , Scott Meyer " Эффективный C++ '" ряд и менее известная книга, которой я наслаждался Gunderloy, Кодер Разработчику .

И в то время как книги хороши..., не забывают радио !

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

(ах да, немного obj-C сегодня, какао завтра, шаблоны? soa? каков был тот пример в той поваренной книге? Что Steve говорил в 1110-секундном выпуске ? Я должен купить эту книгу?... подписка как здорово, если Вы хотели бы некоторую непрерывность и контекст к тому, что Вы гуглите...)

1
ответ дан 2 revs 26 September 2011 в 15:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: