21 августа 2014 г.

Классика Computer Science

Так уж случилось, что по образованию я не программист, да и вообще далек от компьютеров - учился я на конструктора РЭА. Но тема вычислительной техники всегда была мне близка и интересна. В один погожий день я понял, что "капусточка - это хорошо, но в доме надо иметь и мясные закуски" ("Ширли-мырли"). К тому времени в издательстве "Питер" появилась замечательная серия "Классика Computer Science". Не скажу, что я проштудировал всю серию от корки до корки, но те книги, которые я прочитал, просмотрел по диагонали и пролистал с пристрастием позволити намного лучше понять how it's made & how it works. В целом, замечательные учебники, переизданные неоднократно. Тем не менее, некоторые из них удавалось купить только на аукционах.

"Операционные системы. Разработка и реализация". Именно эту книгу я купил на аукционе. У какого-то студента. На мой вопрос "почему продаете?" он ответил "да кому это старье надо?" Ээээх! Молодо-зелено! Есть городская легенда, гласящая, что именно эта книга перевернула жизнь Линуса Торвальдса. Да-да, именно того несдержанного скандалиста, который совторил Linux и который "однажды, проверяя новую фичу ядра я нечаянно позвонил на свой винчестер". Лично мне книга показалась крайне полезной для глубокого понимания работы ядра операционных систем. Вы не поверите, но знания, полученные при ее прочтении пригодились даже при работе с микроконтроллерами.

"Современные операционные системы". Эта книга является переработанной и дополненной версией рассмотренного выше бестселлера Таненбаума. Ну что тут можно сказать? Классический труд с оглядкой на современные тенденции. И это как раз тот вариант, когда переосмысление совсем не портит оригинал. Огромным плюсом этой книги является наличие описания устройства Windows Vista - сразу становится все понятно. Например, мантра "Перезагружаться пробовали?" звучит уже не так метафизически. В целом, мне не понравился перевод - наводит на мысль о плохой таботе технического редактора. Между "старьем" и "современным осмыслением" я, пожалуй, выбираю первое. Но, опять же повторю: в некоторых вопросах эта книга является хорошим дополнением.

"Архитектура компьютера". Купил ее в расчете на кладезь фундаментальных знаний. Потому как Таненбаум. Не ошибся. Из всех вышеперечисленных, читается наиболее легко. Видно, что автор не просто Computer Science, но с укломо в Hardware. порой создается впечатление, что читаешь что-то научно-фантастическое с детальным описанием места действия. Разве что нет диалогов. В общем, рекомендую всем, кто хочет понимать, что у компьютера в кишочках гудит. Понимать не на уровне: вот этот железный ящик - это центральный процессор. Думаю, что студентам любых компьютерных специальностей будет крайне полезно ее прочесть, чтобы не заявлять на собеседовании, мол, я программист баз данных, по-этому не обязан знать, как работает компьютер.
"Комптьютерные сети". И снова - Таненбаум! Очень подробно и понятно объяснены устройство и принцип работы сетевого аппаратного и программного обеспечения. Все разложено по полочкам, от физического уровня до самого верхнего - уровня прикладных программ. Самое поразительное во всех книгах Таненбаума то, что он может объяснить сложные вещи буквально на пальцах, если хотите, на спичках. А большое число примеров говорит о том, что он является не только теоретически подкованным, но и имеет огромный балласт практики. Опять же, студенты, книга для вас. Не каждый преподаватель имеет за плечами такой же практический опыт, а значит, некоторых вещей вообще не сможет вам рассказать. Нестуденты, особенно всякого рода "сайтостроители", вам тоже не помешало бы хотя бы пролистать.
"Архитектура компьютера и проектирование компьютерных систем". Это уже Паттерсон. На кой, собственно, я ее покупал, если у меня уже был Таненбаум? А потому как старик Таненбаум разделил: вот это железки, а вот это котлеты. А фишка этой книги в том, что показано, как именно софт взаимодействует с железками. Ну и еще, особый упор сделан на многоядерные компы, многопоточное выполнение и прочие интересные плюшки, понимать которые очень и очень хотелось. И да, второй автор - Хеннесси. Хотелось посмотреть, что может написать человек-коньяк :) Шутка. На самом деле, если хотите заниматься многопоточным программированием, книга может многое прояснить. Не все с хода запоминается, но потом возникает ощущение, что "где-то я об этом слашал...".
Собственно, на этой пятерке пока и остановимся. О других книгах серии "Классика Computer Science" как-нибудь в другой раз...

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

Отправить комментарий