РЕЦЕНЗИИ
Он рассказал о переводчике Вильяме Тиндале, который передал множество мест, например двадцать третий псалом, прекрасным народным языком, но все-таки был сожжен за то, что ради логики и здравого смысла отступал от не всегда логичного подлинника.
- Да, - закончил он задумчиво, - переводчикам иногда приходится рисковать.
Лион Фейхтвангер. Лисы в винограднике
Таненбаум Э. Архитектура компьютера, 4-е изд. Пер. с англ. - СПб.: Питер, 2002. - 704 с.
Основную идею книги известного голландского профессора можно передать правильным, хотя и довольно банальным тезизом о том, что любой компьютер можно рассматривать как “иерархию уровней, каждый из которых выполняет свою функцию”. Современные компьютеры, по утверждению автора, состоят из двух и более уровней. На нижнем уровне автор располагает язык микрокоманд. На втором - набор машинных команд. На третьем - располагается операционная система. Языки программирования и их виртуальные машины создают следующие уровни.
В книге девять глав. В первых восьми описан каждый из уровней, а девятая содержит подробную библиографию, но в ней, к сожалению, не дано ни одной ссылки на русские издания монографий зарубежных авторов. Обычно это делает научный редактор, который, оказывается, у книги был (кстати, тоже профессор) и оставил множество своих примечаний.
Сразу приходится сказать, что неплохая в оригинале книга, к сожалению, отвратительно переведена. В ней полно бросающихся в глаза ошибок. Целый ряд характерных оборотов выдает в переводчике человека, не имеющего никакого отношения к ВТ. Например, как вам нравится фраза: “Многие программы были добавлены в микропрограмму по той же причине”. По контексту там должно быть: “По той же причине многие другие команды были реализованы микропрограммно”. А вот еще: “Директива ALIGN переводит следующую строку (обычно данные) в адрес, который делим на аргумент данной директивы”. Это должно означать: “По директиве ALIGN адрес следующих за ней объявлений данных выравнивается по границе кратной ее аргументу”. Элементарно, Ватсон!
Множество замечаний по переводу терминов, например: “компьютер с полным набором команд” вместо правильного “компьютер со сложным набором команд”; “перекрывание операций” вместо “перекрытие операций”; “трассовый бит” вместо “флаг трассировки”; “выталкивает из стека” вместо “извлекает из стека”. Или вот: “команды для вызова и прекращения действия процедур”. Принято говорить о возврате из процедуры, но не о прекращении действия. Особенно мне понравились изобретенные переводчиком термины “программист машинного языка” (очевидно, по аналогии с оператором машинного доения), “чувствительные команды” и “составители компиляторов”. Я уж не говорю, что биты везде путаются с разрядами.
И такая чушь по всей книге, почти на каждой странице! Конрада Цузе переводчик называет Конрад Зус, не догадываясь, что у того немецкая, а не английская фамилия. Должен отметить, что к стыду г-на Э. Таненбаума он ничего не знает о работах К. Цузе и утверждает, что они не оказали влияния на развитие ВТ, что совершенно не соответствует действительности, так как сразу же после войны К. Цузе создал компьютерную фирму и выпустил большой ряд европейских компьютеров. Кроме того, его Z-4 оказалась после войны в Цюрихе, а не погибла под бомбежкой в Берлине, как пишет автор, и, по всей вероятности, была там в поле зрения советских разведывательных служб (похоже, что информацию о ней получил академик М. А. Лаврентьев), а IBM в 1947 г. заключила непосредственно с Цузе контракт на НИР. Их интересовало видение этого гениального разработчика путей дальнейшего развития ВТ. Насколько я знаю, этот отчет до сих пор не опубликован.
Вообще чувствуется, что автор вырос на американской компьютерной культуре, а европейскую, как говорится, не видит в упор, а ведь в Германии, Англии и Франции было довольно много собственных интересных разработок как среди первых ЭВМ, так и впоследствии (например, у фирм Mitra, AEG, ICL, Manja, Nixdorf, ну и Siemens, конечно). К сожалению, в России сейчас тоже появилось большое количество подобных не помнящих родства авторов, совершенно не знающих, кто и что делал и делает в родной стране, и распространяющих всякие небылицы.
Автор также не прав, заявляя, что были разработаны сотни разных компьютеров. Не сотни, а с десяток тысяч. Только в СССР таких разработок было около тысячи, особенно когда появились микропроцессоры.
Кто-то из российских литераторов, выучив английский язык и приехав в Америку, удивлялся тому, что на этом языке услышал громадное количество глупостей. Так и в данной книге частенько встречаются профессорские благоглупости. Например, утверждается: “К несчастью, архитектура VAX c самого начала разрабатывалась с использованием интерпретатора, а производительности уделялось мало внимания. Данное упущение стало фатальным как для VAX, так и для его производителя компании Digital. Compaq купил DEC в 1998 г.”. Я сомневаюсь, работал ли вообще г-н Таненбаум на машинах VAX, и уж, конечно, они вообще ни при чем в этом трагическом для компьютерной индустрии слиянии.
Конечно, не все программисты хоть раз в жизни писали ассемблер для той или иной машины. Но если они воспользуются описанием, приводимым г-ном Таненбаумом, то вместо двухпроходного им придется делать его трехпроходным. Несогласие вызывают и некоторые его утверждения на с. 61, 341, 517, 519, 521 и др.
Некоторые советы автора мне показались слишком академичными - в жизни они вряд ли кому пригодятся. Он также чрезмерно преувеличивает сроки разработки, трудность программирования и отладки ассемблерных программ.
Можно еще долго ворчать и в сердцах ругаться по поводу этой книги. Замечу, что в каждом профессиональном сообществе существуют свои критерии для оценки тех или иных вещей. В “богемный” период своей студенческой жизни я как-то в подъезде Дома композиторов в Москве стал свидетелем разговора моего приятеля, известного скрипача, с его коллегой. Они мимоходом обсуждали общего знакомого. “Да он полное ничтожество! - сказал один из собеседников, - он пятым пальцем ля-диез во второй октаве взять не может!” Не ручаюсь за точность, но суть оценки была именно такой. Поэтому, ну что еще можно сказать про тех, кто пишет “чтобы ошибки какой-либо пользовательской программы не привели к поломке всей машины”. А таких предложений в книге сотни!
Короче говоря, если у вас нет иммунитета к ужасному переводу, читать эту книгу не советую, а уж тем более глупо, как я, соблазнившись на фамилию автора, тратить на ее приобретение почти четыре сотни рублей. Такую книгу могут читать либо “компьютерные гурманы”, чтобы выковырять для себя какой-нибудь интересный факт или деталь, либо просто желающие “побрызгать кипятком”.