Смекни!
smekni.com

по информатике Луговского Алексея (стр. 1 из 2)

ПРОФЕССИОНАЛЬНЫЙ ЛИЦЕЙ

ИНФОРМАТИКИ И КОМПЬЮТЕРНОЙ ТЕХНИКИ

Java

ЯЗЫК ИЗ КОФЕВАРКИ

Реферат по информатике

Луговского Алексея

группа 112

Санкт-Петербург

2001


Java – один из самых популярных языков программирования наряду с такими «старожилами», как C, Basic, Pascal, и в то же время самый молодой среди них. Мало того, Java де-факто стал стандартом разработки программ для Internet.

Такая популярность в первую очередь – следствие больших надежд, возложенных на Java крупнейшими софтовыми фирмами. Ведь все эти гиганты (IBM, Symantec, Microsoft, Oracle, Sybase, DEC, Borland/Inprise, Netscape) так или иначе переориентировались на использование Java: были созданы средства разработки, компиляторы, серверное ПО, поддерживающее Java и т.д.

Другой, не менее важный фактор – поддержка Java программистами и пользователями. Главный принцип языка «написано однажды – работает везде» привлек многих программистов, которые распространяют программы по Internet и хотят, чтобы они работали на компьютерах любой архитектуры и с любой операционной системой. Пользователи, обменивающиеся данными по Internet, хотят, чтобы их файлы адекватно отображались программами корреспондентов. А для этого опять же имеет смысл применять одно и то же программное обеспечение…

Но для того, чтобы Java стал настолько привлекательным, над ним долго работала группа специалистов компании Sun Microsystems.

Как все начиналось?

В 1991 г. компания Sun Microsystems начала осуществление проекта по созданию «умных» электронных приборов для пользователей с условным названием «Green». Для поддержки этого проекта инженером фирмы Sun Джеймсом Гослингом был создан новый объектно-ориентированный язык, получивший название Oak. Нужен был язык программирования устройств типа сотовых телефонов или телевизионных управляющих систем. Вместо предварительного программирования таких устройств до момента их отправки с завода-изготовителя, программы на том языке могли быть загружены в любой момент по мере необходимости. Упор делался на электронную бытовую технику будущего – телевизоры, телефоны, аудио- и видеомагнитофоны, вплоть до микроволновых печей и кухонных комбайнов, снабженных простейшими процессорами и небольшим объемом оперативной памяти. Предполагалось сделать все эти устройства легко программируемыми и заставить обрабатывать любые потоки информации.

Первое время разработчики планировали адаптировать для своих целей язык C, но очень скоро стало ясно, что для удовлетворения потребностей самого разного аппаратного обеспечения необходимо отказаться от прямой адресации памяти и использования указателей. Перед Гослингом встала непростая задача – в короткие сроки создать простой и высокопродуктивный язык программирования, позволяющий решать самый широкий круг задач. Новый язык сохранил много сходства с C++, но стиль программирования претерпел множество изменений. Язык стал полностью объектным – любые типы данных, включая даже такие простые, как целое число, были представлены соответствующими классами. Требования универсальности привели к воплощению в этом проекте множества новаторских идей, включая массу возможностей при работе с интерфейсами объектов и автоматизацию управления динамической памятью.

В 1993 г. компания Sun подготовила прототип системы удаленного управления с использованием этой технологии, однако возникли некоторые проблемы с поддержкой технологии другими пользователями. В довершение всего оказалось, что слово Oak уже использовалось ранее в качестве торговой марки.

В 1994 г. сеть Internet и WWW-сервис получили бурное развитие. Группа разработчиков Oak начала реализовывать технологию, которая могла бы применяться в ней. Решено было начать работу с новым Web-броузером, который мог бы показать разработки с наилучшей стороны. Было также дано новое название создаваемому языку – Java (жаргонное название кофе, напитка, который многие инженеры пьют ежедневно).

Броузер, получивший название HotJava, был первым продуктом, полностью написанным на Java и способным автоматически загружать и запускать Java-программы. Броузер HotJava повысил интерес к использованию языка Java на Web, и многие компании приобрели лицензию на право использования языка Java в своих разработках. Некоторые из компаний по производству бытовых электронных приборов, сотрудничавшие с фирмой Sun еще в рамках проекта «Green», также обратились в фирму за лицензией на язык Java.

Язык Java обрел такую популярность, что 9 января 1995 г. фирма Sun запустила новый бизнес-проект, названный JavaSoft, который был сконцентрирован на развитии Java. Основным составляющими технологии Java стали: язык программирования, виртуальная машина и прикладной программный интерфейс.

Своим успехом этот язык обязан в первую очередь компании Netscape Communications, которая внедрила интерпретатор Java в новую версию своего продукта Netscape Navigator 2.0 (после чего этот броузер в начале 1996 г. стал самым популярным). 1995 г. можно считать годом рождения языка Java и начала его триумфального шествия по миру. Нарисованная быстрым росчерком кисти художника чашечка горячего ароматного кофе стал официальной эмблемой JavaSoft, и «кофейный аромат» стал визитной карточкой во всех технологических разработках этого подразделения Sun Microsystems.

Язык и технология

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

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

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

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

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

Принятые решения сделали Java-среду идеальным средством разработки клиентских компонентов Web-систем.

Ведущие фирмы быстро оценили уникальные достоинства языка – в первую очередь его полную независимость от операционной системы, под управлением которой выполняются Java-программы. В разработку средств создания и выполнения Java-приложений включились такие крупные компании, как IBM, Microsoft, Oracle, Sybase, DEC, Borland/Inprise и целый ряд других. Как грибы после дождя стали возникать многочисленные небольшие фирмы, специализирующиеся исключительно на Java-технологиях. Результат коллективных усилий разработчиков не замедлил сказаться: будучи одним из самых молодых языков программирования, Java получил всеобщее признание и стал одним из самых популярных средств разработки приложений наряду с такими «старожилами», как C, Basic, Pascal.

Идея создания приложений, не зависящих от платформы, на которой они выполняются, была выражена в основном лозунге создателей Java: «Однажды написанное работает везде». Специфика различных операционных систем скрыта от разработчика Java-приложений так называемой средой выполнения программ (Java Runtime Environment, JRE), ядром которой является виртуальная машина Java (JVM). Такая машина реализуется в виде специального интерпретатора байт-кода, создаваемого для каждой операционной системы в отдельности, и выполняющего программы Java в контексте конкретной операционной системы. Хотя ряд систем разработки предоставляет возможность скомпилировать исходный код Java в исполняемый модуль для вполне определенной операционной системы, в общем случае компилятор Java создает стандартный код, который может быть выполнен и на Windows, и под управлением OS Linux, и вообще везде, где имеется среда выполнения Java, - т.е. на большинстве платформ, использующихся в современных компьютерных системах. Помимо упомянутых ОС, на сегодняшний день в список операционных систем, для которых созданы собственные JRE, входят NetWare, MacOS, OS/2, UnixWare, AIX, IRIX, SCO OpenServer, DigitalUnix, HP UNIX, OS/390, а также ряд других операционных систем, и список этот продолжает расширяться. Сегодня интерпретатор Java имеется в наиболее распространенных броузерах Internet, включая Netscape Navigator и Microsoft Internet Explorer. Это позволяет загружать через Сеть и выполнять прямо в броузере простые Java-программы (апплеты), внедренные прямо в текст WWW-страницы.

Java быстро развивается. Обладая авторскими правами на этот язык, компания Sun Microsystems совершенствует не только интерфейс программирования, но и разрабатывает новые технологические решения в области доступа к базам данных, создания сетевых приложений, поддержки компонентных технологий (в т.ч. ориентированных на CORBA и COM/DCOM) и во многих других отраслях. Новые версии систематически публикуются в виде свободно распространяемого пакета Java Development Kit (JDK), который может получить любой желающий с Internet-узла www.javasoft.com. Этот пакет представляет собой полный набор средств разработки приложений, реализованных в виде утилит командной строки, исчерпывающую документацию и большое количество примеров.