Что почитать: обзор на книгу "Код" Чарльза Петцольда

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

В программировании мы замечаем такое деление, когда, например, появляется веб-разработка, а в самой веб-разработке — фронтенд и бэкенд с кучей стеков внутри. Потому что одному человеку невозможно угнаться за всем, что происходит в современном программировании. Тот, кто занимается разработкой на высокоуровневых языках, обычно не особенно вдается в подробности работы кода на низких уровнях: как код компилируется, выполняется в процессоре, хранится в физической памяти. С одной стороны, это не представляет проблемы. Рядовому программисту не нужно лезть в компилятор, последний прекрасно работает и без постороннего вмешательства. Также ему не нужно понимать двоичную систему счисления и работу железа с кодом — настолько удобную абстракцию над низкоуровневыми процессами предоставляют современные языки.

С другой же стороны, возникает ситуация, когда ты недостаточно хорошо чувствуешь почву под ногами, просто потому что не знаешь, что происходит с кодом дальше твоего поля зрения. Для решения этой, отчасти психологической, проблемы и существует книга «Код» Чарльза Петцольда.

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

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

Иногда я думаю: что бы я делал, если бы попал, скажем, в XIX век или того раньше? Смог бы я поделиться хоть каким-то изобретением нашей цивилизации или помочь с научным прогрессом? Так вот, эта книга отчасти закрывает мою странную боязнь попасть в прошлое и оказаться совершенно бесполезным. Потому что представленных в ней знаний будет достаточно не только для того, чтобы понимать, как процессор вычисляет двоичный код, но и для того, чтобы вы были способны самостоятельно построить компьютер.

Стоит сказать и о том, что эта книга не направлена на аудиторию программистов, но ориентирована на обычного человека. Местами, конечно, может быть душновато. Например, меня сморило в разделе про двоичный сумматор, а потом снова стало нормально. Но в итоге эта книга настолько мне понравилась, что я заинтересовался другими книгами автора и приобрел себе его труд «Читаем Тьюринга», о чем можно поговорить уже в следующих постах.

p.s. Меня зовут Сергей, и я иногда здесь буду писать. Я фронтенд-разработчик и преподаватель в Хекслет Колледже. А еще я рад знакомству!


Источник: vk.com

Комментарии: