Файл: История возникновения и развития языка программирования Си (С++) и Java (Структура, эффективность).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 286

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

До того, как прийти в команду Green Нотон был возглавляющим проект Sun, который основан на том, чтобы разработать пользовательскую среду Open Window.[38]

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

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

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

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

Рассмотрим особенности языка, так главной из них является то, что программы на Java транслируются в байт-код, который выполняется виртуальной машиной Java (JVM) — программой, которая обрабатывает байтовый код и передает инструкции оборудованию, являясь интерпретатором[42].

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


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

Зачастую недостатком концепции виртуальной машины является то, что исполнение байт-кода у виртуальной машины снижает производительность программ и алгоритмов, которые реализуются на языке Java. За последнее время внесены были следующие усовершенствования, которые некоторым образом увеличили скорость выполнения программ на Java[43]:

  • Применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,
  • Широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,
  • Аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

Для семи различного рода задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для , в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее.[44] С другой стороны, для большинства из них потребление памяти Java-машиной было в 10-30 раз больше, чем программой на . Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и большее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на .[45]

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

Основными возможностями являются:

  • Автоматическое управление памятью;
  • Расширенные возможности обработки исключительных ситуаций;
  • Богатый набор средств фильтрации ввода/вывода;[46]
  • Набор стандартных коллекций, таких как массив, список, стек и т. п.;
  • Наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI);
  • Наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы;
  • Встроенные в язык средства создания многопоточных приложений;
  • Унифицированный доступ к базам данных:
  • На уровне отдельных SQL-запросов — на основе JDBC, SQLJ;
  • На уровне концепции объектов, обладающих способностью к хранению в базе данных — на основе Java Data Objects и Java Persistence API;
  • Поддержка шаблонов (начиная с версии 1.5);
  • Параллельное выполнение программ[47].
    1. Этапы развития языка Java

История разработки языка Java, которую изложил Патрик Нотон, являющийся соавтором браузера HotJava и нынешний вице-президент по технологии корпорации Starwave.[48]

5 декабря 1990 г. - Нотон отказывается от того, чтобы перейти в компанию NeXT и начинает работу в компании Sun над проектом, который в последствии получил название Green.

15 января 1991 г. - Совещания типа мозгового штурма по проекту Stealth (названном так Скоттом Макнили) в Аспене, в котором принимали участие Билл Джой, Уэйн Розинг, Энди Бехтолсхейм, Джейм Гослинг, Майк Шеридан и Патрик Нотон.

1 февраля 1991 г. - Гослинг, Шеридан и Нотон всерьез берутся за работу. Нотон занимается графической системой Aspen, Гослинг - идеями языка программирования, Шеридан - бизнес-разработкой.

8 апреля 1991 г. - Переезд по новому адресу и разрыв прямого соединения с локальной сетью (и большинством других средств связи) компании Sun; проект продолжается под названием Green.

15 апреля 1991 г. - К проекту Green присоединяются Эд Фрэнк (архитектор системы SPARCstation 10), Крейг Форрест (дизайнер чипа SS10) и Крис Уорт (разработчик системы NeWS).[49]

Май 1991 г. - Эд Фрэнк присваивает прототипу аппаратуры название *7 (или Star7; *7 - код, который было необходимо набрать в офисе Sand Hill, чтобы ответить на любой звонок с любого телефона).

Июнь 1991 г. - Гослинг начинает работу над интерпретатором Oak, который через несколько лет (при поисках торговой марки) переименован в Java.

1 августа 1991 г. - Осуществлено объединение Oak и Aspen; заработала их первая реальная программа.

19 августа 1991 г. - Коллектив разработчиков Green демонстрирует идеи базового пользовательского интерфейса и графическую систему сооснователям компании Sun Скотту Макнили и Биллу Джою.[50]

17 октября 1991 г. - Шеридан и Нотон присваивают конструкторской философии своего коллектива девиз "1st Person", который со временем становится названием компании[51].

17 ноября 1991 г. - Офис проекта Green снова подключается к главной сети компании Sun линией на 56 Кбит/с

1 марта 1992 г. - К проекту Green присоединяется Джонатан Пейн, который позднее участвует в написании HotJava.[52]

Лето 1992 г. - Интенсивная деятельность по доработке Oak, Green OS, пользовательского интерфейса, аппаратуры Star7 и соответствующих компонентов.

4 сентября 1992 г. - Завершена разработка устройства Star7; оно продемонстрировано Джою и Макнили.[53]


1 октября 1992 г. - Из компании SunLabs переходит Уэйн Розинг, принимающий на себя руководство коллективом.

1 ноября 1992 г. - Организована корпорация FirstPerson.

15 января 1993 г. - Коллектив переезжает в Пало Альто в здание, где раньше находилась лаборатория Western Research Lab компании DEC и была основана исходная группа Hamilton Group (она же OSF).

15 марта 1993 г. - После ознакомления с результатами испытаний кабельного интерактивного телевидения, проведенных компанией Time Warner, корпорация FirstPerson сосредотачивается на этой тематике.

Апрель 1993 г. - Выпуск первого графического браузера для Internet - Mosaic 1.0, разработанного в центре NCSA.

14 июня 1993 г. - Компания Time Warner продолжает проводить свои испытания интерактивного кабельного ТВ с компанией SGI, несмотря на признанное превосходство технологии компании Sun и уверения, что Sun выиграла эту сделку.[54]

Лето 1993 г. - Нотон пролетает 300 тыс. миль, продавая Oak всем, занимающимся бытовой электроникой и интерактивным телевидением; тем временем темп, с которой люди получают доступ к Internet, головокружительно нарастает.

Август 1993 г. - Через несколько месяцев многообещающих переговоров с компанией 3DO относительно разработки ОС для приставок, президент 3DO Трип Хокинс предлагает купить технологию. Макнили отказывается, и сделка срывается.[55]

Сентябрь 1993 г. - К коллективу присоединяется Артур Ван Хофф, поначалу - чтобы создать среду разработки приложений, предназначенных для интерактивного телевидения, а потом разрабатывающий, главным образом, сам язык.

7 декабря 1993 г. - Экспертиза операций на высоком уровне в FirstPerson обнаруживает, что эта группа не имеет реальных партнеров или маркетинговой стратегии и неясно представляет себе дату выпуска.

8 февраля 1994 г. - Отменено публичное заявление компании FirstPerson о выпуске, которое должно было состояться на конференции Technology, Entertainment and Design (TED).

17 февраля 1994 г. - Исполнительным лицам компании Sun для разносторонней экспертизы представлен альтернативный бизнес-план корпорации FirstPerson по разработке мультимедийной платформы для CD-ROM и онлайновой работы.[56]

25 апреля 1994 г. - Создана компания Sun Interactive; в нее переходит половина сотрудников FirstPerson.

Июнь 1994 г. - Начат проект Liveoak, нацеленный Биллом Джоем на использование Oak в крупном проекте небольшой операционной системы.

Июль 1994 г. - Нотон ограничивает область применения проекта Liveoak, просто переориентировав Oak на Internet.[57]


16 сентября 1994 г. - Пейн и Нотон начинают писать WebRunner - браузер типа Mosaic, позднее переименованный в HotJava.

Осень 1994 г. - Ван Хофф реализует компилятор Java на языке Java. (Ранее Гослинг реализовывал его на языке С).[58]

23 мая 1995 г. - Компания Sun официально представляет Java и HotJava на выставке SunWorld '95.

Одним из интереснейших аспектов Java программирования являются Java-апплеты.

Java-апплетом является прикладная программа на Java, имеющая формат байт-кода. Java-апплеты выполняются в веб-браузере, при использовании виртуальной Java машины (JVM), или в Sun'sAppletViewer, автономном инструменте для того, чтобы тестировать апплеты. Java-апплеты внедрены были в первую версию языка Java в 1995 г. Java-апплеты пишутся обычно на языке программирования Java, но при этом они написаны могут быть и на других языках, которые компилируются в байт‐код Java, таких, как Jython.[59]

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

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

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

3 Применение С++ и Java

3.1 Область применения С++

Рассмотрим применение С (С++):

1. Операционные системы;[61]

Любая операционная система в первую очередь должна быстро запускаться и эффективно управлять системными ресурсами. Разработчик на языке C может реализовывать все структуры данных самостоятельно. Такая высокая гибкость — весомый аргумент в пользу языка.