Программирование на Java | страница 35




Наконец, существует механизм подписания апплетов и других приложений, загружаемых по сети. Специальный сертификат гарантирует, что пользователь получил код именно в том виде, в каком его выпустил производитель. Это, конечно, не дает дополнительных средств защиты, но позволяет клиенту либо отказаться от работы с приложениями ненадежных производителей, либо сразу увидеть, что в программу внесены неавторизованные изменения. В худшем случае он знает, кто ответственен за причиненный ущерб.


Совокупность описанных свойств Java позволяет утверждать, что язык весьма приспособлен для разработки Internet- и интранет (внутренние сети корпораций)-приложений.


Наконец, важная отличительная особенность Java - это его динамичность. Язык очень удачно задуман, в его развитии участвуют сотни тысяч разработчиков и многие крупные компании. Основные этапы этого развития кратко освещены в следующем разделе.


Итак, подведем итоги. Java -платформа обладает следующими преимуществами:

переносимость, или кроссплатформенность ;

объектная ориентированность, создана эффективная объектная модель;

привычный синтаксис С/С++;

встроенная и прозрачная модель безопасности ;

ориентация на Internet-задачи, сетевые распределенные приложения;

динамичность, легкость развития и добавления новых возможностей;

простота освоения.

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


Основные версии и продукты Java

Сразу оговоримся, что под продуктами здесь понимаются программные решения от компании Sun, являющиеся "образцами реализации" (reference implementation).


Итак, впервые Java была объявлена 23 мая 1995 года. Основными продуктами, доступными на тот момент в виде бета-версий, были:

Java language specification, JLS, спецификация языка Java (описывающая лексику, типы данных, основные конструкции и т.д.);

спецификация JVM ;