В марте 1995 года с развитием WWW как транспортной среды для работы сетевых приложений Sun Microsystems принимает решение открыть спецификации новой технологии и свободно распространять ее в Internet. В этом же году язык ОАК был переработан и переименован в JAVA (название популярного сорта кофе США).
Для продвижения языка JAVA Sun Microsystems в апреле 1995 года выпускает Web-браузер, целиком написанный на JAVA. Но стремительное распространение JAVA начинается, когда фирма Netscape Communications лицензирует JAVA-интерпретатор для включения его в свой продукт Navigator 2.0.
JAVA — это объектно-ориентированный язык, схожий с C++. Фирма Sun описывает его как "простой, объектно-ориентированный, распределенный, интерпретируемый, надежный, защищенный, не зависящий от архитектуры, переносимый, высокопроизводительный, многопоточный и динамичный".
При разработке языка была поставлена цель — создать простой язык, не требующий специального изучения. Поскольку большинство программистов используют языки С и C++, язык JAVA был разработан так, чтобы быть максимально похожим на C++. Однако в нем нет таких возможностей C++, как перегрузка операторов (есть только перегрузка методов) и множественное наследование. По мнению создателей JAVA, эти возможности C++ используются редко и затрудняют разработку приложений. В язык добавлена автоматическая "сборка мусора", что существенно сокращает число ошибок, связанных, например, с выделением и освобождением памяти. Кроме того, базовый интерпретатор языка и поддержка библиотеки классов занимают всего 40 Кбайт, а вместе с поддержкой стандартных библиотек и потоков — чуть более 200 Кбайт.
Как уже отмечалось, JAVA повторяет язык C++ и обладает возможностью динамического "разрешения" ссылок на методы, заимствованные у OBJECTIVE С. JAVA позволяет сосредоточиться на функциональности самой программы, а не на выборе языковых средств для ее создания.
Особенность языка JAVA и его отличие от всех остальных языков программирования заключаются в использовании виртуальной машины JAVA, что делает этот язык машинно независимым. При компиляции программы JAVA создает не исполняемый модуль для процессора, а байтовый код JAVA, который представляет собой набор команд для некоторой виртуальной машины JAVA. Поэтому для выполнения программы необходим интерпретатор байтового кода, который при загрузке программы через WWW должен быть встроен в программу просмотра (например, Internet Explorer или Netscape Navigator).
Использование виртуальной машины дает ряд преимуществ. Во-первых, как уже говорилось, — машиннонезависимость. Во-вторых, программы для виртуальной машины JAVA имеют намного меньший размер, чем обычные программы. Это позволило передавать эти программы по сети Internet.
В-третьих, т. к. программы не обращаются напрямую к процессору, это делает программы на JAVA безопасными. Программы выполняются внутри виртуальной машины, которая постоянно следит за тем, чтобы программа не сделала чего-нибудь небезопасного.
В обеспечении безопасности также играет большую роль и то, что JAVA — строго типизированный язык, позволяющий выявлять ошибки на стадии компиляции. Одним из отличий JAVA от C++ является то, что в нем невозможно "затереть" память или испортить данные.
В большинстве случаев JAVA — более динамичный язык, чем С или C++, за счет того, что объектно-ориентированная парадигма используется в нем "напрямую". Возможно добавление новых методов в библиотеки, что никак не влияет на уже готовые программы. Напротив, это делает программы более гибкими, способными к изменениям, и позволяет создавать более динамичные приложения.
Язык JAVA представляет собой мощное средство для разработки приложений. Основанный на объектно-ориентированном программировании, позволяющий создавать независимые от архитектуры приложения, данный язык является практически идеальным средством создания приложений для Internet.
С тех пор, как основополагающая концепция JAVA получила дальнейшее развитие, в частности она пополнилась компонентной моделью JAVABEANS, обеспечивающей взаимодействие апплетов JAVA между собой, а также новыми процедурами, которые призваны сделать этот язык, как и планировалось изначально, действительно независимым от платформы. Технология JAVA возникла как альтернатива стандартной модели "клиент- сервер", реализованной в WINDOWS, и одновременно как язык программирования, виртуальная машина и среда для разработки приложений. JAVA занимает центральное место почти в каждой дискуссии, посвященной проблемам компьютерных информационных технологий.
Читать дальше