Я думаю, что дело тут вовсе не в пресловутом русском менталитете, представление о котором современные СМИ успели столь изрядно потрепать, что некоторые всерьез полагают, будто у нас чашечке горячего кофе всегда предпочитают квас, самогон или настойку зверобоя. Точно так же и в программировании - в отношении Java благодаря усилиям сплоченных сторонников Microsoft сложилось несколько устойчивых стереотипов, организованных по принципу мифов, напоминающих добрые старые советские времена и эпоху коллективного осуждения романов, получивших всемирное признание: “Сам я не читал, но все равно осуждаю”. Попробуем разобраться в нескольких из этих мифов.
Java -это воплощение мечты програмирования
Миф первый. Кому это вообще нужно? А в самом деле, кому? Тому, у кого уже стоит на столе персональный компьютер с 2 Гб винчестером и 16 Мб ОЗУ, никакая Java уж точно не нужна. Зачем ему это баловство? Microsoft снабдила его всем необходимым - потребляй и радуйся. Вот только одна загвоздка - программистами в массе своей люди становиться не собираются. Более того, упорно сопротивляются этой необходимости. А ведь надо! То сын влезет с какой-нибудь игрой и испортит все конфигурационные файлы. То собьются системные настройки пакетов. То пиктограмма внезапно исчезнет с экрана и в жизни ее потом не найдешь, то коллега пришлет по электронной почте файл в формате WinWord95, а у вас все еще работает WinWord 2.0, и сообщение о том, что вам необходимо за дополнительную плату произвести upgrade, ну никак не может обрадовать. Я знаю много уважаемых людей - асов в своей профессии, которые терпеть не могут сложной бытовой техники: настроить нужные режимы видеомагнитофона с помощью переносного пульта с множеством кнопок представляет для них истинное мучение. Да и кто разберется в этой вакханалии различных стандартов и приемов. Разве что наши дети, которым чаще всего и приходится проделывать эти несложные в общем-то манипуляции. Что же касается компьютеров!.. Все чаще приходится выслушивать признания, что это, мол, игрушка не для меня. Слишком сложно и хлопотно. Или работа, или компьютер. И то и другое поглощают примерно одинаковое количество времени. И тем не менее люди охотно бы использовали ПК, если бы он не требовал таких сложных настроек и перенастроек, производимых за полновесные наличные знакомыми и полузнакомыми специалистами (о, неутомимые виндоуз-техники наших дней!), а еще лучше настраивался бы сам, как телевизор на нужную волну, сам бы заменял все свои устаревшие программы на новые. В этом нет ничего фантастического. Более того, так и будет. Я просто уверен, что через 5 - 7 лет основной объем исполняемых программ будет загружаться не с персональных домашних компьютеров, а с телевизионных приставок под управлением Java-процессоров. Телевизор, телефон и ПК в скором времени объединятся - этот факт не подлежит никакому сомнению. Если же кто-то думает, что и из будущих “чипов” будет выглядывать Windows, то он глубоко заблуждается, хотя бы потому, что Microsoft - это все-таки не всемирная, а корпоративная технология, к тому же узкоспециализированная (Intel). Стоит только фирме Intel дрогнуть и выйти на рынок Java-устройств, и от Microsoft не останется ничего, за исключением кучи денег на личном счету Билла Гейтса.
Миф второй. Программы на Java непереносимы. Но это уж и к мифу отнести нельзя, это просто злопыхательство. С моей точки зрения, нужно приложить недюжинные усилия и незаурядное умение, чтобы заставить Java-программу стать непереносимой. Эта работа сродни написанию вирусов или открытию очередных брешей в защите MS Internet Explorer. Впрочем, чего не сделаешь ради любимой фирмы, которая, кажется, и выпустила свой Java-компилятор только затем, чтобы дискредитировать этот язык программирования, а в итоге дискредитировала самое себя, ибо все проблемы несовместимости проистекают из нежелания следовать открытым стандартам и навязывания вместо них - своих, корпоративных. Мне, к счастью, не удалось сотворить непереносимую программу на Java, как я ни старался, так что слух о том, что такое все-таки случается, на мой взгляд, тоже из области мифов.
Миф третий. Java не имеет полноценных средств и интерфейсов для работы с базами данных. Я и сам так раньше думал, после долгих бесплодных поисков dBAnyWhere, содержащего библиотеку классов для работы с базами данных. Однако, после того как я установил JDK1.1, бесплатно распространяемую фирмой JavaSoft для платформ SUN Solaris и Windows, все встало на свои места. Более того, тем, кто скачает с узла http://developer.javasoft.com JDBC-драйверы, я советую запустить программу JDBCTest, и вы увидите перед собой настоящий Database Explorer, который мгновенно соединится со всеми базами данных, описанными на вашей машине через ODBC-источники. Я попробовал соединения с Oracle, Informix, dBase, MS SQL Server, и везде все работало безотказно. Более того, можно просматривать метаданные, содержимое таблиц и полей, посылать последовательности SQL-операторов и т. д. При этом по каждой исполняемой операции в специальном окне можно просматривать сгенерированный Java код и учиться приемам программирования на Java при работе с базами данных.
Миф четвертый. Все, что вы хотите сделать на Java, можно сделать при помощи динамического HTML. Этот миф - для простодушных и доверчивых. Нас изо всех сил пытаются убедить, что Java - это всего лишь игрушка для воспроизведения движущихся картинок, которую с легкостью можно заменить другой, еще более удобной игрушкой. Между тем Java сегодня - это грозная индустрия, идущая на смену традиционным коммуникационным и компьютерным технологиям. На эту орбиту выходят десятки крупнейших фирм с оборотом в сотни миллиардов долларов. Разве ни о чем не говорит пример фирмы Novell с ее фанатичной устремленностью к Java? Разве можно сравнивать чудовищные и нечеловеческие конструкции HTML с классической ясностью и элегантностью полноценного языка программирования? Надо ли сравнивать убогость и узость HTTP с богатейшими возможностями IIOP и RMI в Java?
Нет смысла более перечислять и развеивать мифы. Надо просто понять - мы имеем дело с принципиально новой технологией - детищем Internet. Какой смысл оспаривать лозунг: “Написанное однажды где-нибудь работает везде!”. А если сейчас не работает, то заставьте его работать при помощи новой технологии, которая во имя исполнения этого лозунга и создавалась. Java - это воплощение мечты программирования, поэтому не стоит сдавать эту мечту в аренду какой-нибудь одной или нескольким фирмам, даже если это SUN, IBM или Microsoft. Еще долго будут раздаваться голоса из прошлого, заклинающие не поддаваться соблазнам нового и оставаться реалистами. Мы видели уже, во что превращается реализм, когда он становится официальным учением. Одна технология рано или поздно совершенно естественным образом сменяет другую. Настало время если уж не полюбить, так хоть по крайней мере более терпимо относиться к людям, которые пиву и чаю предпочитают чашечку горячего кофе. 4
Сергей Дунаев - руководитель службы системной интеграции Ивановского государственного энергетического университета, с ним можно связаться по адресу: sbd@polytech.ivanovo.su или
www.polytech.ivanovo.su/~sbd.
Сергей Дунаев