0,0
рейтинг
2 июня 2015 в 07:43

Разработка → Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1 перевод

Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

image

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

Достаточно разговоров. Переходим к книгам!



#1 Новый Омнибус Тьюринга

image

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

Автор: Александр K. Дюдни.

#2 Маленькая книга о Семафорах (бесплатный pdf)

image

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

Автор: Аллен Б. Дауни.

#3 Жемчужины программирования и Ещё больше жемчужин программирования.

  • image
  • image


Жемчужины программирования и Ещё больше жемчужин программирования.

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

Автор: Джон Бентли.

#4 Маленький комбинатор

image

Маленький комбинатор даёт немножко знаний о LISP самым что ни на есть забавным способом. Книга — это диалог между тобой и автором о сотнях мелких программных комбинаций, который помимо прочего учит читателя думать рекурсивно. Эта книга заставит Тебя думать и немного расширит Твоё сознание. Это одна из самых интересных книг программирования из когда-либо написанных.

Авторы: Дэниел П. Фридман и Матиас Фелайзен.

#5 Элементы стиля и Элементы стиля программирования

  • image
  • image


Элементы стиля и Элементы стиля программирования.

«Элементы стиля» — это книга не совсем о разработке или программировании, а скорее об умении писать. Если хочешь быть успешным программистом, необходимо общаться так, чтобы другим людям было понятно, а соответственно и навыки письма просто необходимы. В книге всего 100 страниц и её можно прочитать за один вечер. «Элементы стиля программирования» — классическая книга по программированию от Кернигана, на форму этой книги очень сильно повлияла книга «Элементы стиля». Это старая книга, но по большей части все, чему она учит, применимо и сегодня. Она состоит из 70 правил программирования, таких как «пишите понятно, — не пытайтесь казаться слишком умными»; «говорите, что вы хотите просто и точно»; «выбирайте способ представления данных, который делает программу простой»; «позвольте данным формировать структуру программы».

И как бонус, я рекомендую мою собственную книгу ‘Perl One-Liners’, опубликованную издательством No Starch Press. Моя книга учит тому, как быстро получать результаты с помощью командной строки на языке Perl. Быстрая работа с командной строкой сэкономит Вам тысячи часов на протяжении всей вашей карьеры. Как только Вы изучите one-liner’ы, вы начнете решать быстрые одноразовые задачи мгновенно. Я видел разработчиков, которые тратят часы на написание программ для задач, которые можно выполнить за 20 секунд с помощью one-liner’а. Не будьте такими разработчиками.

image

Я надеюсь, что Вам понравились мои рекомендации по первым пяти книгам. Прошу Вас поделиться со мной своими любимыми книгами в комментариях. До следующего раза!
Перевод: Peteris Krumins
Димочка @kal1sha
карма
224,0
рейтинг 0,0
CTO
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (26)

  • +1
    Спасибр, теперь есть что на пляже почитать, чтобы время не пропадало!
  • 0
    Какие из этих книг переведены на русский язык?
    • 0
      Так ли это важно? Большая часть литературы — на английском, с этим надо смириться.
      • –5
        Большая часть людей на планете получает зарплату в долларах. Значит ли это, что Вам не важно, сколько Вам платят в рублях?
        • –4
          Это означает лишь одно — нужно стремиться тоже зарплату в долларах получать.
      • +2
        Так ли это важно? На русском достаточно хорошей литературы на тему программирования. Для не знающего язык на комфортном для чтения уровне наличие русского перевода прямо определяет, будет ли книга прочитана.
        • +2
          Конечно, важно. «Достаточно» — оно очень расплывчато.
          Большая часть на английском — значит, больше шансов получить информацию на английском. Быть программистом в современном мире и не знать английского — нонсенс.
  • –5
    Ребят, хочу изучить php — можно пару книжек или сайтов, с которых можно начать. Уровень? Эникейщик =)
    • +3
      есть хороший сайт google.com там много книг
    • +13
      Лучше изучайте что-нибудь другое)
      • –4
        Почему?
    • +9
      Только видео-курсы Попова, только хардкор.
    • +1
      Не обижайтесь, здесь так принято заминусовывать глупые комменты. Но так как когда то и я был начинающим — дам совет.
      Начинать нужно с крови и пота, и неважно книжка вам попадется первой или видеокурс или туториал или документация — это все вообще неважно. Важен только опыт, только он позволит вам отделять зерна от плевел во всем, а опыт приходит только с кровью и потом :)
      Поэтому здесь так часто рекомендуют не заниматься глупостями и не лезть в программирование, если не готовы к — читайте выше ;)
    • 0
      Лично вам рекомендую Haskell.
  • 0
    «Кибернетика без математики», Шилейко, второе издание. Рекомендую.
  • –3
    Семаформах

    Are you serious?
    • 0
      исправили
  • 0
    Интересно, сколько времени займёт публикация всего списка из 100 книг…
    • 0
      уже есть 3 части :)
  • +1
    del
  • 0
    Полезность Strunk&White слегка преувеличена.
  • 0
    Ожидал увидеть в первых строчках Кнута и Таненбаума. Но тоже хорошо, свежая кровь, так сказать.
    • +1
      Танненбаум достаточно специфичен, Кнут — тяжеловесен, лучше начинать с Кормена, и практической пользы будет больше, чем от Кнута.
      • +1
        Таненбаум наоборот, достаточно лёгок и интересен. Если в «Современных ОС» полкниги — это исходники Minix, которые можно можно легко пропускать, улавливая лишь общий смысл происходящего и не углубляться в реализацию, то в «Архитектуре компьютера» статьи совсем лёгкие и интересные. Почти как википедию читать. Советую всем для расширения кругозора. Архитектуру вообще можно даже не айтишникам читать.
        • 0
          Как поздно увидел ответ.
          Да, разумеется. Я говорю «Кнут тяжеловесен», Танненбаум — специфичен (об ОС). А так, разумеется, стоит у меня на полке, книга (Современные ОС) — замечательная.
  • 0
    А я рекомендую одну книгу всем, кто хоть сколь-нибудь работает с кодом: Макконнел С. Совершенный код (Code complete).

    И ее обширную библиографию по мере надобности. «Жемчужины» там есть, обе книги по стилю упомянуты, классический трехтомник Кнута из комментариев — тоже. И много больше.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.