До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Мотивация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Аватар пользователя Дмитрий Дементий
Дмитрий Дементий 04 января 2021
24
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября