Рецензия на книгу Чарльза Петцольда «Код. Тайный язык информатики», или Зачем программисту знать, как устроен фонарик

Читать в полной версии →

Первые страницы книги Чарльза Петцольда «Код. Тайный язык информатики» меня сильно озадачили. Фонарик, азбука Морзе, шрифт Брайля... Окей, а зачем это мне? И когда будет про компьютеры и код? Примерно с третьей или четвёртой главы картинка начала складываться. А седьмая и восьмая главы заставили меня потратить полночи на арифметические операции в восьмеричной и двоичной системах счисления. После этого я не смог оторваться от книги до последней главы. Но обо всём по порядку.

О книге Петцольда «Код»

Книга Чарльза Петцольда «Код. Тайный язык информатики» вышла на английском языке в 1999 году. А идея написать книгу родилась у автора ещё в конце 80-х годов прошлого века, когда он писал серию статей для PC Magazine.

В предисловии Петцольд написал, что «Код» должен помочь читателям понять, как работает компьютер. Более того, благодаря книге это понимание должно быть «таким же глубоким, как у инженеров-электронщиков и программистов».

Позднее в интервью для Amazon Петцольд конкретизировал, для кого написал «Код»: «Это книга для программистов, она представляет собой уникальное путешествие по цифровым технологиям, благодаря которым работают наши компьютеры».

В 2007 году программист и блогер Джеф Антвуд назвал книгу Чарльза Петцольда признанием в любви к компьютеру.

Книгу можно купить в бумажном и электронном формате. Я приобрел её в «Литресе», здесь она продаётся в формате pdf, mobi, epub и fb2. Также электронная и бумажная версии есть в продаже на сайте издательства «Манн, Иванов и Фербер».

Код, да не тот: о чём книга Петцольда

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

Несколько глав о системах счисления показывают читателю альтернативные привычным нам способы считать. Объяснения построены на забавных примерах: автор рассказывает, как считали бы мультяшные герои с четырьмя пальцами на каждой руке, и как считали бы дельфины, у которых вместо пальцев только два плавника.

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

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

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

Простая в принципе, сложная в деталях: что мне понравилось, а что не очень

«Что это такое, какой фонарик, зачем здесь написано про электросхемы?» — такие мысли мешали сосредоточиться в первые полчаса чтения. Удивление ушло, когда пришло понимание замысла автора. Вместе с этим пониманием появился азарт. Захотелось разобраться в системах, устройствах и технологиях, благодаря которым работают компьютеры.

Самое большое удовольствие мне доставили главы про системы счисления. Автор рассказывает про них настолько наглядно и увлекательно, что хочется тут же взять лист бумаги и поупражняться в арифметических операциях.

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

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

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

Смотрите также: Как эффективно читать профессиональную литературу

Когда автор переходит к описанию микросхем и микропроцессоров, читать становится проще. Я с удивлением заметил, что достаточно понимать описанные в начале книги принципы, чтобы следить за повествованием в поздних главах.

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

В целом книга помогает сложить целостную картину. Петцольд сумел рассказать об устройстве компьютера так просто и увлекательно, что прочитать и понять «Код» сможет любой заинтересованный читатель. Автор показывает, что за мощными современными компьютерами стоят те же технологии, благодаря которым работают релейные вычислительные машины, а для передачи информации по оптоволоконным сетям используется тот же принцип, который взяли на вооружение мальчишки, подающие друг другу сигналы карманными фонариками. И это удивительно!

Читайте также Список рекомендуемых книг для студентов Хекслета

Вместо заключения: читать или нет?

Однозначно читать. В первую очередь книга будет полезна новичкам, особенно студентам без технической подготовки. «Код» написан понятно и интересно, но при этом автор избежал поверхностности. Возможно, для человека с техническим образованием в работе Петцольда будет не очень много нового, но книга однозначно освежит в памяти важную информацию.

А вы уже читали «Код»? Поделитесь впечатлениями в комментариях.