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

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

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

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

Добавлен: 06.04.2023

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

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

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

В день, когда Нотон должен был покинуть компанию, было принято решение о формировании команды ведущих разработчиков с условием, чтобы они делали что угодно, лишь бы создали нечто необыкновенное. Команда в составе шести человек начала разработку нового объектно-ориентированного языка программирования, который был назван Oak (дуб), в честь дерева, которое росло под окном Гослинга.

Затем компания Sun Microsystems команду Green преобразовала в компанию First Person. Молодая компания имела интереснейшую концепцию, но подходящего ей применения не могла найти. После нескольких неудач ситуация для фирмы неожиданно резко изменилась: был анонсирован браузер Mosaic. Таким образом родился World Wide Web, который положил начало бурному развитию Internet. Нотоном было предложено использовать Oak для создания Internet-приложений. Так Oak стал самостоятельным продуктом, затем был написан Oak-компилятор и Oak-браузер "WebRunner". В 1995 году компания Sun Microsystems решила все же объявить о новом продукте, только переименовала его в Java. Когда же Java оказалась в руках Internet, стало ясно, что необходимо запускать Java-аплеты, они представляют собой небольшие программы, которые загружаются через Internet. WebRunner в следствие переименовали в HotJava и фирма Netscape стала поддерживать Java-продукты.

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

Идеология Java подразумевает работу в компьютерных сетях и возможность подгрузки в нужный момент посредством сети требуемых классов и ресурсов, необходимых программе, и тех, что не были загружены до того. Для обеспечения такой работы приложения Java разрабатываются и распространяются, как большое число независимых классов. Тем не менее данный способ разработки ведет к очень высокой фрагментации программы. Даже небольшие учебные проекты как правило состоят из десятков классов, в то время как реальные проекты – из сотен. В то же время каждому общедоступному (public) классу соответствует свой файл, носящий такое же имя. Для того чтобы справиться с данным количесвом файлов, Java предусматривает специальное средство группировки классов, которое называется пакетом (package). Пакеты обеспечивают независимые пространства имен (namespaces), а также ограничение доступа к классам.


2.2. Этапы развития языка Java и его применение

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

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

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

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

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

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

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

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

1 августа 1991 г. - Произошло объединение Oak и Aspen; запуск их первой реальной программы.

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

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

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

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

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

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

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 выиграла эту сделку.

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

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

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

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

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

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

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

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

Июль 1994 г. - Нотон ограничивает сферу применения проекта Liveoak, просто поменяв ориентацию Oak на Internet.

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

29 сентября 1994 г. - Прототип HotJava впервые продемонстрирован исполнительным лицам компании Sun.

11 октября 1994 г. - Нотон переходит в компанию Starwave.


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

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

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

Выпуск версии Java 1.2 стал главной новостью на конференции JavaOne в 1998 г. В новой версии слабые средства реализации графического пользовательского ин­терфейса и графических приложений были заменены мощным инструментарием. Это был большой шаг вперед, к соответствию лозунгу "Write Once, Run Anywhere" ("Однажды написано — везде выполняется"), который был выдвинут при разработке предыдущих вер­сий. В декабре 1998 года через три дня после выхода в свет название новой версии было изменено на неудобное и длинное Java 2 Standard Edition Software Development Kit Version 1.2(Стандартная редакция набора инструментальных средств для разработки программ­ного обеспечения на Java 2, версия 1.2).

Помимо Standard Edition, также были предложены следующие два варианта: для портативных устройств Micro Edition ("микроредакция"), к примеру, для мобильных телефо­нов, и Enterprise Edition (редакция для корпоративных приложений).

Версии 1.3 и 1.4 набора инструментальных средств Standard Edition - ре­зультаты поэтапного усовершенствования первоначально выпущенной версии Java 2. Они имеют новые возможности, повышенную производительность и, естветственно, содержат много меньше ошибок. В ходе развития Java многие взгля­ды на аплеты и клиентские приложения были пересмотрены. В частности, оказалось, что на Java удобно разрабатывать высококачественные серверные приложения.

В версии 5.0 язык Java подвергся наиболее серьезной модификации с момента выпуска версии 1.1. (Первоначально версия 5.0 имела номер 1.5, но на конференции JavaOne в 2004 г. была принята новая нумерация версий.) После многолетних иссле­дований были добавлены обобщенные типы (которые приблизительно соответствуют шаблонам C++), хотя при этом не были выдвинуты требования модификации вир­туальной машины. Ряд других языковых элементов, например, циклы в стиле for each, автоупаковка и метаданные, были явно "навеяны" языком С#.


Версия 6 (без суффикса .0) была выпущена в конце 2006 г. И снова сам язык существенных изменений не претерпел, но были внесены усовершенствования, которые были связаны с производительностью, а также произведены расширения библиотек.

По мере того как в центрах обработки данных все чаще стали применяться аппа­ратные средства широкого потребления вместо специализированных серверов, для компании Sun Microsystems наступили тяжелые времена, и в конечном итоге она была приобретена компанией Oracle в 2009 г. Разработка следующих версий Java на долгое время приостановилась. И лишь в 2011 году компания Oracle выпустила новую версию Java 7 с простыми усовершенствованиями. Было решено более серьезные измене­ния отложить до версии Java 8, выпуск которой произошел в 2014 г.

В табл. 1 сведены данные об этапах развития языка и библиотек Java.

Таблица 1

Этапы развития языка Java

Версия

Год выпуска

Новые языковые средства

Количество классов и интерфейсов

1.0

1996

Выпуск самого языка

211

1.1

1997

Внутренние классы

477

1.2

1998

Отсутствуют

1524

1.3

2000

Отсутствуют

1840

1.4

2002

Утверждения

2723

5.0

2004

Обобщенные классы, цикл в стиле for each, автоупаковка, аргументы переменной длины, метаданные, перечисления, статический импорт

3279

6

2006

Отсутствуют

3793

7

2011

Оператор switch со строковыми метками ветвей, ромбовидный оператор, двоичные литералы, усовершенствованная обработка исключений

4024

8

2014

Лямбда-выражения, библиотеки потоков и даты/времени, интерфейсы с методами по умолчанию

4240

9

2017

Литералы в коллекциях, оператор Элвиса, Class Optional, Streams, IO, Regrexp, обработка процессов ProcessHandle

более 4500

В 2018 году коренным образом изменилась парадигма разработки и выпуска релизов Java.