Что помогло языку Java «войти в каждый дом»

a18fa78dad06ee3d29c00149f23d8f75.png
Изображение сайта vanillajava.blogspot.com

Кто-нибудь думал, что язык Java, первоначально предназначенный для устройств бытовой электроники, станет использоваться во многих других областях?

Расширение влияния Java, как ни странно, началось с разработки браузеров.

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

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

f25148c2b7d7392c45bbf4256b96ad8b.jpg

В декабре 1990 года компания Sun создала рабочую группу для разработки новой технологии, куда вошел Патрик Нотон. Однако ему показалось, что возможностей C++ и С API не хватит для выполнения этой задачи.

Поэтому Патрик Нотон начал проект под названием Stealth Project, чтобы найти решение проблемы.
Позже к нему присоединились Джеймс Гослинг и Майк Шеридан, и проект получил название Green Project. Когда стало понятно, что у проекта — большие перспективы, они пригласили еще 10 человек и начали работать в офисе на Сэнд Хилл Роуд (Калифорния). Компания Sun поддержала начинание, предположив, что оно ознаменует «новую волну» в ИТ-отрасли.

87ddd45ff2843a902f7b9519fd4e5b7e.jpg

Команда вскоре задумалась о том, чтобы усовершенствовать язык С++. Однако он оказался избыточным и слишком ресурсоемким, чтобы на его базе создать язык, удовлетворяющий поставленным требованиям:

1. Поддержка объектно-ориентированной парадигмы;

2. Возможность запуска одной и той же программы на разных операционных системах;

3. Встроенные механизмы для работы с компьютерных сетей;

4. Обеспечение безопасности удаленного исполнения программ;

5. Использование преимуществ других объектно-ориентированных языков программирования.

Хронология


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

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 для разносторонней экспертизы представлен альтернативный бизнес-план корпорации FirstPerson по разработке мультимедийной платформы для CD-ROM и онлайновой работы.

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.

bac7c05a521fdae3a1deefdbf76721fd.jpg

23 мая 1995 г. — Netscape объявляет о намерении использовать Java при разработке браузера Netscape.

21 сентября, 1995 г. — В Нью-Йорке проходит конференция по Java-разработке

25 Сентября, 1995 г. — Sun объявляет о расширенном сотрудничестве с Toshiba.

26 Сентября, 1995 г. — Sun анонсирует пакет инструментов для разработки с использованием Java-технологий

30 Октября, 1995 г. — На Internet World Conference в Бостоне компании Lotus Development Corp., Intuit Inc., Borland International Inc., Macromedia Inc. и Spyglass Inc. объявляют о намерении лицензировать Java.

4 декабря, 1995 г. — Sun, Netscape и Silicon Graphics создают альянс для разработке инструментария для интернета.

4 декабря, 1995 г. — Borland, Mitsubishi Electronics, Sybase и Symatec объявляют о планах лицензировать Java.

6 декабря, 1995 г. — IBM и Adobe объявляют о планах лицензировать Java.

7 декабря, 1995 г. — Microsoft объявляет о планах лицензировать Java.

23 января, 1996 г. — релиз JDK 1.0

800px-Java_Development_Path.svg.png

В 1997 году большинство версий Java оставались бесплатными, за исключением Java Enterprise System. В этом же году вышла существенно обновленная версия — Java 2, а также выделились отдельные платформы: J2SE, J2EE, J2ME.

• J2SE 1.3 (Май 8, 2000)
• J2SE 1.4 (Февраль 6, 2002)
• J2SE 5.0 (Сентябрь 30, 2004)
• Java SE 6 (Декабрь 11, 2006)
• Java SE 7 (Июль 28, 2011)
• Java SE 8 (Март 18, 2014)

Каждая платформа включает в себя:

• язык программирования;
• набор служебных программ (JVM, JRE, JDK и т.п.);
• набор библиотек;

Java 2 Platform, Standard Edition (J2SE) предназначается для использования на рабочих станциях и персональных компьютерах. Является основой всех других Java-технологий.

Java 2 Platform, Micro Edition (J2ME) является усеченным вариантом J2SE, для того, чтобы соответствовать ограниченным аппаратным возможностям мобильных устройств, таких как, например, сотовые телефоны.

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

Java Runtime Environment (JRE) представляет собой минимальный набор средств, необходимых для запуска Java-программ. Основу JRE составляют виртуальная машина Java и набор стандартных библиотек.

Java Development Kit (JDK) представляет собой набор средств, используемых в процессе разработки Java-программ: компилятор, отладчик, средства для автоматической генерации документации, комплект примеров и т.п. JDK работает с уже готовыми текстами программ и не содержит какого-либо редактора.

Интегрированные среды разработки (Eclipse, Netbeans, JBuilder и т.п.) для компиляции программ используют внешний JDK

7faf43cdbc812f0accc5a4e90c9eb0f5.png

Сферы применения Java-технологий


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

1. Разработка приложений (application)

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

2. Разработка мидлетов (midlet)

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

Структура и возможности мидлетов обусловлены техническими особенностями мобильных устройств.
Для запуска мидлетов мобильное устройство должно поддерживать соответствующую возможность.

3. Разработка апплетов (applet)

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

Для запуска апплетов браузер должен содержать соответствующий модуль (plug-in).

4. Разработка JSP-страниц (Java Server Pages)

JSP-страницы представляют собой HTML-документы со вставками на языке Java, которые используются для анализа пользовательских запросов и динамического формирования web-документов на основе результатов обработки этих запросов.

Для обработки JSP-страниц Web-сервер должен содержать соответствующий модуль.

5. Разработка сервлетов (servlet)

На языке Java разрабатываются специализированные программы-сервлеты, функционирующие в рамках Web-сервера и имеющие доступ к его ресурсам: файлам, базам данных и т.п.

Для запуска сервлетов используется Web-сервер со специальным модулем (контейнером сервлетов) или специальный сервер приложений.

ede2d0f6ea56ac4a573be824b271b313.jpg

Поглощение Sun


В ноябре 2006 года Sun объявила часть кода виртуальной машины Java (JVM) свободном распространяемым и начала выпускать его под лицензией GNU General Public License (GPL). К маю 2007 года компания распространяла бесплатно почти весь код JVM, за исключением малой его части, на которую Sun не имеет прав.

В 2009–10 годах корпорация Oracle поглотила компанию Sun Microsystems. В апреле 2010 Джеймс Гослинг, перешедший в Oracle после поглощения, покинул компанию.

Комментарии (1)

  • 26 июля 2016 в 19:09

    0

    А в чем измеряется вертикальная шкала на первом графике? 35 миллионов чего, устройств?

© Habrahabr.ru