Тебе бы пользы все -на вес
Кумир ты ценишь Бельведерский,
Ты пользы, пользы в нем не зришь.
Но мрамор сей ведь Бог!.. так что же?
Печной горшок тебе дороже:
Ты пищу в нем себе варишь.
A. C. Пушкин. Поэт и толпа
Сергей Дунаев
Сначала зададимся вопросом: а что мы имеем на сегодняшний день? Если отбросить экзотику, выбор в сущности не так велик: FoxPro, Visual Basic, Delphi, Clarion, PowerBuilder. И всё? Ну есть, разумеется, Си++, Java, однако кто из здравомыслящих людей станет программировать на чистых языках! К сожалению, из Искусства программирование все более и более превращается в обыкновенную подельщину. Это результат повальной демократизации, связанной с массовой индустрией PC. Но как только начинаешь говорить об этом - сразу раздаются голоса, сливающиеся в хор: так ведь это же хорошо! Во всем нужно видеть лишь практический смысл, пользу. Слышали уже.
Тем не менее большинству практических пользователей ПК (я имею в виду банковских операционисток, кассиров железнодорожных касс, бухгалтеров и т. д.) вовсе не нужны попугайские расцветки Windows, мышки и коврики. Трейболы, светящиеся карандаши, огромные экраны с высокой разрешающей способностью и малюсенькими, едва различимыми цветными буковками действуют на них не меньше, чем красная тряпка на быка. Они предпочитают черный экран, ясные и неутомительные шрифты, легкую и удобную клавиатуру, привычное текстовое меню и высокую скорость отклика системы. Будь моя воля, я в каждом зале, где постоянно толпится народ и работает за компьютерами обслуживающий персонал, поставил бы вместо ПК обыкновенные терминалы, высокопроизводительный Unix-сервер c Oracle или Informix и запрограммировал бы все операции и бизнес-процессы на обычном PL/SQL или 4GL.
Кстати, те, кто создает действительно сложные системы на базе серверов Oracle, Sybase, Informix, предпочитают использовать их великолепные средства для разработки приложений, такие, как Oracle Designer, Oracle Developer, Oracle Programmer или Informix New Era. В этом смысле PowerBuilder может оказаться предпочтительным, потому что он кросс-платформный и входит ныне в обойму Sybase, да вдобавок поддерживает компонентный транзакционный сервер. Немаловажным представляется и то, как выбранные средства программирования стыкуются с CASE-средствами, с помощью которых проектируется логическая модель базы данных, ибо каждому проектировщику совершенно понятно: грамотно спроектированная структура базы данных - это все.
К сожалению, у нас сегодня отсутствуют отечественные компании, которые бы предлагали целостную гамму собственных инструментальных средств вместе со своим же сервером СУБД. Вообще до недавнего времени я полагал, что не существует универсального средства программирования, что чем оно универсальнее, тем оно хуже. Кассиру и продавцу нужен черный экран с четкими белыми буквами, клавиатура и текстовое меню, а руководителю нужно совсем другое - деловая графика, диаграммы, геоинформационный интерфейс; инженеру нужны САПР и все сопутствующие им средства, а ученым - языки, помогающие в расчетах, и т. д. Можно ли все это заключить в какие-то рамки, предложить единый подход, единые интерфейсы, единый универсальный язык?
Java-технологии подают надежду, что такое все-таки возможно. Java - это вовсе не очередной язык программирования, как утверждает Билл Гейтс, нет, это спасительный ключик, с помощью которого можно открыть любую дверь, что и продемонстрировал недавно глава корпорации Sun Скотт Макнили, не символически, а физически открыв с помощью специально запрограммированного Java-устройства дверь на сцену на конференции JavaOne’98. Тем не менее в этом натуральном акте кроется глубокий символический смысл: Java-программа показала нам, как она открывает дверь в третье тысячелетие.
Разумеется, было бы безумием призывать сейчас всех толпами ринуться в Java. Но присмотреться и начать опробование этих технологий необходимо уже сегодня. По всем перечисленным нами пунктам в Java уже имеются свои решения. Для кассиров и операционисток готовится специальное приложение JavaPC, которое позволит задействовать в совершенно новом качестве огромный парк стареньких ПК c процессорами i386 и даже i286. В них будет встроена виртуальная машина Java, ничем не отличающаяся от той, которая будет инкапсулирована в мощнейшие серверы и СУБД, о чем уже своевременно объявили и Oracle, и Informix, и Sybase. Для проектировщиков CASE-средств готовится продукт Java Modeler, основанный на стандарте графического моделирования UML (Unified Modeling Language). Он позволит в многопользовательском режиме проектировать сложные приложения и даже извлекать объекты из существующих исходных кодов Java. Для тех, кто постоянно работает с базами данных, выпущен продукт Java Blend, способный представлять реляционную базу данных в виде Java-объектов и манипулировать данными без использования привычного, но неудобопонятного языка SQL.
Немаловажным обстоятельством, особенно для российских разработчиков, является то, что почти все Java-продукты бесплатны и доступны со многих узлов Internet. Более того, как правило, они даются в исходных кодах, по крайней мере пока! Java-технологии поистине всепроникающи - это лучший ответ на вызов компьютерных инженеров конца двадцатого века, добившихся скорости передачи по обыкновенной витой паре в локальных сетях 1000 Мбит/с. При таких скоростях совершенно очевидно, что все системы и приложения станут объектно-распределенными и объектно-ориентированными, но именно таковым на 100% и является Java.
Что можно противопоставить идеям самого конца 90-х годов уходящего века? Фортран, Кобол, PL/1, Бейсик, Паскаль - уже сами эти слова звучат подобно названиям музейных экспонатов! Или Microsoft с ее ворохом продуктов, которые она запоздало пытается приспособить к Internet? Вероятнее всего - только Microsoft, которая вместе с нашими приложениями дорабатывает свой срок. Но если бы мне пришлось выбирать, то я бы без колебаний выбрал Java, причем в его чистом виде, без RAD-систем, без средств визуального программирования - только компилятор и отладчик. По крайней мере хоть на короткий срок, на период обучения, но можно забыть про существование технологии “drag and drop” и снова ощутить себя классическим программистом, который сидит за распечатками, с ластиком, с остро отточенным карандашом в руке, а перед ним на рабочем столе дымится чашечка горячего кофе.
К автору можно обратиться по адресу: sbd@polytech.ivanovo.su.