Прежде чем начать описывать достоинства и недостатки
книги, крайне необходимо определить круг людей, кому
может быть интересна книга, ибо пословный перевод
названия просто не верен, а оригинальное название
не совсем точно отражает содержание книги.
Однозначно можно сказать, что пользователям осей
не линейки "32-битных" виндов книга не нужна.
Действительно ли книга только про 2000-ные?
Отнюдь, upto 2000-ные, т.е. про XP тут нету
(когда книга писалась тики-тики 2000-ные появились).
Для моего 95-го применимо 70-80% контента книги,
но это не значить, что не описаны фичи 2000-го.
На самом-то деле в той области оси, о которой эта
книга, нового 10-15% к объему ранее применяемых
механизмов операционной системы.
Итак, что же за область оси описана? Неужели
внутренние кишки виндов показаны?! Да, бог с Вами,
это же не "Ядро Линукса" и не "Внутренний мир Windows
[3.1]" Питрэка. Здесь всего-лишь обзор интерфейса
оси для прикладных программистов, описание того самого
знаменитого WinAPI, за которым гоняются все чайники,
особенно, если они не сишники.
О сишники, уже DELETE жмут! MSDN конечно иметь неплохо,
когда знаешь, что и когда нужно применять. Кстати, Вы
как с файлами работаете под виндами? Стандартно?
Стандартно...потоками ?! Ню-ню... Эффективно работает
только мапирование, оно же отображение в память.
Не слышали? Тогда пока Вам рано читать Вильямса -
эта книга хороша после Рихтера (любого издания).
Тем кто уже Рихтера прочел, эта книга будет самое-то.
Ибо в Рихтере столько деталей, что за отдельными
соснами, не видно, что лес рядами посажен.
С моей точки зрения Вильямс неплохо дал с высоты
птичьего(воробьиного :) полета обзор
работы с файлами,
процессов, потоков и нитей,
меж процессный обмен (не ограничиваясь локальными
процессами), в том числе синхронизацию.
Это примерно половина книги. Плюс к этому рассмотрены
менее обиходные механзимы API как работа с кучей (heap)
API-шными функциями, использование дескриптороы
безопасности. Очень кратенько рассказано про службы.
А про реестр повествуется почти на юзверьском уровне.
То, что касается механизмов самой оси на этом все.
Плюс к этому (я бы предпочла за это не платить :-)
автор в том же стиле рассмотрел темы, собственно к
операционной системе имеющее слабое отношение.
Это, глава про Active-X (не верьте автору - можно не
читать, я вторую главу читала последней),
во-вторых, это глава как работать через библиотеку ATL
c шелом из стандартной поставки ("оболочки дешевые"
в терминологии Команда Ком :-), то бишь explorer.exe,
в третьих, глава про то, как обращаться к ixplorer.exe,
запущенного в качестве сервера, используя визарды
Visual C++.
Возможно, если бы меня интересовали эти только что
упомянутые три темы, меня бы не столь раздражал,
тот факт, что в обзоре возможностей механизмов собственно
операционной системы, вкрапление описания интерфейсов
прикладных приблуд.
Но хватить о грустном. Меня привело в восторг
способ изложения материала. Такого я еще нигде не
встречала. Эта книга как бы состоит из двух очень
разных книг одного автора про одно и то же.
Автор это называет "Подробное описание" и
"Непосредственные решения". Хотя нужное Вам решение
в качестве примера может быть и там, и там.
Когда Вы плохо знаете тему, то вторая часть главы
Вам кажется словесным потоком, но если Вы тему знаете
твердо, то каждое слово в этом потоке - булыжник,
занимающий точно свое место в мощенной мостовой.
Поэтому, разрешите Вам посоветовать, начать читать
книгу со второй части той главы, материал которой
Вы лучше всего знаете. А потом переходите к главам,
все с менее и менее известными Вам механизмами.
Какие-то главы я обе части читала параллельно,
а уж совсем с незнакомым материалом несомненно нужно
начинать с "Подробного описания", где дан необходимый
минимум функций API этого механизма, чтобы за деталями
слазить в MSDN, и достаточный минимум сведений
а что это такое, нужно ли это Вам и когда сможет
пригодиться.
Поэтому, IMHO, эта книга хороша в качестве второй
после Рихтера(или чего-то аналогичного, если такое
существует), когда уже усвоены базисные сведения
о процессах, памяти и файлах.
Возможно, для никсоида(лИНюКсоид или юНИКСоид),
переходящего под винды (а такое может произойти ?-),
эта книга больше понравится чем Рихтер даже не
столько тем, что здесь нет жвачки понятных всем
никсоидам сущностей, но и ориентацией на консольные
приложения.
То, что большинство примеров не привязаны к библиотеке
MFC, очень удобно не для сишников, да и среди сишников
не все используют Visual Studio. Ибо запустить
шустрого Дельфина третей версии гораздо удобней,
да и перевод голого API проще простого.
Консольные примеры - это очень большой плюс этой книги.
А то, что работа многих механизмов продемонстрирована
на примере игр (computer games :-) - это так захватывает!
Чуть не забыла сказать, что есть на диске кроме
исходников и отладочных экзешников примеров (75Mb):