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

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

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

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

Добавлен: 28.03.2023

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

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

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

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

Нотон, хоть и не особо рассчитывал, что кто-то в серьез обратит внимание на его письмо, все же выдвинул свои претензии, прямо раскритиковав минусы компании, в том числе, разрабатываемую как раз в то время архитектуру программного обеспечения NeWS. На удивление Нотона, письмо имело оглушительный успех: его разослали всем ведущим инженерам компании, которые, в свою очередь, незамедлительно откликнулись и выказали одобрение и поддержку своему коллеге. Кроме того, высшее руководство, а именно Билл Джой – основатель компании и Джеймс Гослинг непосредственный руководитель Нотона, также одобрили инициативу.

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

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

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


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

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

Основные этапы разработки языка Java, были изложены Патриком Нотоном, который в настоящее время является вице-президентом по технологии в компании Starwave.

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

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

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

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

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

Май 1991 г. - Эд Фрэнк нарекает прототип аппаратуры названием *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.

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

Апрель 1993 г. - релиз первого графического браузера - 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 – браузер, позже получивший название в HotJava.

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

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

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

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

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

В 1998 году выход в свет Java 1.2 стал главной новостью конференции JavaOne. В этой версии на смену слабым средствам реализации графического ин­терфейса и графических приложений пришел мощный инструментарий. Это был большой шаг вперед, к соответствию лозунгу «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 [7].

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

Только в конце марта текущего года, вышел Java 10. Однако, в связи с тем, что компания Oracle изменила релизный цикл (каждые полгода новый релиз), к выходу уже готовится 11-я версия.

Java 10: краткая сводка.

Нововведения десятой версии: локальный вывод типов с помощью var, улучшения в процессах «сборки мусора» и возможность использовать Graal как основной JIT-компилятор.

Локальный вывод типов с помощью var просили многие разработчики. Теперь можно не вводить типы два раза подряд: сперва для объявления переменной, а затем для конструктора, идущего следом.

var list = new ArrayList<String>(); // infers ArrayList<String>