Первые страницы книги Чарльза Петцольда «Код. Тайный язык информатики» меня сильно озадачили. Фонарик, азбука Морзе, шрифт Брайля... Окей, а зачем это мне? И когда будет про компьютеры и код? Примерно с третьей или четвёртой главы картинка начала складываться. А седьмая и восьмая главы заставили меня потратить полночи на арифметические операции в восьмеричной и двоичной системах счисления. После этого я не смог оторваться от книги до последней главы. Но обо всём по порядку.
Книга Чарльза Петцольда «Код. Тайный язык информатики» вышла на английском языке в 1999 году. А идея написать книгу родилась у автора ещё в конце 80-х годов прошлого века, когда он писал серию статей для PC Magazine.
В предисловии Петцольд написал, что «Код» должен помочь читателям понять, как работает компьютер. Более того, благодаря книге это понимание должно быть «таким же глубоким, как у инженеров-электронщиков и программистов».
Позднее в интервью для Amazon Петцольд конкретизировал, для кого написал «Код»: «Это книга для программистов, она представляет собой уникальное путешествие по цифровым технологиям, благодаря которым работают наши компьютеры».
В 2007 году программист и блогер Джеф Антвуд назвал книгу Чарльза Петцольда признанием в любви к компьютеру.
Книгу можно купить в бумажном и электронном формате. Я приобрел её в «Литресе», здесь она продаётся в формате pdf, mobi, epub и fb2. Также электронная и бумажная версии есть в продаже на сайте издательства «Манн, Иванов и Фербер».
Первые главы книги могут удивить читателя. Автор начинает путешествие внутрь компьютера с рассказа об обмене сообщениями с помощью фонарика, об азбуке Морзе и шрифте Брайля. Потом читатель знакомится с устройством реле и телеграфа. К этому моменту становится понятен замысел Петцольда: он показывает и объясняет технологии, благодаря которым компьютеры стали возможны в принципе.
Несколько глав о системах счисления показывают читателю альтернативные привычным нам способы считать. Объяснения построены на забавных примерах: автор рассказывает, как считали бы мультяшные герои с четырьмя пальцами на каждой руке, и как считали бы дельфины, у которых вместо пальцев только два плавника.
В книге автор детально рассматривает восьмеричную, двоичную и шестнадцатеричную систему. К последней он переходит после объяснения логических вентилей и схемы построения двоичного сумматора — устройства, которое умеет складывать числа. Это устройство можно построить с помощью реле, которые образуют логические вентили.
Восьмибитный сумматор может показаться человеку из XXI века неуклюжей пародией на артефакты из фильмов в жанре стимпанк, но по сути он принципиально не отличается от современных компьютеров.
Петцольд проводит читателя по увлекательному пути от собранного с помощью реле сумматора к современным микропроцессорам. По пути он рассматривает устройство памяти и микросхем, особенности перевода данных с человеческого языка на язык компьютера и другие интересные вопросы. Завершающие главы книги посвящены темам высокого уровня: работе операционных систем, языкам программирования, графическим интерфейсам.
«Что это такое, какой фонарик, зачем здесь написано про электросхемы?» — такие мысли мешали сосредоточиться в первые полчаса чтения. Удивление ушло, когда пришло понимание замысла автора. Вместе с этим пониманием появился азарт. Захотелось разобраться в системах, устройствах и технологиях, благодаря которым работают компьютеры.
Самое большое удовольствие мне доставили главы про системы счисления. Автор рассказывает про них настолько наглядно и увлекательно, что хочется тут же взять лист бумаги и поупражняться в арифметических операциях.
Уверен, такие упражнения полезны всем. Они помогают хорошо понять системы счисления. Кроме этого, они буквально заставляют мозг сойти с проторенных дорожек, подталкивают его выполнять обычные действия необычным способом. Привет, новые нейронные связи!
Самая сложная часть книги начинается, когда Петцольд рассказывает, как собирать логические вентили с помощью реле, и как с помощью реле можно построить простое вычислительное устройство. Уже к этому моменту я понимал, что принцип работы сумматора не отличается от принципа работы современного компьютера. Это, наверное, самая удивительная вещь, которую я узнал из книги.
Пока Петцольд рассказывает о простых устройствах типа восьмибитного сумматора, следить за схемами достаточно легко. Постепенно устройства и схемы усложняются. Читателю приходится выбирать между скоростью чтения и желанием разобраться в каждой схеме. Я сначала старался разбирать каждую схему. Потом стало слишком сложно, и я сдался.
Смотрите также: Как эффективно читать профессиональную литературу
Когда автор переходит к описанию микросхем и микропроцессоров, читать становится проще. Я с удивлением заметил, что достаточно понимать описанные в начале книги принципы, чтобы следить за повествованием в поздних главах.
Завершающая часть книги посвящена кодировкам, операционным системам, языкам программирования и графике. Знакомым с курсами и гайдами Хекслета читателям эта информация наверняка покажется не новой. Например, у нас есть подробный гайд по кодировкам и курс по операционным системам. Впрочем, всегда полезно повторить важную информацию и посмотреть на неё под иным углом.
В целом книга помогает сложить целостную картину. Петцольд сумел рассказать об устройстве компьютера так просто и увлекательно, что прочитать и понять «Код» сможет любой заинтересованный читатель. Автор показывает, что за мощными современными компьютерами стоят те же технологии, благодаря которым работают релейные вычислительные машины, а для передачи информации по оптоволоконным сетям используется тот же принцип, который взяли на вооружение мальчишки, подающие друг другу сигналы карманными фонариками. И это удивительно!
Читайте также Список рекомендуемых книг для студентов Хекслета
Однозначно читать. В первую очередь книга будет полезна новичкам, особенно студентам без технической подготовки. «Код» написан понятно и интересно, но при этом автор избежал поверхностности. Возможно, для человека с техническим образованием в работе Петцольда будет не очень много нового, но книга однозначно освежит в памяти важную информацию.
А вы уже читали «Код»? Поделитесь впечатлениями в комментариях.