Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Java — язык программирования

Тип: реферат
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Этапы развития, особенности и возможности языка программирования Java; происхождение названия. Приложения Sun Microsystems: идеи, примитивные типы. Python - высокоуровневый язык программирования общего назначения: структуры данных, синтаксис и семантика.
Краткое сожержание материала:

Размещено на

Java -- язык программирования

Java -- язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры. Дата официального выпуска -- 23 мая 1995 года. Сегодня технология Java предоставляет средства для превращения статических Web-страниц в интерактивные динамические документы и для создания распределенных не зависящих от платформы приложений.

"Группе была поставлена задача создать распределенную систему, которую можно было бы в качестве современной программной технологии продавать производителям бытовой электроники," - вспоминает Гослинг.

Гослинг, которому сейчас 40 с небольшим лет, перешел в Sun в 1984 г. из исследовательского отдела IBM. Его первая работа - интересный технически, но не имевший коммерческого успеха оконный интерфейс NeWS. Он также написал GOSMACS - первую реализацию текстового редактора EMACS на языке С.

Эта деятельность в области бытовой электроники (которая потом стала называться проектом "Green") показала Гослингу и его коллегам, как важны для потребителя такие показатели, как надежность, стоимость, соответствие стандартам и простота. Если пользователи рабочих станций заинтересованы в большой мощности и терпимы к высоким ценам, необходимости длительного обучения и наличию различных ошибок, то рядовым потребителям нужны дешевые, относительно простые и надежные устройства.

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

В отношении произношения в русском языке, как и в ряде других, образовались две различные нормы -- заимствованная англоязычная джава») и традиционно-национальная «ява», соответствующая традиционному произношению названия острова Ява. Компания Sun придерживается англоязычного произношения во всех странах мира. Иногда в обиходе используют также жаргонное слово «Жаба» (например, изображение жабы есть на календариках группы российских пользователей Java (Java Users Group).

Java -- так называют не только сам язык, но и платформу для создания и исполнения приложений на основе данного языка.

Изначально язык назывался Oak («дуб») и разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Впоследствии он был переименован в Java и стал использоваться для написания клиентских приложений и серверного программного обеспечения. Назван в честь марки кофе Java, любимого некоторыми программистами, поэтому на официальной эмблеме языка изображена чашка с дымящимся кофе. Существует и другая версия происхождения названия Java, а именно, Java это сленговое обозначение кофе (по имени одноименного острова, где производится популярный кофе) с аллюзией на кофе-машину, как пример бытового устройства, для программирования которых изначально язык создавался.

Вначале был С++

Чтобы не связывать разработку с конкретной платформой, Гослинг начал с расширения компилятора С++. Со временем, однако, он понял, что один С++, как его ни расширяй, не сможет удовлетворить все потребности. Поэтому в середине 1991 года был задуман язык Oak. (Впоследствии при поиске торговой марки его название было заменено на Java). "В конце концов, язык - это средство, а не самоцель, - поясняет Гослинг. - Мы не собирались зацикливаться на С++, а хотели разработать систему, которая позволяла бы создавать большую распределенную разнородную сеть из бытовых электронных устройств, способных взаимодействовать между собой".

В конце 1992 года, предприняв, по выражению тогдашнего инженера проекта Патрика Нотона, "огромные усилия по доработке Oak и других компонентов", коллектив проекта "Green" выпустил "*7" - устройство типа PDA, названное Гослингом "ручным пультом дистанционного управления".

"За полтора года мы сделали столько же, сколько иные большие коллективы в Sun делали за три года, - с гордостью отмечает Нотон. - Операционную систему GreenOS, язык, инструментарий, пользовательский интерфейс, новую аппаратную платформу, три заказных микросхемы... и каждый этап был связан с риском, т.к. мы использовали совершенно новые технологии".

30-летний Нотон до прихода в команду Green возглавлял проект Sun по разработке пользовательской среды Open Window.

Малогабаритность устройства *7 выгодно подчеркивала компактность и эффективность кода, являвшегося ядром технологии. Этот продукт широко демонстрировался в Sun и произвел впечатление на таких важных персон, как Скотт Макнили и Билл Джой, однако его дальнейшая судьба оставалось неясной.

Гослинг считает браузер таким компонентом, который "создает рынок" для инструментальных средств, серверов и сред разработки. И во всех этих средствах язык Java играет ключевую роль. "До появления Java страница WWW фактически представляла собой листок бумаги. С появлением Java браузер задает структуру и резко расширяет возможности провайдеров содержания".

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

Имея же такие инструментальные средства как Java и Web, вы получаете исходно организованную систему, подчеркивает он. "Если вы создаете на языке Java клиентскую часть приложения, то его запуск сводится просто к переходу на соответствующую страницу. Инсталляция тривиальна - просто поместите необходимое ПО на Web-сервер. И никаких проблем с переносом, поскольку имеется только одна версия приложения". Многие компании, по словам Гослинга, уже организуют базы данных в виде Web-страниц с использованием интерфейса Common Gateway Interface (CGI) - специфического стандарта для работы внешних программ на сервере HTTP.

Основные особенности языка

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

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

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

§ применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,

§ широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,

§ аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10-30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и большее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++.

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

Основные возможности

§ автоматическое управление памятью;

§ расширенные возможности обработки исключительных ситуаций;

§ богатый набор средств фильтрации ввода/вывода;

§ набор стандартных коллекций, таких как массив, список, стек и т. п.;

§ наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI);

§ наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы;

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

§ унифицированный доступ к базам данны...

Другие файлы:

Язык программирования Java: Создание интерактивных приложений для Internet
Учебное пособие по языку программирования Java. Создание языка Java - это один из самых значительных шагов вперед в области разработки сред программир...

Язык программирования Java
Книга, выпускаемая по лицензии издательства Addison - Wesley, является каноническим описанием языка программирования Java. Структура книги и стиль изл...

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

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

Основы языка программирования Java
История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возм...