ПОЛЕЗНЫЕ СОВЕТЫ


ТЕХНОЛОГИЯ JAVA, КОТОРАЯ ДОЛЖНА ИЗМЕНИТЬ МИР


Согласитесь, что далеко не всякий разработчик в области программных средств может похвастаться изобретением, достойным войти в историю. Джеймс Гослинг, руководитель группы инженеров из Sun Microsystems, может. Именно он и его коллеги создали в начале 90-х годов объектно-ориентированный язык программирования Java, который впоследствии был принят и одобрен миллионами потребителей; по своему значению это можно сравнить с появлением в 80-х годах программной оболочки Windows, изменившей "облик" ПК! В результате, между концепциями Java и Windows развернулась борьба за потребительский рынок.

Сегодня в прессе не утихают споры: сможет ли технология Java (в том варианте, который предлагает Sun) стать новой идеологией, способной сменить или хотя бы серьезно потеснить на рынке программных средств MS-Windows? Попробуем найти ответ.


Резвая лошадка по имени Java
Группа Джеймса Гослинга была не единственной, на которую Sun возлагала надежды при создании новых перспективных технологий (параллельно, например, работал Джон Остерхаут - создатель Tc1). Однако успех языка Java превзошел любые ожидания - все взоры, в конце концов, устремились на него...

1991-1992 годы. Гослинг пробует написать операционную систему для взаимодействия через сеть электронных устройств бытового назначения, пытаясь расширить язык С++. Однако проект не удался, и Гослинг изменил тактику. Он взялся за написание объектно-ориентированного языка, который отвечал бы требованиям сетевого взаимодействия. Этот язык, предназначенный в основном для сетевых домашних приложений, был назван Oak (что в переводе означает "дуб"). В результате появилось неплохое программное средство, доступное для работы практически на любой машине и в любой операционной среде. В начале 1994 года техническое руководство Sun предложило интегрировать Oak в Internet и Гослинг, работая над этой новой версией, переименовал свой Oak в Java. Название оказалось счастливым.

Через два года компания Sun разработала первый браузер, который поддерживал язык Java, и начала распространение Java в Internet.

Было решено сделать новую технологию открытой.

Java официально определен авторами как простой объектно-ориентированный и архитектурно-нейтральный язык. Среди его особенностей следует назвать прежде всего сходство с С++. Программисты находят, что, зная основы С++, легко понять и синтаксис языка Java. При этом Java более удобен в работе, на нем легче и быстрее программировать.

Создавая программы в среде Java, разработчики пользуются библиотеками классов, которые содержат описания объектов, объединенные по темам. Например, для работы с базами данных существует пакет java.sql; при создании сетевых программ используется пакет java.net и т.д. Все эти пакеты, отмеченные индексом java, предполагают полную совместимость Java-программ. Для соблюдения этого важнейшего условия компанией Sun была объявлена инициатива "100%-чистая Java", о которой мы еще скажем.

Написанные на языке Java программы компилируются в байт-код, т.е. в вид, доступный для выполнения на любом компьютерном средстве, где создана JVM (виртуальная Java-машина). JVM представляет собой операционную "надстройку", которая служит для адаптации существующих компьютерных систем к Java.

Итак, Java-программы представлены после компиляции не в машинных кодах, а на более высоком уровне, в платформо-нейтральном байт-коде. У такого представления есть недостаток - низкая скорость выполнения программ.

Чтобы ускорить работу, созданы специальные средства, которые компилируют байт-код в машинный код; в качестве примера можно назвать jast-in-time-компилятор, входящий в состав виртуальной машины HotSpot.

Интересная подробность. Многие пользователи справедливо отмечают, что Java-приложения (апплеты) выполняются слишком медленно, но часто упускают из виду, что одна из возможных причин такого поведения - недостаточная оптимизация виртуальных машин Java под аппаратные и программные средства PC, включая браузеры. Ответ о функциональной пригодности может дать продукт Jmark, предназначенный для тестирования виртуальных Java-машин.

Jmark проверяет работу процессора и графической подсистемы. Его версия Jmark2.0 может по результатам проверок в лаборатории Ziff Davis быть запущена практически на любом браузере, который поддерживает Java 1.1. (например, используя Netscape Navigator 4.0, вы должны иметь последнюю версию JDK 1.1 для Netscape).

Как Windows не является только графическим интерфейсом, так и Java представляет собой нечто большее, чем только способ писать программы! Созданная на ее основе операционная система в лице виртуальной машины стала универсальным средством общения в Internet. Java поддерживает с одинаковым успехом и PC, и мобильные телефоны, и ручные приборы (типа органайзеров), и устройства офисной электроники (принтеры, сканеры). Таким образом, в орбите интересов Java оказались значительные по своему количеству и ассортименту аппаратные средства. А значит, открылась возможность для разработки и продажи целого комплекса Java-приложений.

Существует три области, в которых позиции Java наиболее сильны.

Идея концепции "100%-чистая Java" сводится к нехитрой, очень привлекательной для пользователей формуле: "Напишите один раз, выполняйте везде!" Однако, как бы ни были прекрасны намерения создателей Java, на практике все получается не так гладко. Любой опытный программист сообщит вам, что тезис "Напиши один раз, выполняй везде!" является на сегодняшний день невыполнимым: разнообразие виртуальных машин и браузеров не дает возможности предусмотреть все нюансы. А если добавить к этому, что загрузка Java-апплетов через сети идет медленно, то можно получить ответ, почему пользователи не спешат внедрять предлагаемые фирмой Sun технологии. Вот что написано в одном из Internet-сайтов: "Если вы намерены применять Java, советуем вам придерживаться областей, которые представляют относительную безопасность. Например, такие области, как серверы. Возможно, встроенные системы. И старайтесь быть подальше от остального!"


Как Sun и Microsoft выясняли отношения
Основные разногласия пошли из-за того, что Microsoft не вполне корректно включила Java-компоненты в состав своего браузера Internet Exployer 4.0 (IE 4.0). У руководителей Sun и многочисленных экспертов, познакомившихся с данной системой, возникло предположение, что Microsoft умышленно модифицировала Java-технологию под Windows, желая укрепить свои позиции в Internet.

Скорость выполнения Java-программ в IE 4.0 выше, чем у других браузеров, однако, не обеспечиваются некоторые стороны совместимости. Например, фрагменты Java-программы, выполняемые на разных компьютерах, не могут взаимодействовать друг с другом; не поддерживаются программы, скомпилированные в среде С и С++ и т.д.

Иными словами, Microsoft высказала собственное понимание открытой технологии Java, решив присоединить ее к своей Windows.

Sun выступила против логотипа Java для такого решении. По ее мнению, разработчиков и пользователей нельзя вводить в заблуждение относительно возможностей новой технологии, которую Microsoft дискредитирует.

Развитие конфликта между двумя компаниями (а вместе с тем и историю развития Java-технологии) можно проследить по следующей хронологической таблице:

7 декабря 1995. Microsoft приобретает лицензию на Java с намерением (как это станет известно позднее) оптимизировать технологию Java под Windows, что станет причиной конфликта, который особенно сильно проявит себя два года спустя.

19 декабря 1995. Java завоевывает специальный приз журнала PC Magazine на том основании, что данная технология является многосторонней и дает разработчикам свободу действий.

9 января 1996. Компания Sun организует подразделение Javasoft, которое начинает разрабатывать собственные Java-продукты и ведет совместные работы с другими фирмами.

23 января 1996. Sun завершает разработку программной среды Java Development Kit 1.0, которая включает Java Applet Viewer, Java-транслятор и виртуальную машину Java.

9 апреля 1996. Журнал PC Magazine делает детальный обзор JDK 1.0. со всеми ее достоинствами и недостатками.

29 мая 1996. Более 6000 специалистов посещают первую Java One-конференцию.

22 октября 1996. Журнал PC Magazine проводит сравнительные испытания Java-приложений. Наилучшие показатели имеют Microsoft Internet Exploхer 3.0 и Netscape Navigator 3.0 (последний, ввиду нового компилятора, работает значительно быстрее, чем Navigator предыдущей версии 2.0).

29 октября 1996. Sun демонстрирует первые модели сетевых компьютеров на базе Java (но пока не объявляет об их продаже).

11 декабря 1996. Sun анонсирует инициативу "100%-чистая Java", которую принимает более 100 компаний - практически все, кроме Microsoft.

Сентябрь 1997. Microsoft начинает распространение Internet Exploxer 4.0, который не прошел тесты на полную Java-совместимость.

7 октября 1997. Sun подает в суд на Microsoft за нарушение лицензионных обязательств и несанкционированное использование логотипов Java.

16 декабря 1997. Java - победитель в журнале PC Magazine. Джеймс Гослинг и его команда Java-разработчиков называются лучшими людьми года в компьютерном мире и получают премию. И, наконец, сообщение, полученное в апреле этого года: Sun добивается в судебном порядке временного запрещения на использование логотипа "Java-совместимый" в продуктах Microsoft.


Что добавить в качестве комментария?
Ни для кого не секрет, что компания Microsoft является искусным бизнес-игроком, который умело использует в своих интересах чужие достижения (достаточно вспомнить, что идея знаменитой Windows заимствована у "маков"). Тактика признания и присоединения к своей платформе чужих достоинств выглядит достаточно гибкой и в какой-то степени подкупает пользователей. С другой стороны, неодобрительные высказывания руководства Sun в отношении Windows не всегда достигают должного эффекта: пользователи вряд ли пожелают признать, что время и деньги, потраченные ими на освоение этого популярного продукта и его приложений, оказались бесполезной тратой.

А вот еще одно любопытное мнение: "Java и сетевой компьютер оказали пользователям совершенно незаменимую услугу. Они заставили многих производителей - таких, как Compaq и др. - сбросить цены на ПК до феноменально низкого уровня!" (Дэвид Кили, аналитик Meta Group Inc.)

В общем, споры вокруг новой технологии, разработанной компанией Sun на базе языка программирования Java, не утихают. При этом никто не ставит под сомнение сам язык Java: речь идет лишь о приложениях, в которых он будет использоваться. На сегодняшний день определились два основных направления:

Анатолий Шеметов, по материалам Internet


КОМПЬЮТЕР-ИНФОРМ