Сергей Мелодин Об авторе О сайте

Код. Тайный язык информатики

01 Sep 2019

Рецензия

Обложка

Рецензия

  • Чарльз Петцольд
  • Код. Тайный язык информатики.

Мысли

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

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

Метафоры и сравнения, с одной стороны, украшают текст, а с другой — мешают постичь красоту технологии.

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

Нет рисунков, на которых локомотивы тащили бы вагоны, груженные нулями и единицами.

И действительно, нет локомтивов, однако, абстракции начинаются почти сразу. Конечно, без абстракций объяснить какие-то вещи крайне сложно, но зачем тогда в предисловии говорить что их не будет, если они есть?

Для меня, как человека с двумя образованиями в сфере электротехники, абстракции были понятными и я бы не заострил на них внимания, если бы друг, читающий эту же книгу, не задал мне вопрос “почему напряжения нет, а лампочка горит?”. Оценив книгу взглядом читателя, не знакомого с темой вообще, пришлось констатировать факт, что абстракции текут буквально через пару абзацев, потому что в книге пошла речь про логические сигналы, но оперируются понятия напряжения, аналогии электричества с водой и щёлкающие реле с водопроводными кранами.

Не обошлось и без жести - где-то на моменте построения полного сумматора автор, видимо, увлекается процессом настолько, что читателя заваливает текстом описания работы логических элементов, агрегировавших в себе другие логически элементы. До момента построения RAM книгу можно прорешать в виде кода, не особо запариваясь, а вот дальше вам уже нужно прям уметь работать с регистрами, двоичными кодами и побитовыми сдвигами. Впрочем, если такие моменты читать по диагонали, то ничего не теряется. Логическое начало новой истории всегда явно выделяется и не ссылается на какие-то сложные моменты из прошлой части.

Зацепило

Настоящим открытием для меня стало объяснением систем счисления, особенно счёт по пальцам Микки Мауса и дельфина. Двоичная система, которую я столько лет воспринимал как неизбежность с уроков информатики, наконец обрела здравый смысл и линейность рассуждений.

Построение логических элементов и устройств на их основе позволило провалиться в ностальгическое тепло уроков электротехники и информатики. Можно сделать процесс более увлекательным, если открыть что-то вроде repl.it и написать логические элементы с логированием в виде кода. Также, наверняка есть визуализаторы для подобных вещей. Посмотреть как бегают нули и единицы, ощутить гениальную простоту такого подхода - вот что даёт читателю книга на первы порах.

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

Резюмирование

Определённо рекомендую к прочтению, особенно людям связаным с компьютерами / IT или просто чтобы разобраться в теме. Однако, стоит помнить что есть сложные моменты и лучший способ не испортить впечатление - это пролистать их. Чтобы разобраться в сложностях будет уместно найти визуализаторы или написать свои.