Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).
Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:
В первой статье серии я повторю те же пять книг, что я рекомендовал в моём интервью Fog Creek. Я думаю, что серия статей будет публиковаться долгое время, поэтому, если вам это интересно, вы можете подписаться на rss-канал моего блога или следить за моим творчеством на твиттере.
Достаточно разговоров. Переходим к книгам!
#1 Новый Омнибус Тьюринга
Книга, обязательная к прочтению для любого заинтересованного компьютерами. Эта потрясающая книга состоит из 66 коротких очерков по наиболее важным и интересным компьютерным темам, таким как компрессия, машины Тьюринга, формальная грамматика, невычислимые функции, и нейронные сети. Книга написана повседневным простым языком и почти не содержит математики. Это моя самая любимая книга.
Автор: Александр K. Дюдни.
#2 Маленькая книга о Семафорах (бесплатный pdf)
Эта книга учит тому, как думать многопоточно и решать проблемы синхронизации. Я очень рекомендую её, особенно если вы самоучка. Она ведёт читателя шаг за шагом через серию классических и не очень проблем синхронизации. В ней очень интересно решаются данные проблемы, и я рекомендую её всем с тех пор, как впервые познакомился с ней.
Автор: Аллен Б. Дауни.
#3 Жемчужины программирования и Ещё больше жемчужин программирования.
Жемчужины программирования и Ещё больше жемчужин программирования.
Классическая книга по программированию. Джон Бентли знает, как писать чётко и с энтузиазмом об алгоритмах. Эти книги вечны, и они учат читателя, как разбираться в проблемах, решать их по частям и эффективно реализовывать решения. Ты сможешь пройти собеседование в Google, если прочтёшь эти две книги.
Автор: Джон Бентли.
#4 Маленький комбинатор
Маленький комбинатор даёт немножко знаний о LISP самым что ни на есть забавным способом. Книга — это диалог между тобой и автором о сотнях мелких программных комбинаций, который помимо прочего учит читателя думать рекурсивно. Эта книга заставит Тебя думать и немного расширит Твоё сознание. Это одна из самых интересных книг программирования из когда-либо написанных.
Авторы: Дэниел П. Фридман и Матиас Фелайзен.
#5 Элементы стиля и Элементы стиля программирования
Элементы стиля и Элементы стиля программирования.
«Элементы стиля» — это книга не совсем о разработке или программировании, а скорее об умении писать. Если хочешь быть успешным программистом, необходимо общаться так, чтобы другим людям было понятно, а соответственно и навыки письма просто необходимы. В книге всего 100 страниц и её можно прочитать за один вечер. «Элементы стиля программирования» — классическая книга по программированию от Кернигана, на форму этой книги очень сильно повлияла книга «Элементы стиля». Это старая книга, но по большей части все, чему она учит, применимо и сегодня. Она состоит из 70 правил программирования, таких как «пишите понятно, — не пытайтесь казаться слишком умными»; «говорите, что вы хотите просто и точно»; «выбирайте способ представления данных, который делает программу простой»; «позвольте данным формировать структуру программы».
И как бонус, я рекомендую мою собственную книгу ‘Perl One-Liners’, опубликованную издательством No Starch Press. Моя книга учит тому, как быстро получать результаты с помощью командной строки на языке Perl. Быстрая работа с командной строкой сэкономит Вам тысячи часов на протяжении всей вашей карьеры. Как только Вы изучите one-liner’ы, вы начнете решать быстрые одноразовые задачи мгновенно. Я видел разработчиков, которые тратят часы на написание программ для задач, которые можно выполнить за 20 секунд с помощью one-liner’а. Не будьте такими разработчиками.
Я надеюсь, что Вам понравились мои рекомендации по первым пяти книгам. Прошу Вас поделиться со мной своими любимыми книгами в комментариях. До следующего раза!
Комментарии (24)
ivanych
02.06.2015 09:45Какие из этих книг переведены на русский язык?
MacIn
02.06.2015 17:16Так ли это важно? Большая часть литературы — на английском, с этим надо смириться.
celen
03.06.2015 04:34+2Так ли это важно? На русском достаточно хорошей литературы на тему программирования. Для не знающего язык на комфортном для чтения уровне наличие русского перевода прямо определяет, будет ли книга прочитана.
MacIn
03.06.2015 16:43+2Конечно, важно. «Достаточно» — оно очень расплывчато.
Большая часть на английском — значит, больше шансов получить информацию на английском. Быть программистом в современном мире и не знать английского — нонсенс.
Terras
02.06.2015 10:19-5Ребят, хочу изучить php — можно пару книжек или сайтов, с которых можно начать. Уровень? Эникейщик =)
iflista
02.06.2015 21:38+1Не обижайтесь, здесь так принято заминусовывать глупые комменты. Но так как когда то и я был начинающим — дам совет.
Начинать нужно с крови и пота, и неважно книжка вам попадется первой или видеокурс или туториал или документация — это все вообще неважно. Важен только опыт, только он позволит вам отделять зерна от плевел во всем, а опыт приходит только с кровью и потом :)
Поэтому здесь так часто рекомендуют не заниматься глупостями и не лезть в программирование, если не готовы к — читайте выше ;)
fshp
03.06.2015 01:59Ожидал увидеть в первых строчках Кнута и Таненбаума. Но тоже хорошо, свежая кровь, так сказать.
MacIn
03.06.2015 02:07+1Танненбаум достаточно специфичен, Кнут — тяжеловесен, лучше начинать с Кормена, и практической пользы будет больше, чем от Кнута.
fshp
03.06.2015 02:18+1Таненбаум наоборот, достаточно лёгок и интересен. Если в «Современных ОС» полкниги — это исходники Minix, которые можно можно легко пропускать, улавливая лишь общий смысл происходящего и не углубляться в реализацию, то в «Архитектуре компьютера» статьи совсем лёгкие и интересные. Почти как википедию читать. Советую всем для расширения кругозора. Архитектуру вообще можно даже не айтишникам читать.
XlebNick
Спасибр, теперь есть что на пляже почитать, чтобы время не пропадало!