Рецензия

 

Интернет приходит в коммерческие и государственные организации, школы. Многие домашние компьютеры подключены к Сети. Открывающиеся при этом возможности доступа к разнообразной информации, общения, совместных игр и развлечений будоражат воображение. Технологии Интернета составляют основу внутренних информационных систем, и уже ощущается нехватка хорошо разбирающихся в этих технологиях программистов и соответствующей учебной и справочной литературы. Это особенно обидно, так как некоммерческий дух Интернета способствовал формированию и оттачиванию открытых стандартов, архитектур и технологий в результате совместной работы множества талантливых людей. Благодаря этому Интернет для программиста может служить неисчерпаемым источником идей и готовых решений в области распределенных информационных систем и сетевых технологий.

 

Выпущенная издательством "Питер Пресс" книга К. Джамсы и К. Коупа "Программирование для Internet в среде Windows" рассчитана на желающих научиться программировать для Интернета. Предполагается, что читатель умеет пользоваться Интернетом и программировать на языке Си. Такое сочетание требований вполне естественно и позволяет авторам сразу перейти к сути дела.

 

Первые шесть глав книги знакомят с принципами организации компьютерных сетей, особенностями сетей коммутации пакетов, многоуровневой моделью ISO/OSI, семейством протоколов TCP/IP, сетевым и транспортными протоколами, мостами, шлюзами, маршрутизаторами, протоколами подключения по телефонным линиям (SLIP, CSLIP и PPP). По смыслу сюда же относится приложение о принципах защиты и безопасности. Авторы точно дозируют материал, добиваясь того, чтобы программист "почувствовал" важнейшие особенности Интернета. Аналогичные описания есть во многих книгах, но это  -  одно из лучших.

 

Далее авторы знакомят читателя со стандартным интерфейсом прикладного программирования TCP/IP (сокетами) и обстоятельно разъясняют абстракцию сокетов, основные действия с ними и принципы структурирования программ, использующих сокеты. В книге рассмотрена реализация интерфейса сокетов в среде Windows (Winsock), ее отличия от классической модели "сокетов Беркли" и различия Winsock в разных версиях Windows (3.1, 95 и NT). Учитывая появление Winsock в новой версии OS/2 Warp Connect 4 (Merlin), можно сказать, что охвачены все широко распространенные компьютерные платформы.

 

Авторы умело применяют традиционный для учебников прием чередования теории и примеров ее применения к реальным задачам. Разъяснение протоколов Интернета (доменной системы имен, протоколов времени, протоколов почты SMTP и POP, Telnet, Finger, FTP и HTTP) дает почву для разработки соответствующих программ и обсуждения нюансов интерфейса сокетов (простые и асинхронные сокеты, дескрипторы задач) и программирования в среде Windows (использование динамических библиотек, визуальное программирование). Это, в свою очередь, позволяет перейти к более сложным протоколам. Каждый цикл обеспечивает "приращение знаний" читателя, что значительно сокращает объем информации, которую нужно запомнить и держать "про запас". В результате без излишнего напряжения читатель понимает принципы построения интерфейса программирования Winsock и приобретает навыки его практического использования, достаточные для написания реальных программ.

 

Книга переведена легким, ясным языком, прекрасно оформлена и издана. Как и всякий хороший учебник, она формирует у читателя мощную базу для новых знаний, а многочисленные аннотированные ссылки на RFC (Request For Comments) дают направление для самообразования. Рецензируемую книгу можно рекомендовать школьникам старших классов, студентам и всем интересующимся программированием для Интернета.

 

В этой книге трудно найти недостатки. Пожалуй, она выиграла бы от наличия главы о принципах проектирования протоколов. В качестве примера можно было бы разработать простой протокол для совместных игр, например в "морской бой" или "монополию". Полезен был бы раздел об истории и этических нормах Интернета. Дело в том, что персональные компьютеры и сети предприятий, подключенные к Интернету, плохо защищены. Поэтому умение программировать в сочетании с наклонностями хакера может создать у читателя ощущение всемогущества и направить его активность во вред пользователям Сети. В то же время Интернет дает талантливым людям редкую возможность приносить пользу другим и даже ощутимо способствовать прогрессу человечества. Я считаю, что учебник не должен обходить молчанием эту тему.

 

Телефон издательства "Питер Пресс": (095) 235-5583, электронный адрес: postbook@piter-press.spb.su, http://www.piter-press.ru.

 

Вадим Федоров