Кто создал Java: главное про Джеймса Гослинга
Java-разработчики знают, что язык и платформу создал Джеймс Гослинг, но зачастую на этом знания о нём и заканчиваются. Кто это вообще такой? Что ещё он делал в жизни? Почему перестал участвовать в работе над Java?
Мы считаем, что такие люди заслуживают большего внимания. Поэтому, во-первых, Джеймс появится на нашей онлайн-конференции JPoint и ответит там на многие вопросы. А во-вторых, в этом посте мы расписали заметные вехи его жизни до, во время и после работы над Java. Как он успел насолить Ричарду Столлману? Почему по изначальному плану язык Java вообще не должен был появиться? Какое отношение Гослинг имеет к подводным роботам?
До Java
Первый вопрос: как думаете, где родился Гослинг? Напрашивается ответ «в США», но на самом деле в канадском городе Калгари (в 1955-м). И ещё тинейджером в Канаде он впервые задумался о вещах, впоследствии сказавшихся на Java.
Как Джеймс позже рассказывал, в университете Калгари он занимался программой обработки данных с канадского спутника ISIS 2, работавшие с программой люди постоянно просили его что-то туда добавить, и это раздражало.
В текстовом редакторе TECO он подсмотрел идею макросов: с помощью встроенного интерпретируемого языка пользователи могли делать собственные мини-программы (так, например, появился Emacs). Это навело его на мысль «Если я тоже встрою простенький интерпретатор, то люди смогут решать свои задачи макросами и перестанут дёргать меня по мелочам, заставляя постоянно перекомпилировать всю систему». Это сработало — так Гослинг сделал свою первую платформу для исполнения чужого кода.
Затем, перебравшись в США, в университете Карнеги-Меллона он ближе подобрался к идее JVM. Перед ним встала задача портирования софта с рабочих станций PERQ на VAX, и начал он с эмулятора, но в итоге глубже погрузился в вопросы, позволяющие разработчикам софта вообще абстрагироваться от железа.
А самым громким проектом Гослинга до Java стал Gosling Emacs (он же Gosmacks). После взлёта популярности Emacs стали появляться сторонние реализации этого редактора для разных ОС и архитектур, и в 1981-м Гослинг представил свою имплементацию для UNIX. Со временем она стала второй по популярности разновидностью Emacs после основной версии Ричарда Столлмана.
Джеймс распространял Gosmacks бесплатно и охотно принимал в проект чужие улучшения, но сохранял единоличную власть над ним и указывал своё имя в копирайте. А в 1983-м решил, что больше не готов тратить на него много сил, и продал его компании UniPress. Которая стала распространять его уже коммерческим образом:
Неудивительно, что Ричард Столлман воспринял это в штыки: производную версию его детища продали корпорации, оставляя UNIX без свободной реализации. К тому моменту он уже вынашивал идею GNU Project. Но собирался начать с «низов» ОС — а из-за этой истории поменял очерёдность действий. В итоге флагманом всего движения за свободный софт стал GNU Emacs, и получается, что этому ненамеренно поспособствовал Гослинг.
В первую версию GNU Emacs даже входило немного кода из Gosmacks. Но затем UniPress предъявили претензии к тому, что используется код их коммерческого продукта, и в более поздних версиях GNU Emacs всё было переписано. Отдельная забавная деталь: часть кода у Гослинга была помечена черепом и костями («тут лучше ничего не трогайте, не разберётесь»), но Столлмана таким не остановить.
На тот момент представления об авторских правах в софте только формировались, и людям было совершенно неочевидно, что вообще можно и что нельзя. История с Gosmacks сама и сказалась на становлении норм, став прецедентом — и теперь её пересказывают в книгах вроде «Making and Unmaking Intellectual Property».
А в 1984-м Гослинг устроился в Sun Microsystems. Среди вещей, которыми он занимался там до Java, можно назвать оконную систему NeWS. У неё были некоторые преимущества перед X11, но она не стала массово распространённой — отчасти из-за того, что Sun запрашивали деньги за её исходный код, в то время как X распространялась открыто.
Java
В 1991-м Sun Microsystems затеяли так называемый Green Project, определивший дальнейшую судьбу Гослинга. Интересно, что задумка этого проекта довольно точно предсказала будущее, но сам проект дал человечеству совершенно не то, что от него ожидалось.
Сегодня, если спросить случайного айтишника про Java, он может сказать «это язык, популярный в бэкенде веб-сервисов». А на старте Green Project никто не думал в таких категориях: современных веб-сервисов не существовало, а создавать язык программирования там вообще не собирались.
Что же собирались сделать? Предвосхитить «следующую волну компьютеризации». В Sun предположили, что вслед за взлётом ПК придут новые «умные» потребительские устройства (от телевизоров до микроволновок), и захотели первыми занять какую-то нишу на этом рынке. Полной определённости «какую именно» не было, компанию интересовали и железо, и софт.
Когда пытаешься опередить прогресс и строгие ТЗ невозможны, требуется работа не в корпоративном духе, а в исследовательско-стартаперском. И Green Project, по сути, сделали самостоятельным стартапом. Для него сняли отдельный офис, посадили всю команду из 13 человек туда, дали ей время и бюджет, а коммуникацию между ней и основным офисом минимизировали. То есть у команды было много самостоятельности, но это были не просто теоретические исследования: за отведённое время она должна была сделать что-то такое, на чём Sun дальше сможет зарабатывать.
В Green Project делали одновременно и собственный железный прототип нового устройства, и операционную систему для него GreenOS. А вот новый язык для приложений изначально создавать даже не планировали, вместо этого Гослинг собирался выбрать подходящий.
Сначала он попытался модифицировать под нужды проекта компилятор C++ (называя эту затею «C++ ++ —»: возьмём С++, что-то добавим, а что-то уберём). Но затем пришёл к выводу, что даже измененённый С++ не подходит, и нужен по-настоящему новый язык. Было несколько разных соображений: в частности, хотелось добиться максимальной независимости от железа (ведь различные «умные устройства будущего» могли быть самыми разными), а сборку мусора автоматизировать.
Гослинг принялся за создание подходящего языка — и поначалу назвал его Oak попросту из-за того, что за его офисным окном рос дуб. Он вспомнил то, что ему было известно о UCSD Pascal (тоже довольно независимом от железа языке), а также пообщался с людьми, занимавшимися виртуальной машиной Smalltalk — и вдохновился этим опытом. Тем временем в проекте по-прежнему воспринимали этот язык лишь как вспомогательный инструмент, а не как масштабный самодостаточный продукт. Так что большой команды у Гослинга не появилось, он сам занимался и дизайном языка, и компилятором, и виртуальной машиной.
Спустя полтора года работы, осенью 1992-го, у группы было готово устройство-прототип «Star7» и софт для него. Это было нечто вроде пятидюймового КПК — страшно отличающегося от современных устройств, но уже с цветным тачскрином! На этом экране для примера надо было показать что-то яркое, и так возник мультяшный персонаж Дюк, ставший впоследствии маскотом Java.
Этот прототип впечатлил в Sun значимых людей вроде Билла Джоя (если имя кажется вам смутно знакомым, вы можете знать его как автора редактора vi, из которого вырос vim). Но он был скорее демонстрацией наработок, чем продуктом, а тем временем пора было переходить к монетизации. У Green Project появилось собственное юрлицо FirstPerson, Inc., теперь это официально была дочерняя компания Sun, и ей надо было разобраться, как зарабатывать.
Решено было, что имеющиеся наработки хорошо подойдут для телеприставок, и до 1994-го эту идею предлагали кабельным компаниям вроде Time Warner. Но переговоры с ними не завершились успехом (из 2020-го кажется, что идея просто обогнала своё время: эпоха умных телеприставок пришла позже). Поэтому весь проект оказался под угрозой закрытия.
Пока шли переговоры с компаниями, работа над языком продолжалась. Можно посмотреть, например, спецификацию Oak 0.2 и умилиться «детским шагам» («юникод пока нельзя, enum тоже ещё не имплементирован, но всё будет»). Но в 1994-м после жалобы от другой компании, владеющей правами на название Oak, его пришлось переименовать. Тогда и возникло название Java, но затруднительно сказать, кто его автор.
Гослинг вспоминал так: «Название появилось на совещании, где около дюжины человек брейнштормили вместе. (. ) По сути, совещание было продолжительным диким безумием. Много людей кричало много слов. Кто именно что крикнул — не установить, да и не имеет значения. По ощущениям, там было выкрикнуто большинство слов из словаря. Было много фраз «мне нравится, потому что. » и «мне не нравится, потому что. «, и в конце мы сделали список примерно из дюжины названий. Передали его юристам, чтобы они выбрали ближайший к вершине списка вариант, подходящий для регистрации торговой марки. Вариант «Java» был третьим-четвёртым сверху».
Примерно в одно время с переименованием произошла и масштабная смена курса. В 1993-м появился популярный браузер Mosaic — и спустя год стало ясно, что веб растёт гигантскими темпами. Пользователей становилось всё больше, и им хотелось уже не только передачи текста, но и чего-то сложнее. При этом у разных пользователей могли быть очень разные компьютеры. И тут внезапно оказался очень уместен язык со слоганом «Write Once Run Anywhere», изначально поставивший себе цель отвязаться от железа.
В сентябре 1994-м в Sun прошла внутренняя демонстрация собственного браузера: он мог получать по сети специальные фрагменты Java-кода (апплеты) и исполнять их. Среди тех, кто оценивал разработку, был Эрик Шмидт (на тот момент CTO Sun, позднее — СЕО Google). В компании решили действительно сделать ставку на апплеты. И на SunWorld ’95 представили два продукта: Java 1.0 и браузер HotJava.
HotJava не стал массово популярен (он был скорее демонстрацией возможностей Java, чем полноценным участником браузерных войн), а вот апплеты действительно стали прорывом: это ж можно теперь прямо в браузере, например, с кем-то в шахматы сыграть! Их поддержку добавили тогдашние короли рынка Netscape и IE, и это позволило Java занять важнейшее место в списке языков.
В XXI веке с переходом к другим технологиям все браузеры постепенно убрали поддержку апплетов, и новые поколения Java-разработчиков вообще не сталкиваются с этим понятием. Но благодаря тому начальному рывку Java удалось заполучить и другие рынки, на которых она по-прежнему остаётся — а без него, вероятно, так никогда и не стала бы популярной.
Так детище Гослинга, которое в рамках Green Project казалось просто вспомогательной частью системы, оказалось единственной важной для человечества составляющей этой системы и развилось в отдельный продукт.
Фразы Гослинга можно встретить даже на сайте с вдохновляющими цитатами.
После Java
Ещё в 2004-м Гослинг признавался: «Я сам не понимаю, в чём сейчас заключается моя работа. В основном провожу время на каких-то совещаниях, где спорю с людьми, а ещё очень активен как евангелист, общаясь с разработчиками по всему миру и получая слишком много авиамиль».
Но настоящий разрыв с Java у него произошёл после того, как в 2010-м компания Sun была куплена Oracle. По его словам, переход в новую компанию предполагал его перевод на другую роль со снижением статуса, ограничением возможностей в принятии решений и снижением оплаты. Гослинг не согласился на такие условия и ушёл.
Впрочем, при наличии претензий к Oracle он не является радикальным хейтером компании. В том же 2010-м на вопрос о будущем Java он отвечал «у Oracle многое работает на Java, так что у них есть большая мотивация не напортачить, и я смотрю в будущее с осторожным оптимизмом».
Также Гослинг поддержал иск Oracle к Google в связи с использованием Java API в Android. По его мнению, Google действительно неправильно поступила по отношению к Sun. В 2007-м при анонсе Android Джонатан Шварц, возглавлявший тогда Sun, в блоге одобрительно высказался об этом. Поэтому со стороны всё выглядело так, будто в Sun никакой проблемы в поведении Google не видели, и только Oracle увидела повод предъявить претензии. Но Джеймс озвучивал другой взгляд изнутри: «Мы все были очень обеспокоены, в том числе и Джонатан, он просто попытался сделать из лимонов лимонад, и в Sun его поведение тогда многих разозлило».
Любопытно, что при этом Google оказался следующим его местом работы после Sun, но там он задержался всего на полгода. Уже в сентябре 2011-го Гослинг внезапно перешёл на работу в маленький стартап Liquid Robotics: «в Google я встретил множество интересных людей, но теперь познакомился с другими людьми, делающими нечто вопиющее, и скрепя сердце решил покинуть Google».
Этим «чем-то вопиющим» были подводные роботы: автономные устройства, которые перемещаются под водой (порой годами подряд), собирая информацию сенсорами и отправляя её в облако. Это нужно, например, для мониторинга химического состава воды. Гослинг отвечал за софт — как на самих роботах, так и со стороны дата-центра, куда поступала собранная информация. Похоже, ему опять пришлось со стороны софта иметь дело с очень разным железом!
Там он провёл шесть лет. Похоже, что работа ему нравилась, но, как он сам отмечал, рассказывать обо всех подробностях он не мог, потому что в этой сфере много строгих NDA.
В 2016-м компанию купил Boeing. Получилось, что у Гослинга второй раз подряд произошло то же самое: сначала занимаешься чем-то в формате стартапа, а годы спустя при покупке компании обнаруживаешь себя внутри гиганта.
Как и в предыдущий раз, он снова ушёл. Но в этот раз новым местом его работы тоже оказался гигант: он перешёл в AWS на позицию «distinguished engineer» (что бы это ни значило — вот как раз на JPoint можно будет уточнить, чем именно он занимается каждый день).
Связан ли он ещё как-то с дизайном языков программирования? Да: помимо основной работы, он является советником компании Lightbend, известной по языку Scala. В 2011-м он сказал «Если бы я сегодня выбирал для использования язык, отличный от Java, выбрал бы Scala». (Прямо ощущаем, как в 2020-м на этом месте у некоторых напрашивается вопрос про Kotlin.)
Что ещё можно о нём сказать? Его любимое иррациональное число — корень из двойки. Наверное, тут больше информации даёт не «корень из двойки», а сам тот факт, что у человека есть любимое иррациональное число.
Итог получается такой. Когда-то Гослинг в компании Sun сделал язык для проекта, связанного с «умными потребительскими устройствами», а сейчас это выглядит интересной иронией судьбы. И задуманные устройства конкретно тогда не материализовались, и той компании уже нет, и сам он занимается другим — но язык спустя 25 лет после релиза продолжает активно жить, и в том числе на нём пишут приложения для умных устройств. В 1992-м у прототипа был пятидюймовый тачскрин — а теперь у всех людей в кармане по пятидюймовому тачскрину, и на большинстве из них люди видят приложения, написанные на Java. В каком-то смысле исходный план воплотился.
Джеймс Гослинг поучаствует в онлайн-конференции JPoint, чтобы ответить на вопросы — и наши, и ваши. Что он думает о современном развитии Java? Что он сделал бы иначе, если бы сейчас вернулся в 1991-й и делал Java с нуля? Почему что-то из базовых вещей Java было спроектировано именно таким образом? Вот и узнаем.
- Блог компании JUG Ru Group
- Java
Язык программирования Java – история, особенности, преимущества, сферы применения
Java по праву считается одним из самых известных и востребованных языков программирования, он активно используется во многих направлениях IT-индустрии.
На протяжении долгого времени язык программирования Java находится в первой тройке популярных среди программистов языков (на октябрь 2021 – на третьем месте). Вместе с ним лидирующие позиции разделяют такие знаменитые ЯП, как Python и C.
Учитывая это, мы решили посвятить ему нашу новую статью. Из нее вы узнаете о том, как возникла и развивалась технология Java, какими особенностями, преимуществами и недостатками она обладает. Также мы расскажем про сферы применения этого языка и о том, как/где его можно выучить, и насколько он сложен для начинающих.
Что такое язык Java? Как он появился и развивался?
Java – это мультипарадигмальный объектно-ориентированный язык программирования и одноименная программная платформа, которые были разработаны компанией Sun Microsystems. Первая его версия была выпущена в 1995 году, а на 2021 год глобальное сообщество Java-разработчиков насчитывает более 9 миллионов человек.
Важной особенностью языка Java является наличие собственной программной платформы, предназначенной для разработки прикладного ПО. В ее основе находятся виртуальные машины JVM – специальные Java программы, которые делают код понятным для процессора. Отдельные JVM доступны для всех видов устройств и операционных систем, что обеспечило этому языку универсальность и широкое распространение.
Основателем языка Java считается канадский инженер Джеймс Гослинг, который в 1995 году создал язык для программирования работы бытовой электроники. Сначала он назвал его Oak, но затем переименовал в Java – в честь популярной тогда марки кофе с одноименного острова.
Новый язык стал активно развиваться во второй половине 90-х годов, когда его начали использовать для разработки серверного ПО и клиентских приложений. Тогда же получили распространение Java-апплеты – графические приложения, встраиваемые в страницы сайтов.
Важную роль в деле популяризации языка Java сыграла компания Sun Microsystems. Она разработала программную платформу Java и владела правами на язык и сопряженные с ним технологии, распространяемые по лицензии GPL (свободное ПО). В 2010 году Sun Microsystems и все принадлежащие ей патенты были куплены корпорацией Oracle.
Особенности и возможности Java
- Язык программирования Java обладает статической типизацией: это значит, что разработчику нужно указывать тип данных при вводе каждой переменной или выражения. Это заметно отличает Java от языков с динамической типизацией (например, Python), где типы данных определяются автоматически.
- Написанный на Яве код транслируется в байт-код, который затем исполняет Java Virtual Machine (JVM) и передает инструкции оборудованию.
- Помимо JVM, доступен комплект программного обеспечения для этого языка под названием JDK – Java Development Kit. Он включает среду выполнения приложений (Java Runtime Environment – JRE), компилятор, классы API и документацию.
- Существует несколько версий Java, предназначенные для разных задач. Например, для разработки корпоративных приложений подходит Java Enterprise Edition (Java EE), для написания программ для микроконтроллеров и других встраиваемых систем используется Java Micro Edition (ME), а базовой версией платформы считается Java Standart Edition (Java SE).
Преимущества и недостатки Java
Что касается преимуществ этого ЯП, то их действительно немало и они позволили ему обрести высокую степень популярности среди программистов. К ним относят:
- Независимость и универсальность. Исполняемый на JVM байт-код полностью независим как от операционной системы, так и от оборудования. Благодаря этому, программная среда этого языка доступна для всех операционных систем, включая Java для Windows, Linux, MacOS, Solaris. Java-приложения являются кроссплатформенными, их можно запустить на любом электронном устройстве, для которого существует виртуальная машина JVM. ПО на этом языке широко используется не только на компьютерах, но и на множестве других аппаратных платформ.
- Надежность и безопасность. Виртуальная машина Java (JVM) обеспечивает языку мощную систему безопасности. Она полностью контролирует исполнение программного кода и блокирует любые попытки несанкционированных вмешательств в работу программ. Также она не дает программам влиять на другое ПО или оборудование, если это не предусмотрено изначально. Кроме того, платформа позволяет гибко управлять доступом при помощи модуля Security Manager.
- Объектно-ориентированный язык. Программирование на Java позволяет создавать множество разных видов ПО, в том числе сложное по функциональности, но простое в поддержке. ООП обеспечивает хорошую структурированность и организованность кода, позволяет несколько раз использовать одни и те же классы, а также вести параллельную разработку.
- Автоматическое управление памятью. Java не допускает нецелесообразное использование памяти и разрастание ее объема. Разработчику не приходится следить за тем, сколько ресурсов использует его ПО, и вручную освобождать память. Также платформа поддерживает автоматическую очистку «мусора» – лишних и ненужных данных объектов.
- Библиотеки и фреймворки. Java предоставляет множество библиотек, фреймворков и других вспомогательных инструментов. Среди них стоит отметить Spring (корпоративное ПО), PrimeFaces (мобильные приложения и валидация), Dropwizard (микросервисы), Google Web Toolkit (веб-приложения), JavaServer Faces (пользовательский интерфейс), JHipster (веб-приложения), MyBatis (коннектор между приложениями и базами данных) и т.д.
- Принцип обратной совместимости. На сегодняшний день Java поддерживает все ранние версии этого языка. Это значит, что сейчас можно без проблем скомпилировать и запустить программный код на Java, который был написан несколько десятилетий назад. Такой принцип выгодно отличает Ява от многих других современных языков программирования.
- Простота синтаксиса. Язык имеет относительно простой синтаксис, что делает его довольно несложным для освоения начинающими программистами. Также в нем довольно просто ориентироваться, благодаря строгой структурированности кода (впрочем, для новичков она может стать недостатком).
- Широкое распространение. Java уверенно входит в топ-3 самых популярных языков программирования, что обеспечивает ему широкую сферу применения, а также большое количество обучающего и вспомогательного контента.
Помимо этого, программирование на Яве имеет и определенные недостатки, среди которых выделяют:
- Ограниченная производительность. В отличие от языков C или С++, вместо компилятора у Java применяется виртуальная машина JVM. Это несколько снижает скорость исполнения Java-кода, так как сначала процессору нужно запустить JVM, а потом она начинает выполнять код. Считается, что ПО на Java работает медленнее, чем такие же программы на C/C++.
- Платная лицензия. Базовые инструменты платформы Java распространяются по лицензии GPL, что позволяет скачать Ява сборку бесплатно. Однако полноценный функционал системы (например, пакет Java Development Kit и поддержка его компонентов) доступен только на платной основе. Впрочем, у платных инструментов Java, как правило, есть бесплатные альтернативы с «урезанным» набором опций.
- Громоздкий код. Помимо прочего, Java отличается от других популярных языков (например, Python) довольно длинными и объемными конструкциями кода. Это фактор может сделать язык весьма запутанным для начинающих программистов.
Где применяется Java?
Наиболее популярной сферой применения Java является мобильная разработка под ОС Android, а еще один востребованный язык для создания мобильного ПО Kotlin также работает на базе JVM. Ява активно используется для интегрированных сред разработки, используемых IT-специалистами: Jira, Eclipse, IntelliJ IDEA, NetBeans и т.д.
История языков программирования: что помогло языку Java «войти в каждый дом»
Изображение сайта vanillajava.blogspot.com
Кто-нибудь думал, что язык Java, первоначально предназначенный для устройств бытовой электроники, станет использоваться во многих других областях?
Расширение влияния Java, как ни странно, началось с разработки браузеров.
Главный разработчик Java Джеймс Гослинг перешел в Sun в 1984 году из исследовательского отдела IBM. До Java Гослинг разработал не имевший коммерческого успеха оконный интерфейс NeWS и GOSMACS — первую реализацию текстового редактора EMACS на языке С.
После этого Гослинг и его коллеги начали изучать перспективы на рынке электроники и бытовой техники.
«Группе была поставлена задача создать распределенную систему, которую можно было бы в качестве современной программной технологии продавать производителям бытовой электроники», вспоминает Гослинг.
В декабре 1990 года компания Sun создала рабочую группу для разработки новой технологии, куда вошел Патрик Нотон. Однако ему показалось, что возможностей C++ и С API не хватит для выполнения этой задачи.
Поэтому Патрик Нотон начал проект под названием Stealth Project, чтобы найти решение проблемы.
Позже к нему присоединились Джеймс Гослинг и Майк Шеридан, и проект получил название Green Project. Когда стало понятно, что у проекта – большие перспективы, они пригласили еще 10 человек и начали работать в офисе на Сэнд Хилл Роуд (Калифорния). Компания Sun поддержала начинание, предположив, что оно ознаменует «новую волну» в ИТ-отрасли.
Команда вскоре задумалась о том, чтобы усовершенствовать язык С++. Однако он оказался избыточным и слишком ресурсоемким, чтобы на его базе создать язык, удовлетворяющий поставленным требованиям:
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.
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
В 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
Сферы применения 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-сервер со специальным модулем (контейнером сервлетов) или специальный сервер приложений.
Поглощение Sun
В ноябре 2006 года Sun объявила часть кода виртуальной машины Java (JVM) свободном распространяемым и начала выпускать его под лицензией GNU General Public License (GPL). К маю 2007 года компания распространяла бесплатно почти весь код JVM, за исключением малой его части, на которую Sun не имеет прав.
В 2009-10 годах корпорация Oracle поглотила компанию Sun Microsystems. В апреле 2010 Джеймс Гослинг, перешедший в Oracle после поглощения, покинул компанию.
- история языков программирования
- java
- разработка по
- sun microsystems
- oracle
- поглощение
История создания Java
Ниже приводим краткую историю создания языка программирования Java в вопросах и ответах.
Кто разработал язык Java?
Инженеры компании Sun Microsystems:
- Патрик Ноутон (Patrick Naughton) — руководитель группы инженеров
- Джеймс Гослинг (James Gosling) — член Совета директоров и, как его еще иногда называют, разносторонний «компьютерный волшебник»
Почему решили создать?
Патрик Ноутон, Джеймс Гослинг работали над проектом «Green», целью которого было разработать язык для программирования бытовых электронных устройств. Каких ещё бытовых устройств? Да самых разных. Например, контроллеров для переключения каналов кабельного телевидения (cable TV switchboxes).
- мало потребляют энергии (отсюда и кодовое название проекта — «Green» )
- а также бытовые электронные устройства имеют небольшие микросхемы памяти, а, соответственно, и программы, написанные под них, должны были быть небольшими. Помимо этого стояла задача, чтобы единожды написанный код читался на любой машине, а не писался под каждое устройство отдельно. Язык программирования C++ для данных целей их не очень устроил и они разработали новый язык программирования — Java.
А почему такое название – Java?
Стоит упомянуть, что не всегда этот язык имел привычное нам название — Java.
Изначально новому языку программирования было дано имя Oak (от англ.«Дуб»). Всё дело в том, что под окном офиса Джеймса Гослинга рос дуб, который ему очень нравился и в честь которого он и решил назвать новый язык.
Когда же компания Sun Microsystems увидела, что язык хорошо себя зарекомендовал и его можно сделать общедоступным, было принято решение поменять название Oak, поскольку это название уже имел другой язык программирования, а также необходимо было более созвучное, одним словом более коммерческое имя. И было дано новое имя языку — Java.
Так а почему всё-таки Java?
Существует 3 основные версии почему так назвали язык:
Версия № 1: Самая интересная. Программисты пьют много кофе. Пока создавался новый язык программирования, были выпиты гигалитры кофе, и поэтому решили назвать язык в честь сорта кофе Java.
Версия № 2: Название дано в честь марки кофе Java, который был назван в честь острова Ява (на англ. – Java). Эта версия перекликается с версией № 1.
Версия № 3: Поскольку новый язык разрабатывался для программирования бытовых электронных устройств, то иногда связывают это с аллюзией на кофе-машину как пример бытового устройства.
Год создания Java?
1991 — под названием Oak
23 мая 1995 год — дата официального выпуска под названием Java
А кто владелец Java сейчас?
В 2009 году язык Java сменил своего владельца – компания Sun Microsystems была куплена компанией Oracle. Так что сейчас владелец Java — компания Oracle.
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля.
По всем вопросам звоните:
+38 050 205 77 99
+38 098 205 77 99
Или читайте информацию по нашим курсам Java c нуля у нас на сайте.
- ← Деление по модулю в Java
- Циклы в Java →