За последнее время появилось несколько замечательных переводных книг для программистов-профессионалов. К ним, на мой взгляд, можно отнести книги Кернигана и Ритчи - по языку Си, Страуструпа - по языку Си++, Петцольда - по программированию на языке Си для Windows. Недавно издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd." выпустил книгу Джеффри Рихтера "Windows для профессионалов. Программирование в Win32 API для Windows NT 3.5 и Windows 95" (Microsoft Press,1995).
Нет необходимости говорить о полезности этой книги сейчас, когда Windows NT и Windows 95 приобретают все большее и большее значение. Ее написал программист-профессионал, автор рубрики "Win32 Q&A" в Microsoft Systems Journal, по праву считающийся ведущим специалистом в этой области.
Книга содержит описание функций Win32 API, дополненное примерами программ с исчерпывающими комментариями к ним. Она предназначена для программистов, у которых есть опыт в разработке программ для Windows и, несомненно, послужит для них, и не только для них, полезным справочником.
Книга состоит из введения, 16 глав, двух приложений и указателя функций, описанных в книге. Каждая из глав книги посвящена отдельной теме, начиная с того, что такое Win32 и зачем нужны процессы, и заканчивая обработкой исключительных ситуаций и использованием памяти в многозадачных средах. Поскольку в настоящее время существуют различные платформы, поддерживающие Win32, то в книге отмечаются особенности реализации той или иной функции в Windows NT или Windows 95. Использование каждой функции иллюстрируется примером программы, для которой приводится листинг, а в ряде случаев - и результаты выполнения. С учетом всего сказанного можно с уверенностью сказать, что эта книга послужит прекрасным учебником по разработке 32-разрядных приложений для программистов-профессионалов.
Но... Опять это досадное "но". К сожалению, книга не лишена недостатков, которые у профессиональных программистов вызовут, по крайней мере, легкое недоумение. Это связано с переводом отдельных английских терминов и использованием профессионального жаргона.
Как вам, к примеру, нравится такое название главы КУЧИ? Или фраза "... у процесса может быть несколько куч"? Да-да, именно так, слово "куча" - без кавычек. Программисту-профессионалу знаком термин heap, и он действительно на жаргоне программистов означает "куча", но для книги лучше подошел бы термин "динамически распределяемая область памяти" или используемая в компьютерной прессе калька с английского - "хип".
Или "... в коде сидит жучок ". Да, слово bug переводится как жук, но для программиста это - ошибка. Точно так же starvation переводится как зависание, а не как перегрузка, для которой есть свой известный термин overloading. Термин exception в программировании для Windows обозначает исключительную ситуацию или сбой, и программа обрабатывает именно это, а не исключение. В памяти выделяются не регионы, а области (regions).
Читая книгу, каждый раз при ссылке на пример программы я видел в тексте "см. листинг на рисунке номер...". Честно говоря, для меня рисунок обозначает несколько другое, а английское слово Figure (думаю, именно оно употреблялось в оригинале) в данном случае лучше переводить как иллюстрация.
В книге есть и другие недочеты - некоторые таблицы не до конца оформлены, нет общего стиля для иллюстраций, а последний абзац в главе 14 повторен дважды - видимо, для лучшего запоминания.
Кто-нибудь скажет, что это - мелочи. Возможно, но такие мелочи, к сожалению, очень портят нужную и прекрасно изданную книгу.
Алексей Роговцев