Книги — достаточно важный аспект в обучении разработке. При этом существуют тысячи книг по программированию, и достаточно сложно самостоятельно выбрать из них что-либо подходящее. Мы попросили наставников Хекслета выбрать самые лучшие книги для начинающих разработчиков — как напрямую связанные с программированием или компьютерами, так и косвенно — про историю или мотивацию. При этом в список не вошли книги, которые Хекслет официально рекомендует к прочтению как начинающим, так и уже опытным разработчикам.
Находясь на переднем крае программирования, книга «Программист-прагматик» Эндрю Ханта и Дэвида Томаса абстрагируется от технических тонкостей разработки и рассказывает о сути процесса — о том, как создавать работоспособную и поддерживаемую программу, заранее понимая, с какими сложностями могут столкнуться разработчики.
По сути, авторы в своей книге рассказывают о базовых подходах, которыми должны пользоваться настоящие разработчики и благодаря которым можно как писать эффективный код и выполнять бизнес-задачи, так и взаимодействовать с другими инженерами и пользователями.
«Выразительный JavaScript» Марейна Хавербеке — одна из основных книг для погружения в JavaScript. Написанная абсолютно простым языком, она раскрывает этот популярный язык программирования с разных сторон, с легкостью объясняя достаточно сложные для понимания новичков вещи.
У книги даже есть свой сайт, где каждый желающий сможет выполнять практические задания, которые есть после каждой главы.
Книга посвящена структурной организации компьютера. В ее основе лежит идея о том, что компьютер можно рассматривать как иерархию уровней, каждый из которых выполняет определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера.
При этом «Архитектура компьютера» — первая книга из цикла работ Таненбаума о строении вычислительных устройств. После чтения этой книги все советуют читать «Компьютерные сети» и «Современные операционные системы», чтобы до конца понимать, как будет работать код, который вы напишете.
Отличная книга, к сожалению, до сих пор не переведенная на русский язык. Автор Writing An Interpreter In Go проведет вас через путешествие под названием «а сейчас мы напишем собственный язык программирования». Самое важное в этом не то, что вы создадите простенькую (хоть и собственную) систему, а в том, что сможете понять, как изнутри устроены языки программирования, и почему те или иные решения реализованы в них именно таким образом. Добавляя сюда простой язык и умение автора объяснять достаточно сложные вещи — получаем отличную небольшую книгу, которая позволяет разбираться в сложных вещах.
«Хакеры: Герои компьютерной революции» — книга о движении хакеров, выпущенная в 1984 году. Автор описывает людей, технологии и события, которые формировали этические принципы и мировоззренческие основы движения со времён первых хакеров Массачусетского технологического института. По сути, это достаточно полное исследование этики хакеров, во многом рассказанное изнутри.
Почему Diablo III чуть не стала крупнейшим провалом Blizzard? Как Halo превратилась в стратегию? Через что прошла студия, создавшая Uncharted? Всё, что вы хотели знать о разработке Witcher-3 и Destiny, а также многие другие эксклюзивные истории, рассказанные автору этой книги теми, кто создавал самые популярные игры последнего десятилетия. Джейсон Шрейер изнутри рассказывает, почему игровая индустрия — это не только престиж и огромные зарплаты, но и проверка на стрессоустойчивость и выносливость, которую проходят далеко не все.
Книга совсем не по программированию, но тем не менее современным разработчикам необходимы не только технические знания, но и умения концентрироваться, учиться и вообще — эффективно работать. Максим Дорофеев рассказывает, как устроено мышление и память человека, как правильно формулировать задачи и восстанавливаться для продуктивной работы, можно ли внедрять полученные знания в жизнь и не вставать на одни и те же грабли. Помимо «Джедайских практик» у Максима Дорофеева есть еще книга «Путь джедая».
«Вторжение» — еще одна книга в списке, не связанная напрямую с программированием, но очень погружающая в технологическую сферу. Российский журналист Даниил Туровский сделал большое исследование феномена российских хакеров — появления этой сферы еще в СССР, их взаимодействия со спецслужбами и мировой сетью хакеров, эстетике и реалиях, в которых они сейчас существуют.
Читайте и другие статьи в блоге: Haskell — язык, позволяющий глубже понять программирование. Как он устроен и почему его выбирают разработчики?