главное про Джеймса Гослинга / Хабр
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 было спроектировано именно таким образом? Вот и узнаем.
Java – Преимущества, введение, история создания языка программирования, обзор
Прежде, чем перейти к обучению, начнём с введения в java-программирование, разберёмся кратко, что это за такой язык программирования. Немного истории языка java. Язык Java разработан компанией Sun Microsystems, создателем которого был Джеймс Гослинг, и выпущен в 1995 году в качестве основных компонентов компании Sun Microsystems – Java платформ (Java 1.0 [J2SE]).
По состоянию на 2017 год последней версией Java Standard Edition является 8 (J2SE). С развитием Java, и её широкой популярностью, несколько конфигураций были построены для различных типов платформ. Например: J2EE – приложения для предприятий, J2ME – для мобильных приложений.
Sun Microsystems переименовала прежнюю версию J2 и ввела новые: Java SE, Java EE и Java ME. Введение в программирование Java различных версий подтверждало знаменитый слоган компании «Напиши один раз, запускай везде».
История создания языка Java
История создания языка Java начинается в июне 1991 года, когда Джеймс Гослинг создал проект для использования в одном из своих многочисленных сет-топ проектов. Язык, который рос вне офиса Гослинга, как дуб, Oak — первоначальное название Java до 1995 года, после в дальнейшем история Java продолжалась под именем Green, а позже был переименован как Java.
Но официальной датой создания языка Java считается 23 мая 1995 года, после выпуска компанией Sun первой реализации Java 1.0. Она гарантировала «Напиши один раз, запускай везде», обеспечивая недорогой стоимостью на популярных платформах.
13 ноября 2006 года, Sun выпустила большую часть как свободное и открытое программное обеспечение в соответствии с условиями GNU General Public License (GPL).
После 8 мая 2007 года судьба Java сложилась иначе. Компания завершила процесс, делая все чтобы исходный код был бесплатным и открытым, кроме небольшой части кода, на который компания не имела авторских прав.
Преимущества языка Java: краткий обзор
Объектно-ориентированный: в джава все является объектом. Дополнение может быть легко расширено, так как он основан на объектной модели.
Платформонезависимый: в отличие от многих других языков, включая C и C++, Java, когда был создан, он не компилировался в платформе конкретной машины, а в независимом от платформы байт-коде. Этот байт код распространяется через интернет и интерпретируется в Java Virtual Machine (JVM), на которой он в настоящее время работает.
Простой: процессы изучения и введение в язык программирования Java остаются простыми. Если Вы понимаете основные концепции объектно-ориентированного программирования, то он будет прост для Вас в освоении.
Безопасным: методы проверки подлинности основаны на шифровании с открытым ключом.
Архитектурно-нейтральным: компилятор генерирует архитектурно-нейтральные объекты формата файла, что делает скомпилированный код исполняемым на многих процессорах, с наличием системе Java Runtime.
Портативный: архитектурно-нейтральный и не имеющий зависимости от реализации аспектов спецификаций – все это делает Java портативным. Компилятор в Java написан на ANSI C с чистой переносимостью, который является подмножеством POSIX.
Прочный: прилагает усилия, чтобы устранить ошибки в различных ситуациях, делая упор в основном на время компиляции, проверку ошибок и проверку во время выполнения.
Многопоточный: функции многопоточности, можно писать программы, которые могут выполнять множество задач одновременно. Введение в язык Java этой конструктивной особенности позволяет разработчикам создавать отлаженные интерактивные приложения.
Интерпретированный: Java байт-код переводится на лету в машинные инструкции и нигде не сохраняется. Делая процесс более быстрым и аналитическим, поскольку связывание происходит как дополнительное с небольшим весом процесса.
Высокопроизводительный: введение Just-In-Time компилятора, позволило получить высокую производительность.
Распространенный: предназначен для распределенной среды интернета.
Динамический: программирование на Java считается более динамичным, чем на C или C++, так как он предназначен для адаптации к меняющимся условиям. Программы могут выполнять обширное количество во время обработки информации, которая может быть использована для проверки и разрешения доступа к объектам на время выполнения.
После небольшого введения, обзора преимуществ и истории Java, приступим к нашему обучению.
Инструменты, которые понадобятся
Для выполнения примеров, рассмотренных в этом учебнике, Вам нужен компьютер Pentium 200 МГц с минимальной оперативной памятью 64 Мб (рекомендуется оперативная память 128 Мб).
Вам также понадобится следующее программное обеспечение:
- Linux 7.1, Windows 95/98/2000/7/8 и выше или другая операционная система.
- JDK 5 и выше.
- Notepad или любой другой текстовый редактор.
Самоучитель обеспечит необходимыми навыками для создания GUI, сетевых и веб-приложений.
Ознакомившись с особенностями истории появления и преимуществами языка Java, Вы закончили урок введения в язык программирования. Следующий урок будет Вас вести к изучению языка и документации. Проинструктирует Вас о том, как установить и подготовить среду для разработки приложений.
Источник: Java — Overview.
Кто создал 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 было спроектировано именно таким образом? Вот и узнаем.
Полная история языка программирования Java
Java — это объектно-ориентированный язык программирования, разработанный Джеймсом Гослингом в начале 1990-х годов. Команда инициировала этот проект для разработки языка для цифровых устройств, таких как приставки, телевизоры и т. д. Первоначально предполагалось использовать в проекте C++, но эта идея была отклонена по нескольким причинам (например, C++ требовал больше памяти). Гослинг попытался изменить и расширить C++, но вскоре отказался от этого для создания еще одной стадии под названием 9.0003 Зеленый . Джеймс Гослинг и его команда назвали свой проект « Greentalk », а расширение его файла было . gt и позже стало известно как « OAK ». Почему «Дуб»? Имя Дуб было использовано Гослингом в честь дуба , который остался за пределами его офиса. Кроме того, дуб является символом солидарности и выбран в качестве национального дерева многих народов, таких как США, Франция, Германия, Румыния и т. д. Но позже им пришлось переименовать его в «9».0003 JAVA », так как это уже был товарный знак компании Oak Technologies . «JAVA» Гослинг и его команда провели сеанс мозгового штурма, и после сеанса они придумали несколько названий, таких как JAVA, DNA, SILK, RUBY и т. д. Название Java было выбрано после долгих обсуждений, поскольку это было так уникально. Название Java происходит от сорта бобов эспрессо , Java. Гослинг придумал это имя, когда пил кофе возле своего офиса. Java создавалась на таких принципах, как Надежный, портативный, независимый от платформы, высокопроизводительный, многопоточный и т. д. и был назван журналом TIME MAGAZINE одним из десяти лучших продуктов 1995 года. В настоящее время Java используется в интернет-программировании, мобильных устройствах, играх, решениях для электронного бизнеса и т. д. Язык Java претерпел несколько изменений по сравнению с JDK 1.0 , а также различные дополнения классов и пакетов к стандартной библиотеке. В дополнение к языковым изменениям, значительно более сенсационные изменения были внесены в библиотеку классов Java на протяжении многих лет, которая выросла с пары сотен классов в JDK 1.0 до более чем трех тысяч в J2SE 59.0003 History of various Java versions:
Version | Release Date | Major changes |
---|---|---|
JDK Beta | 1995 | |
JDK 1.0 | January 1996 | The Самая первая версия была выпущена 23 января 1996 года. Основной стабильный вариант, JDK 1.0.2, называется Java 1.0002 Был выпущен 19 февраля 1997 г. В JDK 1.1 было внесено много дополнений по сравнению с версией 1.0, таких как
|
J2SE 1.2 | Декабрь 1998 | «Игровая площадка» было кодовым названием, которое было присвоено этой форме и было выпущено 8 декабря 1998 года. Его реальное расширение включало: strictfp ключевое слово
|
J2SE 1.3 | Май 2000 г. | Кодовое имя — «KESTREL» Дата выпуска — 8 мая 2000 г. Добавления:
|
J2SE 1,4 | Февраль 2002 | CodeName- «Merlin». выражения Общедоступная поддержка и обновления системы безопасности для этой версии закончились в октябре 2008 г. 30 сентября 2004 г.» Первоначально номер 1.5, который до сих пор используется в качестве внутренней версии. Добавлено несколько новых языковых функций, таких как:
|
JAVA SE 6 | Декабрь 2006 г. | Кодовое имя — «Мустанг» Дата выпуска — 11 декабря 2006 г. Поставляется с супервизором базы данных и поощряет использование языков сценариев с JVM. Заменил имя J2SE на java SE и удалил .0 из номера версии. Дополнения:
|
JAVA SE 7 | Июль 2011 г. | Кодовое имя — «Дельфин» Дата выпуска — 7 июля 2011 г. Добавлены небольшие языковые изменения, включая изменения языка. JVM была расширена за счет поддержки динамических языков. Дополнения:
|
JAVA SE 8 | Март 2014 г. | Дата выпуска — 18 марта 2014 г. Поддержка уровня языка для лямбда-выражений и методов по умолчанию, а также новый API даты и времени, вдохновленный Joda Time. |
JAVA SE 9 | Сентябрь 2017 г. | Дата выпуска: 21 сентября 2017 г. Project Jigsaw: разработка и внедрение стандартной модульной системы для платформы Java SE, а также применение этой системы к самой платформе и JDK. |
JAVA SE 10 | Март 2018 г. | Дата выпуска — 20 марта Добавление:
|
JAVA SE 11 | Сентябрь 2018 г. | Дата выпуска — 25 сентября 2018 г. Дополнения —
|
Java SE 12 | март 2019 | Выпущенная дата- 19 марта 2019 года.0090 |
Java Programming Foundation – Self Paced Course
Изучайте Java, один из самых популярных и мощных языков программирования. В этом курсе Java Programming Foundation — самостоятельный курс начните с нуля с Основные понятия Java, типы данных языка программирования JAVA, операторы и управление потоком, циклы, строки и многое другое с различными вопросами кодирования для практики. Начните учиться сегодня!
Языки программирования: основатель Java Джеймс Гослинг рассказывает больше о Java и Android создание языка, который будет использоваться на десятках миллиардов устройств и станет центральным элементом разработки Android в Google.
Гослинг разработал Java 25 лет назад, когда работал в Sun Microsystems. В 2009 году Java стала одной из главных причин, по которой Oracle приобрела Sun. По данным Oracle, сегодня во всем мире развернуто 51 миллиард активных виртуальных машин Java (JVM).
Проявитель
- GitHub против GitLab: какую программу выбрать?
- Microsoft делает виртуальную рабочую станцию Dev Box доступной для тестировщиков
- Cloudify DevOps 6. 4 выходит. Вот что нового
- Ваш путеводитель по зарплатам и вакансиям разработчиков программного обеспечения
Но задолго до того, как Oracle приобрела Sun, Гослинг сказал, что он и команда Sun «немного обеспокоены тем, что во вселенной вычислений происходят вещи, которые компьютерная индустрия упускает» — то, что станет сегодняшним Интернетом Вещи.
ПОСМОТРЕТЬ: Набор для найма: Разработчик Python (TechRepublic Premium)
«Все это было связано с тем, что происходило с вычислительным оборудованием, процессорами и сетями, которые находились за пределами компьютерной индустрии», — сказал он.
«Это было все, от первых проблесков сотовых телефонов, которые происходили в то время, до — вы посмотрите на лифты и локомотивы и системы управления технологическими процессами на заводах и все виды аудио- и видеооборудования.
«В них всех были процессоры. , они все что-то делали с ними, и казалось, что там происходит что-то, что нам нужно понять».
На этом этапе C и C++ «абсолютно владели вселенной», и все писалось на этих языках.
Гослинг говорит, что в 1990 году его команда совершила несколько «грандиозных поездок», чтобы посетить Toshiba, Sharp, Mitsubishi и Sony в Японии, Samsung и несколько других южнокорейских компаний, а также посетила «всю Европу», чтобы посетить такие компании, как Philips, Сименс и Томсон.
«Одна из вещей, которые бросились в глаза, заключалась в том, что они делали все обычные компьютерные вещи, которые люди делали 20 лет назад», — вспоминает он.
«Они заново изобретали компьютерные сети и совершали все те же ошибки, что и люди в компьютерной индустрии.
«Поскольку я проделал большую работу в области сетей, мы пошли бы и посетили компанию X, которая описала бы их сетевое дело, которое они делали, и просто так, я мог бы рассказать им около 25 вещей, которые собирались быть полными бедствиями».
Обнаружение того, что индустрия за пределами традиционного компьютерного мира теперь повторяет прежние ошибки, было одной из основных причин, по которым Гослинг и его коллеги решили, что могут предложить что-то полезное в Java.
Однако он также понял, что индустрия бытовой электроники и компьютерная индустрия имеют совершенно разные взгляды на клиентов, что помогло ему понять, как он будет разрабатывать Java.
«Вершину списка занимало то, что [компании по производству бытовой электроники] считали свои отношения с клиентом священными. что люди были готовы пойти на компромисс ради надежности, чтобы получить производительность», — сказал Гослинг.
«Просто придумываю… как сделать так, чтобы если положить кусочек тоста в тостер, он не убьет покупателя. Он не загорится и не сожжет дом», — добавил он.
После этих поездок Гослинг и компания создали прототип системы управления на языке C и C++ для бытовой электроники, такой как телевизор и видеомагнитофон. Безопасность была ключевым фактором в его целях для того, что станет Java.
«Еще в начале 1990-х было хорошо понятно, что источником номер один уязвимостей безопасности были просто указатели, были просто ошибки, например, от 50% до 60% до 70% были ошибки, и подавляющее большинство из них были похожи на переполнение буфера.
Но ранее в этом году Гослинг прочитал новостной репортаж о том, что команда Chromium обнаружила, что 70% ошибок безопасности в базе кода Chrome связаны с управлением памятью и ошибками безопасности.
«Chrome похож на гигантский кусок кода C++. И от 60% до 70% всех уязвимостей безопасности были глупыми трюками с указателями. И я думал, что прошло 30 лет, а мы все еще там», — сказал Гослинг.
Помимо соображений безопасности и защищенности Java, он хотел обеспечить «скорость разработки».
«Я стал очень религиозным, потому что я потратил безбожное количество времени в своей жизни на охоту за загадочными жуками-указателями. Загадочные жуки-указатели, как правило, труднее всего найти, потому что… миллион шансов», — отмечает он.
«Когда вы выполняете миллиард операций в секунду, это означает, что это произойдет. Я стал религиозным, когда что-то не получается, это происходит немедленно и заметно. Одна из вещей, которая по-настоящему привлекла Java для многих разработчиков заключалась в том, что мы знаем, что наш код запускается и работает в два раза быстрее».
ПОСМОТРЕТЬ: Стивен Хокинг ошибался в том, что ИИ убивает людей (говорит робот)
По словам Гослинга, объектно-ориентированное программирование также было важной концепцией для Java.
«Одна из вещей, которую вы получаете от объектно-ориентированного программирования, — это строгая методология о том, что такое интерфейсы между вещами, и действительно ясное представление о том, как части связаны друг с другом».
Это помогает решать ситуации, когда разработчик пытается «обойти стороной» и взломать код для другого пользователя.
Он признает, что расстроил некоторых людей тем, что не позволил разработчикам использовать лазейки. Это была «социальная инженерия», но люди обнаружили, что ограничения имеют значение при создании больших и сложных частей программного обеспечения с большим количеством участников в разных организациях. Это дало этим командам ясность в отношении того, как эти вещи структурируются и «спасают вам жизнь».
Он высказал краткую критику бывшего босса Android Энди Рубина, который использовал Java при разработке Android. В 2011 году Гослинг ненадолго проработал в Google после приобретения Oracle компании Sun. Иск Oracle против Google по поводу использования API Java до сих пор не урегулирован полностью после десяти лет судебных слушаний.
«Я рад, что [Google] сделал это», — сказал Гослинг, имея в виду использование Java в Android. «Java работала на сотовых телефонах в течение нескольких лет и работала очень, очень хорошо. Были некоторые моменты в том, как они это делали, в частности, различные способы нарушения всевозможных контрактов».
«Энди Рубин, тот парень, который руководил этим, перешел много черт. Были пересечены черты, которые с тех пор превратились в гигантские судебные дела. [Google] не нужно было этого делать, и на самом деле это было бы слишком много. им дешевле не переходить черту», — добавил он.
«Я пришел к выводу, что неважно, что делает Android, он взорвется. Я начал думать о [Рубине] как о производителе бомб».
Джеймс Гослинг: «Люди были готовы пойти на компромисс в надежности, чтобы получить производительность».
Изображение: Джеймс Гослинг/UserGroupsAtGoogle/YouTubeТак почему же они решили назвать это Java?
Об этой технологии ходят легенды, но как и почему Sun Microsystems в конце концов остановилась на названии «Java», всегда оставалось загадкой — даже для тех, кто в ней участвовал.
Кирон Мерфи
Информационный мир |
Когда журнал Time назвал Java одним из 10 лучших продуктов 1995 года, родилась новая легенда американского маркетинга. Кто может сказать, была бы столь успешна ценная технология Sun Microsystems, если бы ее название осталось Oak или Greentalk, два из предыдущих вариантов.
Мы все знаем эту историю: подарите элегантную среду программирования с открытым исходным кодом, и мир проложит путь к вашей двери. Никакого пота, независимо от того, как вы решите это назвать. Тем не менее, люди, которым было поручено создать фирменный стиль языка программирования Sun для разработчиков приложений следующего поколения, выбрали метафору кофе для своей торговой марки. Дуб, прежнее название, был взят. Но почему они выбрали
Это групповое интервью, первоначально опубликованное JavaWorld в 1996 году, предлагает увлекательный взгляд на то, как Java получил свое название.
Как Java стала Java
«Юристы сказали нам, что мы не можем использовать название OAK», — сказал Фрэнк Йеллин, в то время старший инженер Sun. Это имя уже было зарегистрировано компанией Oak Technologies:
Итак, был проведен мозговой штурм, чтобы придумать идеи для нового названия. На сессии присутствовали все члены того, что тогда называлось группой Live Oak, те из нас, кто активно работал над новым языком. В итоге было выбрано около 10 возможных имен. Затем они были переданы в юридический отдел. Три из них вернулись чистыми: Java, DNA и Silk. Никто не помнит, кто первым придумал название «Ява». Насколько мне известно, только один человек когда-либо публично предлагал быть создателем имени.
Ким Полезе, которая в то время была менеджером по продукции Oak, помнит все по-другому. «Я назвала Java», — сказала она:
Я потратила много времени и сил на то, чтобы назвать Java, потому что хотела получить точное имя. Я хотел что-то, что отражало бы суть технологии: динамичное, революционное, живое, веселое. Поскольку этот язык программирования был таким уникальным, я был полон решимости избегать заумных названий. Я также не хотел ничего со словами «net» или «web», потому что я нахожу эти имена очень легко забываемыми. Я хотел что-то классное, уникальное, легкое в написании и веселое в произношении.
«Я собрал команду в комнате, написал на доске такие слова, как «динамичный», «живой», «толчок», «воздействие», «революционный» и так далее, и провел группу в мозговом штурме». — сказал Полес. «Название Java появилось во время этого сеанса. Другие названия включали DNA, Silk, Ruby и WRL для языка WebRunner — фу! »
1995. «На самом деле трудно сказать, откуда впервые взялась «Java», но она попала в список кандидатов, которые мы выбрали … вместе с Silk, Lyric, Pepper, NetProse, Neon и множеством других, слишком смущающих, чтобы упомянуть.»
«Некоторыми другими кандидатами были WebDancer и WebSpinner, — сказал Крис Уорт, который был инженером проекта с самого начала: хорошо, чтобы выбрать имя, которое не было связано ни с тем, ни с другим. Java, скорее всего, найдет настоящий дом в приложениях, далеких от Интернета, поэтому лучше, чтобы он не был классифицирован заранее.
Джеймс Гослинг, создатель Java, вспоминает, что это название произошло от собрания, на котором «около дюжины человек собрались для мозгового штурма».
Встреча, устроенная Ким Полезе, была принципиально сплошным диким сумасшествием. Многие просто выкрикивали слова. Кто выкрикнул, что первым неизвестно и неважно. Такое ощущение, что половина слов в словаре была выкрикнута в тот или иной момент. Было много: «Мне нравится это, потому что…» и «Мне не нравится это, потому что…» И, в конце концов, мы сократили его до списка из дюжины имен и передали его юристы.
«Нам было очень противно и мы устали от всего хакерского марафона, который мы делали в то время, и мы все еще не нашли имя, которое мы могли бы использовать», — сказал Тимоти Линдхольм, инженер проекта:
У нас было мало времени, так как принятие нового имени означало много работы, а у нас готовились релизы. Итак, мы организовали встречу, чтобы обдумать список имен … Я не помню, чтобы был какой-то конкретный защитник Java … Среди людей из первоначальной группы, с которыми я говорил об этом, большинство отрицают какую-либо память. о том, что Java — это что угодно, только не то, что вырвалось из групповой динамики.
«Я полагаю, что это имя было впервые предложено Крисом Вартом», — сказал Артур ван Хофф, в то время старший инженер:
Мы были на совещании уже несколько часов, и пока он пил чашку пива Пита, он выбрал «Ява» в качестве примера еще одного имени, которое никогда не сработает. Первоначальная реакция была смешанной. Однако я считаю, что окончательными кандидатами были Silk, DNA и Java. Я предложил Lingua Java, но это не помогло … Мы не могли зарегистрировать другие имена, поэтому в итоге было выбрано имя Java. В конце концов, наш специалист по маркетингу, Ким Полезе, наконец решилась на это.
Как они остановились на кофе
«Я протестировал эти имена на вечеринках, а также на своих друзьях и членах семьи», — вспоминает Полезе. «И Java получила самые положительные отзывы из всех кандидатов».
Поскольку не было уверенности, что какое-либо из имен будет очищено через торговую марку, я выбрал три или четыре и работал с юристами над их проверкой. Java прошел, и это был мой любимый язык, поэтому я назвал язык Java, а впоследствии назвал браузер HotJava, что гораздо лучше, чем WebRunner. Инженеры тяжело переживали расставание с Oak, но в конце концов привыкли… Я чувствовал, что брендинг очень важен, потому что хотел, чтобы Java была стандартом. Поэтому я сосредоточился на создании очень сильного бренда для Java.
Йеллин вспомнил последнее собрание, на котором проголосовали за имя:
Каждый человек должен был ранжировать Java, DNA и Silk в порядке своих предпочтений. То же самое имя, которое получило наибольшее количество «самых любимых» голосов, также получило наибольшее количество «наименее любимых» голосов. Так что это было брошено. А из оставшихся двух наибольшее количество голосов получила Java. Так это имя стало предпочтительным.
«Все сводилось к Silk или Java, и Java победила», — вспоминал Шайо:
Джеймс Гослинг, похоже, предпочел Java Silk. Последнее слово за именем оставалось за Ким Полезе, поскольку она была менеджером по продукту. Но большинство решений в то время принимались всеми как бы при согласии, а затем кто-то просто говорил: «Хорошо, вот что мы делаем».
Эрик Шмидт, в то время главный технический директор Sun, сказал, что он уверен в происхождении названия:
Мы встретились в начале 1995 года по адресу 100 Hamilton во время одного из наших стандартных операционных обзоров для небольших предприятий, таких как Oak. Берт Сазерленд был в то время старшим менеджером — он работал на меня — и он, и Ким, и еще несколько человек, включая Джеймса [Гослинга], были там. Ким представила: во-первых, теперь нам нужно выбрать новое имя, а во-вторых, Дуб, к которому мы все привыкли, был занят. Насколько я помню, она предложила два имени: Ява и Силк. Из этих двух вариантов она решительно предпочла Java и заявила, что команда [Live Oak] с этим согласна. Берт и я решили одобрить ее рекомендацию, и решение было принято. По этим причинам я считаю правильным отдать должное имени Ким. Она представила его и продала, а затем реализовала в маркетинге.
Но: «Кажется, я припоминаю, что Ким изначально прохладно относился к названию «Java», — вспоминает Крис Уорт:
. — к чему-то, что еще не было торговой маркой. Ким хотел такие вещи, как WebSpinner или даже WebDancer, что-то, что дало бы понять, что это продукт World Wide Web. Поиск товарных знаков был завершен, и через несколько недель вернулся краткий список проверенных имен . .. Казалось, что необходима бесконечная серия встреч и согласований — как будто имя действительно имело смысл.
«Ким хотела, чтобы мы задержали релиз, чтобы мы могли найти имя получше, чем Java, но инженеры, особенно Джеймс и Артур [ван Хофф] и я, отвергли ее решение», — сказал Варт:
В какой-то момент Джеймс сказал, что мы собираемся использовать Java и HotJava, и Ким прислал нам электронное письмо с просьбой подождать других имен, которые могут быть очищены. Джеймс ответил и сказал «нет», мы будем использовать то, что у нас есть. И мы просто сделали очень быстрый набор переименований в исходном коде и выпустили релиз … В конце концов, я думаю, что маркетологи и вице-президенты сказали гораздо меньше о названии, чем инженеры, которые умирали от желания что-то получить. за дверь.
«Я думаю, что Ким немного переписывает историю, когда предполагает, что она выбрала это имя по какой-то хитрой маркетинговой причине», — добавил Варт. «Мы остановились на этом названии, потому что у нас закончились варианты, и мы хотели выпустить наш продукт. Маркетинговые обоснования появились позже».
Неспящие в Пало-Альто
«Я не претендую на то, что я первый предложил это название», — сказал Варт, когда его спросили о заявлении ван Хоффа. «Мы определенно пили «Яву Пита», но мог быть я, или Джеймс, или кто-то еще. Я просто не помню точно, кто это сказал».
«Между мной, Джеймсом и другими инженерами возникло ощущение, что мы можем назвать его «xyzzy», и он все равно будет популярен», — добавил Варт. «В конце концов, не имеет значения, кто первоначально предложил это название, потому что в конечном итоге это было групповое решение — возможно, ему помогала горстка людей, употребляющих кофеин».
Тимоти Линдхольм, инженер, заключил:
Я думаю, что степень, в которой вовлеченные люди рассмотрели историю названия Java, не придя к какому-либо общепринятому решению, показывает, что название Java не было сделано каким-то героическим отдельным человеком, но был побочным продуктом творческой и целеустремленной группы, очень упорно пытавшейся достичь своих целей, частью которых было это название».