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

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 ответов

"Мир является Плоским" Thomas Friedman.

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

Программирование уже разрушило на грани оплаты меньше, чем, скажем, инфраструктура. Инфраструктура не может быть "offshored". Вы не должны платить 2 395$ для посещения Конференции Профессионального Водопроводчика через год для полномочия получения совершенно нового набора инфраструктуры технологий, которые возьмут Вас год для изучения.

, Если Вы живете в Северной Америке или Европе, молоды, и умны, программирование не является рациональным выбором профессии. Компании, что включают программирование, абсолютно. Изучите бизнес, знайте достаточно о программировании для совершенствования детектора БАКАЛАВРА НАУК: блестящий. Но выделяя львиную долю Вашей умственной энергии к мастерству библиотек, структур данных и алгоритмов? То единственное имеет смысл, если программирование - что-то больше Вам, чем экономический выбор.

, Если Вы любовь программирование и по этой причине намереваетесь сделать его Вашей карьерой, тогда Вам надлежит разрабатывать трезвое понимание сил, которые являются и продолжат, для создания его более трудной и более трудной профессией, в которой можно зарабатывать на жизнь. "Мир является Плоским", не будет учить Вас, что назвать Ваши переменные, но он погрузит Вас в течение 6 или 8 часов в экономических фактах, которые уже имеют , прибыл. Если можно считать его, и не пугаться, тогда выходят и покупают "Завершенный Код".

8
ответ дан Larry OBrien 26 September 2011 в 15:39
поделиться

Я думаю, что "Искусство Программирования Unix" является превосходной книгой превосходным хакером / блестящим умом как Eric S. Raymond, который пытается заставить нас понять несколько принципов разработки программного обеспечения (простота главным образом). Эта книга - необходимость для каждого программирования, кто собирается запустить проект под платформой Unix.

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

@Peter Coulton - Вы не читаете Knuth, Вы изучаете его.

Для меня и моей работы... Чисто Функциональные Структуры данных является большим для размышления и разработки с функциональными языками в памяти.

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

Я нашел "Искусство Пролога" очень хорошим чтением.

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

Факты и Ошибки Разработки программного обеспечения Robert L. Glass http://www.codinghorror.com/blog/images/facts-and-fallacies-of-software-engineering.jpg

Факты и Ошибки Разработки программного обеспечения Robert L. Glass является действительно превосходной книгой. Я был профессиональным хакером в течение почти 10 лет, прежде чем я считал его, и я все еще изучил тонну материала.

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

Работа Эффективно с Унаследованным кодом является действительно удивительной книгой, которая вдается в большие подробности о том, как к правильно модульному тесту Ваш код и каково истинное преимущество его. Это действительно открыло мои глаза.

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

Читайте Главные Первые Шаблоны разработки для намного более доступного введения, чем книга GoF. Я не забываю чувствовать, что я выровнял после каждой главы.

Kent Beck Разработка через тестирование Примером для TDD.

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

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

Одна из самых влиятельных книг я читал, был APUE.

Или в значительной степени что-либо W. Richard Stevens.

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

Roger S. Pressman - Разработка программного обеспечения (Подход Практиков). Это имеет большую полезную информацию.

2
ответ дан Gürkan Yeniçeri 26 September 2011 в 15:39
поделиться

Завершенный код является выбором номер один, но я также процитировал бы Банду Шаблонов разработки Four и Применения Craig Larman UML и Шаблонов.

Бесконечный Способ Создать, Christopher Alexander, является другим большой. Даже при том, что это о archtecture, это включено в библиографию многих замечательных книг программирования, которые я уже прочитал.

Другой, из которого я узнаю о большом количестве новых вещей, является Шаблонами Доступа к данным Клифтонской Зарубкой.

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

Я был arounda, в то время как, так большинство книг, что я нашел влиятельными, не обязательно применяется сегодня. Я действительно полагаю, что универсально важно понять платформу, которую Вы разрабатываете для (и аппаратные средства и ОС). Я также думаю, что важно научиться на других ошибках народов. Таким образом, две книги, которые я рекомендовал бы:

Вычислительные Бедствия и В поисках Глупости: более чем Двадцать лет Высоких Технических Маркетинговых Бедствий

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

Кодируете ли Вы в Smalltalk или не , Шаблоны Лучшей практики Smalltalk являются большим чтением. Полный маленьких наблюдений, которые изменят способ, которым Вы кодируете; к лучшему.

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

Никто, кажется, не упомянул Stroustup Язык Программирования на C++ , который является замечательной книгой, которую должен прочитать каждый программист на C++.

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

я был бы второй рекомендации для Knuth и Gang Четыре, которые являются классикой.

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

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

Искусство Пролога

Ремесло Пролога

действительно открывает ум для схем рекурсии и логического программирования.

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

Это не могло бы рассчитать как "книга разработки", но я должен добавить ее так или иначе: Хакеры Stephen Levy. Я нашел, что это говорило с эмоциональной стороной программирования.

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

Самая влиятельная книга программирования для меня была Достаточно Веревки для Стрельбы в в Ноге Allen Holub .

Обложка книги http://ecx.images-amazon.com/images/I/71AE90J735L._SL500_AA240_.gif

O, ну, в общем, когда это было.

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

Я удивлен, что нет никакого упоминания еще об этой книге: Стартовый Forth, Leo Brodie. После того, как весь Forth, будучи стековым языком, должен соответствовать аудитории на этом сайте...

По общему признанию, Forth является странным языком и не очень популярный в эти дни. Но эта книга является радостью для чтения. И это имеет мультфильмы! Книга, а также другая книга Brodie, Интеллектуальный Forth, оба доступна бесплатно в сети.

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

Совершенно новое Мышление, Daniel Pink. Интересное взятие на будущем нашей промышленности.

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

сопроводительный текст http://www.danpink.com/images/wnm.jpg

3
ответ дан 2 revs 26 September 2011 в 15:39
поделиться
  • Код, Завершенный (2-й выпуск) Steve McConnell
  • Прагматически настроенный Программист
  • Структура и Интерпретация Компьютерных программ
  • Язык программирования C Kernighan и введением Ritchie
  • в Алгоритмы Cormen, Leiserson, Rivest & Глиняная кружка
  • Шаблоны разработки Бандой Четыре
  • Рефакторинг: Улучшение Дизайна Существующего Кода
  • Мифический Месяц Человека
  • Искусство Программирования Donald Knuth
  • Компиляторы: Принципы, Методы и инструменты Alfred V. Aho, Ravi Sethi и Jeffrey D. Ullman
  • GГ¶del, Escher, Холостяк Douglas Hofstadter
  • Чистый Код: Руководство Гибкого Мастерства программного обеспечения Robert C. Martin
  • Эффективный C++
  • Более эффективный C++
  • КОД Charles Petzold
  • Жемчуг Программирования Jon Bentley
  • Работа Эффективно с Унаследованным кодом Michael C. Feathers
  • Peopleware Demarco и кодерами Lister
  • на Работе Peter Seibel
  • , Конечно, Вы Шутите, г-н Feynman!
  • Эффективный Java 2-й выпуск
  • Шаблоны Архитектуры приложений для предприятия Martin Fowler
  • Маленький Интриган
  • Закаленный Интриган
  • , Почему (Острое) Руководство по Ruby
  • , Обитатели Выполняют Убежище: Почему Высокие Технические продукты Сводят Нас с ума и Как Восстановить Исправность
  • Искусство Разработки через тестирование Программирования
  • Unix: Примером Kent Beck
  • Методы Гибкого Разработчика
  • не Заставляют Меня Думать
  • Гибкая разработка программного обеспечения, Принципы, Шаблоны и Методы Robert C. Martin
  • Доменные Управляемые Проекты Eric Evans
  • Дизайн Повседневных Вещей Donald Norman
  • современный Дизайн C++ Andrei Alexandrescu
  • Лучшее программное обеспечение, Пишущий I Joel Spolsky
  • Практика Программирования Kernighan и Щукой
  • Прагматические Взгляды и Изучение: Осуществите рефакторинг Свой Wetware Andy Hunt
  • Оценка программного обеспечения: Демистифицирование Черной магии Steve McConnel
  • Влюбленный Программист (Мое Задание Перешло К Индии) Chad Fowler
  • Хакеры: Герои Компьютерной революции
  • Алгоритмы + Структуры данных = Программы
  • Код Тела Записи
  • JavaScript - Хорошие Части
  • Получение реального 37 Сигналами
  • Основы Программирования Karl Seguin
  • Компьютерная графика: Принципы и Практика в C (2-й Выпуск)
  • Взгляды в Java Bruce Eckel
  • Элементы Вычислительных систем
  • Рефакторинг к Шаблонам Joshua Kerievsky
  • современные Операционные системы Andrew S. Tanenbaum
  • Аннотируемые вещи Turing
  • , Которые Делают Нас Умными Donald Norman
  • Бесконечный Способ Создать Christopher Alexander
  • Крайний срок: Роман Об управлении проектами Tom DeMarco
  • Язык Программирования на C++ (3-й выпуск) шаблонами Stroustrup
  • Архитектуры приложений для предприятия
  • Компьютерные системы - Перспектива Программиста
  • Гибкие Принципы, Шаблоны и Методы в C# Robert C. Martin
  • Growing Object-Oriented Software, Ведомая Тестами
  • Руководство по проектированию Платформы Brad Abrams
  • Объект, Думая доктором David West
  • Усовершенствованное Программирование в Среде UNIX W. Richard Stevens
  • Хакеры и Живописцы: Большие Идеи от Века компьютеров
  • Душа Новой Машины Tracy Kidder
  • CLR через C# Jeffrey Richter
  • Бесконечный Способ Создать Christopher Alexander
  • Шаблоны разработки в C# Steve Metsker
  • Алиса в Стране чудес Lewis Carol
  • Дзэн и Искусство Обслуживания Мотоцикла Robert M. Pirsig
  • О Поверхности - Основы Дизайна
  • Взаимодействия Здесь Прибывают Все: Питание Организации Без Организаций Clay Shirky
  • Tao Программирования
  • Вычислительная Красота природы
  • Код Тела Записи Steve Maguire
  • Philip и Руководство Alex по Веб-публикациям
  • Объектно-ориентированный Анализ и проектирование с Приложениями Grady Booch
  • Эффективный Java Joshua Bloch
  • Исчисляемость N. J. Тайные лидеры Cutland
  • Программирования
  • Tao Te Ching
  • Продуктивный Программист
  • Искусство Обмана Kevin Mitnick
  • Профессиональный Программист: Партизанская Тактика для Несовершенного Мира Christopher Duncan
  • Парадигмы Программирования Искусственного интеллекта: Тематические исследования в языке Common LISP
  • Masters Гибели
  • Прагматическое Поблочное тестирование в C# с NUnit Andy Hunt и Dave Thomas с Matt Hargett
  • , Как Решить Его George Polya
  • Алхимик Paulo Coelho
  • Smalltalk-80: Язык и его Реализация
  • Безопасный код Записи (2-й Выпуск) Michael Howard
  • Введение в Функциональное программирование Philip Wadler и Richard Bird
  • Никакие Ошибки! David Thielen
  • Переделывают Jason Freid и DHH
  • JUnit в Действии
1745
ответ дан 9 revs, 8 users 83% 26 September 2011 в 15:39
поделиться

Это не прямой ответ на вопрос, потому что я чувствую, что ему уже ответили выше, однако, одна из книг, которые определенно оказали влияние на то, как я кодирую, Чтение кода, Объем 1: Перспектива С открытым исходным кодом .

сопроводительный текст http://g.bookpool.com/covers/405/0201799405_140_30O.gif

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

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

C++, Как к Программе Это хорошо для новичка. Это - превосходная книга, настолько полная вместе с 1 500 страницами.

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

дискретная математика Для Программистов http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

дискретная математика Для Программистов J.K. Связка.

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

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

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

Схема Schaum Программирования с C++ John R Хаббард.

Это было первой книгой программирования, которую я прочитал, когда я начал с C++. Это было одаренным мне кем-то, кто видел мой интерес к программированию. Книга очень хороша для новичков - она начала с элементарных понятий, подошел к шаблонам и векторам. Данные примеры были довольно релевантны. Книга заставила Вас обдумать и задать больше вопросов и испытать вещи для себя.

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

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

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

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

Объектно-ориентированное программирование в Turbo C++ . Не супер популярный, но это было то, которое запустило меня и было первой книгой, которая действительно помогла мне grok, каков объект был. Считайте этот waaaay назад в средней школе. Это вид приносит слезу к моему глазу...

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

Поскольку столько людей перечислило Главные Первые Шаблоны разработки, которые я согласовываю, очень хорошая книга, я хотел бы видеть раз так многих людей, знающих о заголовке, названном Объясненные Шаблоны разработки: Новый Взгляд на Объектно-ориентированный Дизайн .

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

Этот заголовок также представляет понятие позади шаблонов разработки, касаясь начальной работы Christopher Alexander в архитектуре к GoF, сначала реализовывая документирование шаблонов в SmallTalk.

я думаю, что любой, кто наслаждался Главными Первыми Шаблонами разработки, но все еще находит GoF очень сухим, должен изучить Шаблоны разработки, Объясненные как намного более читаемый (хотя не совсем как всесторонние) альтернатива.

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

Я сказал бы, что" Вне Кода - Учатся Отличаться на 9 Простых Шагах ", вполне хорошая и мотивационная книга. Я не охватываю технические проблемы, но это описывает способы работать с людьми, будучи профессиональным... Для меня это - книга, которую можно прочитать снова и снова, если Вы нуждаетесь в некотором разговоре о бодрости духа. Помимо этого, это дешево и очень легко и приятно читать за 3 - 4 часа.

существует немного обзора, законченного в мой блог .

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

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