Накануне начала нового учебного года T&P попросили трех преподавателей Moscow Coding School, чьи курсы откроют этот сезон в субботу, рассказать о лучших, по их мнению, книгах и учебниках для желающих научиться программировать.
Каждую из этих книг я читал не по одному разу и всячески их советую каждому, кто только начинает заниматься программированием — вне зависимости от выбранного языка. И если кому-то это важно, они все переведены на русский язык (кроме самой первой). Да, учиться программированию по толстым умным книжкам нелегко — многие предпочтут очередной модный веб-сервис про кодинг, но оно того стоит, поверьте.

The Little Schemer
Книга, которая научит мыслить рекурсивно. Построена она необычно: каждая страница поделена пополам и представляет собой диалог двух персонажей, учителя и ученика, все повествование идет в форме «вопрос — ответ». Этот простой прием позволяет вдохнуть интерактивность в бумагу — потому что здесь ты сначала пытаешься ответить на вопрос самостоятельно, закрыв вторую половину страницы рукой, а затем сравниваешь ответы. Начинаясь с невинных вещей (рекурсия и примитивные алгоритмы), книга в

JavaScript: The Good Parts
Одна из самых популярных и противоречивых книг по JavaScript: автор продвигает минималистичный подход в использовании возможностей языка. Дело в том, что JavaScript не идеален, в нем есть множество ненужных, глупых и просто вредных вещей. И вместо того чтобы исправлять ошибки и придумывать новый язык программирования своей мечты, мы просто должны отказаться от всего лишнего в существующем языке — в пользу ясности и выразительности кода. «The Good Parts» еще выгодно отличается и тем, что она раза в

Structure and Interpretation of Computer Programs
Когда-то по этому учебнику в MIT преподавали введение в специальность. Но даже спустя 30 лет после первого издания SICP остается библией computer science, совершенно не успев устареть. Все примеры в книге приведены на допотопном языке Scheme, но это совершенно неважно, потому что учат здесь не конкретному языку, а особому типу мышления. Книга научит программированию в самых разных парадигмах, алгоритмическому подходу, металингвистической абстракции и в итоге созданию собственного компилятора. Сотни упражнений, огромный объем, математика на каждом шагу — этот путь пройдет не каждый, но если пройдет, то это пригодится на всю жизнь. Красиво сверстанная онлайн-версия.

The C Programming Language
Образец того, как надо писать учебники по языкам программирования. Эту книжку еще любовно называют K&R, по именам авторов — Керригана и Ричи. Первый автор известен своим вкладом в разработку UNIX, а второй непосредственно и придумал сам язык C. Только подумайте, кто лучше всех может научить языку, как не его автор?
Ясность изложения, хорошие примеры, краткий объем, интересные упражнения… но зачем в 2014 году читать книжку про язык 40-летней давности? На самом C сегодня мало кто пишет, но он лежит в сердце C++ (весь поиск «Яндекса» написан на нем) и

Learn You a Haskell for Great Good! (бесплатная онлайн-версия на английском)
Книга посвящена Haskell — языку программирования будущего, который совсем не похож на другие языки. С одной стороны, это очень умный, элегантный и компактный язык. С другой — он очень сложный и требует знания высшей математики и основ функционального программирования. Сложно представить себе увлекательную книжку по такой теме, но Мирану Липоваче удалось невероятное: простыми словами объяснить очень сложные вещи. В книжке на пальцах объясняются аппликативные функторы, моноиды, ленивые вычисления, монадические трансформеры, классы типов и другие удивительные вещи. Смешно, но даже «Hello, world!» тут появляется только на 152-й странице. Как и в The Little Schemer, здесь присутствуют неподражаемые авторские иллюстрации и диковатый юмор. (Не верите? Выпейте ведро жидкой лавы! Ха-ха, это шутка.)
Мои любимые книги по большей части не про кодинг, а про подход к самоорганизации. Я воспринимаю кодинг и различные языки программирования как средства для реализации проектов. Необходимо понимать, зачем вы делаете то, что вы делаете, как вы это делаете, что именно вы делаете и уже потом — какими средствами вы делаете задуманное. Для того чтобы свободно мыслить средствами кодинга, необходимо знать хотя бы пару языков программирования.

Getting Real
Наименее известная в России, но бестселлер на Западе, книга родоначальников Ruby on Rails и основателей Basecamp, крутейших ребят — 37signals. Книга о том, как не загонять себя в сумасбродные фантазии о своем некогда, в будущем, крутом продукте, а делать проще, быть в реальности. Много полезных фишек о том как варить проект, делать запуск, работать с пользователями и быть в потоке (go with the flow). Платная версия на русском в лучшем любительском переводе.

Rework
Вторая книга от 37signals, которую я рекомендую. У них интересный взгляд на то, как нужно делать бизнес, помогать миру, публикуя исходный код, делать полезный продукт для миллионов пользователей, при этом оставаясь маленькой командой, участники которой находятся на разных континентах.

«Agile Web Development with Rails 4»
Свое первое веб-приложение на Ruby on Rails я делал по этой замечательной книге. Книга дает представление о гибком подходе к разработке. Естественно продвигаясь по ней, вы изучаете язык Ruby и фреймворк Ruby on Rails. Сам фреймворк, к слову, создан людьми с хорошим пониманием бизнеса, что делает его отличным инструментом для создания своего онлайн-бизнеса, сервиса, сайта.
Reading list для тех, кто хочет научиться Ruby. Эти книги не просто повлияли на мое мировоззрение как хакера, но и стали моими спутниками. Я обращаюсь к ним в минуты душевных терзаний, любовных мук и творческих кризисов.

Why’s (Poignant) Guide to Ruby
Эту книгу написал легендарный Why the Lucky Stiff (также известный в

Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide
Серьезная книга. Доступна и понятна тем, кто имеет даже самый малый опыт в программировании. Это самый полный справочник по Ruby. Книга регулярно переиздается, чтобы быть up-to-date.

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

Practical Object-Oriented Design in Ruby: An Agile Primer
По моему мнению, лучшая книга об

Rails AntiPatterns: Best Practice Ruby on Rails Refactoring
Для тех, кто знакомится с Ruby on Rails. Нет ничего лучше, чем знать, как делать не надо, особенно если ты знаешь причину. В этой книге собрано огромное количество типичных ошибок и советов о том, как их избежать.
Комментарии
Комментировать