Больше рецензий

Hermanarich

Эксперт

Эксперт Лайвлиба

25 октября 2020 г. 15:00

4K

4 То, что вы бы даже никогда не подумали спросить

Признаюсь — испытываю какой-то суеверный трепет перед такими монструозными и монументальными работами. Кажется, что написать подобный учебник — это что-то нечеловеческое. Освоить его процентов на 60 — уже пахнет какой-то шизофренией, и я бы очень настороженно отнёсся к тому, кто смог бы воспроизвести даже четверть от прочитанного — но написать такое... Короче, я поражен и охватом, и глубиной, и эрудицией автора — насколько это всё сильно и грамотно проработано, сколько там находится полезной информацией, и вообще, той задачей, которую автор, похоже, реализовывал едва ли не с нуля.
Что компьютер представляет из себя «сложное устройство», думаю, говорить не приходится. Но, боюсь, если человек не инженер — он даже интуитивно не понимает, насколько это сложно. К счастью, наш добрый друг Эндрю Таненбаум проведёт нас по этому лабиринту попутно, куда без этого, много раз продемонстрировав нам нашу математическую, физическую, инженерную и интеллектуальную беспомощность.
Что можно сказать по поводу данной работы? Это действительно, я готов согласиться с тезисом, хоть его и не проверял, возможно лучшая книга в мире по заданной теме. По полноте так уж точно. Автор с исступлением маньяка проводит нас по архитектуре ЭВМ (не готов согласиться, что именно компьютера, скорее тогда компьютер в очень широком смысле), не забывая углубляться как в инженерные, так и в математические подробности (программируемая логическая матрица, конечно, базируется на постулатах булевой алгебры, а первой арифметической схемой СИС является схема сдвига; ну и, конечно, в архитектуре тактового генератора особое внимание надо уделять именно асинхронным тактовым импульсам). По отдельности, в рамках конкретного абзаца, всё понятно. Когда эти данные наваливаются и наваливаются на тебя, то ты сначала пытаешься барахтаться, а потом уже молчаливо принимаешь смерть от удушения данными мелкрофракционными знаниями.
Есть ли у данной книги минусы, помимо минусов логически вытекающих из оборотной стороны плюсов? Да, есть, и с этим минусом побороться будет очень сложно — книга очень неровная в хронологическим плане. Я читал 5-е издание данной книги (на русском языке актуальным сейчас является 6-е), выпущенное издательством Питер по копирайту 2006-го года издательства Пирсон (кстати, нет ни одного слова про копирайт автора. Как по мне, это странно). И я хочу сказать — или издательство халтурит, или автор халтурит, но «актуальные» данные из 2006-го года уверенно соседствуют с «актуальными» данными начала 90-х.
В предисловии (и я проверял — в 6-м издании этого же абзаца изменилось только два слова) автор нас бодро приветствует:

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

И здесь нельзя упрекнуть автора в обмане — всё так. Но вот беда — не всегда принцип работы компьютера можно слепо экстраполировать на принцип работы учебника. Возможно, когда учебник писался в самом начале — заложенный методический базис учебника мог жестко соответствовать архитектуре ЭВМ того времени. Сейчас же, когда архитектура ЭВМ усложнилась (и увеличила свою мощность) не просто в разы, а в разы в степени, сам этот методический базис кажется чересчур громоздким и неповоротливым. Возможно, до 80-х этот подход и был адекватным — но сейчас продираться через все этих архитектурные нагромождения (да-да, принципиально, конечно, ЭВМ изменился не сильно — но дьявол то в деталях) становится просто невыносимо.
Ещё одна проблема, о которой уже упоминалось — недостаточная редактура. «Прошлое десятилетие» для автора то начало 90-х, то 2000-й год. Кое-где автор допускает странные анахронизмы. Видно, что какой-то костяк книги автором был написан достаточно давно, и не перерабатывался, а какие-то главы дописывались и редактировались позже, при этом автор не переправлял то, что написано раньше. В результате книга напоминает некую археологическую раскопку — повествование может вестись о какой-то совсем древности, подчас со странными тезисами, что шина PCI удовлетворяет все потребности современных компьютеров на 100% (в 2006-м году это было уже не так, а уж 2012-м году — совсем-совсем не так, о чем неплохо было бы сообщить пусть не автору, но научному редактору книги).
Да, мы возвращаемся к пресловутой проблеме, о которой я писал не раз, не два, а раз 150 — сложные книги, особенно когда между выходом оригинального издания и переводом проходит больше 3-х лет, обязательно надо сопровождать редакторскими комментариями и уточнениями. Они вообще, сами по себе, должны быть — а в случаях, когда речь идет об IT, просто необходимы. Это домашнее задание российские издательства, традиционно, не выполняют.
Резюмируя — это абсолютно блестящая книга с колоссальным объёмом информации и каким-то монструозно-фундаментальным охватом. Надо ли обычному, среднестатистическому пользователю ПО (да хоть программисту, если это не программист на низкоуровневом языке типа ассемблера), знать архитектуру компьютера в таком объёме? Как по мне — это избыточно. Думаю, на таком общем уровне и инженеру знать не нужно — им нужна будет конкретика. А для кого этот курс? Думаю, всё-таки для программистов из тех далёких 80-х, ориентированных на низкие уровни программирования. Ну и, как любой хороший учебник, он целится немного выше в плане знаний. И это неплохо, хотя и пугает.

Комментарии


Читать меня чаще можно в моём уютном телеграмм-канале.