Упростив донельзя физический труд, человечество взялось за труд умственный - в середине века произошло действительно революционное событие - появился компьютер - инструмент, способствующий усилению возможностей мозга человека. Однако опять, как и много лет назад, увлечение все более изощренными реализациями инструмента отвлекает от решения главной задачи - расширения функциональности.

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

Действительно, из 100% мощности компьютерной системы только 10% расходуется на полезную функциональность. Остальные 90% идут на обслуживание самой системы: ОС, общесистемные задачи, разного рода Case-оболочки и т. п. Почему вы используете Word, да еще 7.0 для Win95 если в большинстве случаев ничего, кроме плоского текста, состоящего из алфавитно-цифровых символов, не требуется? Ответ - потому, что это круто. Зачем нужны многочисленные Case-средства, отбирающие еще 10% мощности вычислительной системы, - потому, что когда-нибудь потом, может быть, придется перестроить программу.

Возможно, все это малоинтересно и относится к области академических рассуждений, однако оказывается, что постоянная гонка за все более крутыми конфигурациями оказывает самое прямое воздействие на общество в целом. Налет гигантомании, вообще, весьма характерен для решений, принимаемых на просторах России - однако никогда еще планы типа "проекта северных рек", которыми полна наша история, реально не оказывали какого-либо влияния на уровень жизни среднестатистического гражданина страны. Например, вместо того чтобы тратить огромные средства на многомиллионную армию, не эффективнее ли было бы создать несколько высокомобильных и хорошо обученных групп, не отчитывающихся перед интендантами за каждую портянку и способных не только самостоятельно принимать решения, но и реализовывать их? Реальный пример - МЧС, где пошли именно по пути создания хорошо укомплектованных и относительно небольших отрядов. Никогда еще ранее одни только импортные технологии и оборудование не решали российских проблем. Достаточно вспомнить хотя бы, как хорошо горели танки, поставляемые союзниками во время отечественной войны, самолеты, которые по всем параметрам уступали технике противника. Сегодня - это увлечение закупками компьютерных систем, используемых только в центрах, да и то больше для показухи.

Увлечение большими и неоправданно сложными аппаратными конфигурациями приводит к тому, что потенциал ИТ остается сегодня невостребованным - он просто не доходит до критической точки своего использования, за которой начинается уже реальная "компьютерная грамотность". Кроме аппаратных перегибов имеются еще и трудности применения компьютерных систем. Казалось бы, очевидно, что сегодня без автоматизации почти невозможно решать серьезные задачи; однако, как показывает опыт, ресурсов квалифицированных кадров это требует не меньше, а больше - необходима очень серьезная переподготовка. Реально сопровождение аппаратуры, системного и прикладного ПО требует еще больше средств, чем до момента принятия решения об использовании ИТ. Следствием является скептицизм потенциальных потребителей и дискредитация самой идеи автоматизации, реализация которой требует дополнительных средств, коих и так сегодня не хватает на нормальное функционирование.

Что делать? Думать и анализировать факты, часто лежащие на поверхности. Например, сейчас в компьютерных СМИ широко обсуждается концепция сетевого компьютера, представляющего собой неосознанную еще попытку компьютерного сообщества уйти от бесконечной, изматывающей гонки за все более крутые компьютеры, почти не добавляющие функциональности. NC - это ни что иное как одна из реализаций проблемно-ориентированной системы автоматизации, аккумулирующей практический опыт и предоставляющей пользователю ровно тот сервис, который он желает, а не накачанные вспомогательным программным обеспечением компьютеры. Задача NC одна - открыть окно в мир и, как только это окно станет узким, просто выбросить без сожалений функциональный ящик, реализующий NC, и установить другой. Второй пример - игровые приставки Nintendo, построенные на тех же RISC-процессорах, что и суперкомпьютеры, однако благодаря своей реализации по принципу функционального компьютера, переживающие сегодня небывалый всплеск популярности.

В чем же состоят эти принципы? Вкратце - масштабируемая модульность, взаимозаменяемость на основе серийной недорогой элементной базы, стандартизация и доступная цена. Программное обеспечение таких систем не содержит слоя общесистемных, универсальных сервисных аппаратных и программных компонентов. Мало кто сегодня задумывается о проблемах модернизации ручек или бумаги - выбросил, и дело с концом. Гораздо важнее информация, полученная с помощью этих средств, а попросту говоря, расходных материалов. Однако сегодня выбросить Pentium c 16 Мбайт памяти, напичканный, казалось бы, солидным, а по сути малополезным, с точки зрения функциональности для конечного пользователя ПО, отважится далеко не каждый. Итак, функциональный компьютер - это система, объединяющая модули, реализующие формализованные задачи конкретных пользователей. Это прежде всего интеграция трех составных частей: требований специалиста, человеческого фактора и возможностей ИТ.

Завершить эти наброски тем не менее хочется на мажорной ноте - отрадно, что уже из самого факта дискуссий вокруг NC следует, что компьютерная общественность, даже под давлением прожорливых компьютерных гигантов, еще не утратила веру в доступные и простые решения. Следует напомнить, что во многом именно недостаток вычислительной мощности сделал в свое время отечественную прикладную математику одной из наиболее развитой в мире - отсутствие мощных компьютеров способствовало созданию эффективных вычислительных алгоритмов, многие из которых не имеют замены и по сей день.


Дмитрий Волков - главный редактор журнала "Открытые системы". С ним можно связаться по электронной почте по адресу: vlk@osp.ru.

Поделитесь материалом с коллегами и друзьями