23 мая 2020 года Java отмечает свой 25-й день рождения. Это основанный на классах, объектно-ориентированный, строго типизированный язык, известный своей философией «писать один раз в любом месте». Он также считается наиболее широко используемым языком «профессионального программирования» с девятью миллионами разработчиков Java по всему миру в 2017 году, по оценкам Oracle.
На моем рабочем столе есть вездесущее (ну, похоже на это) уведомление о том, что доступно обновление Java. Я игнорирую это. Я не использую Java изо дня в день, и я достаточно часто читал о проблемах безопасности, связанных с Java.
Возможно, я сознательно не использую Java, но сайты, на которые я полагаюсь, — это интернет — банкинг, который приходит на ум, — и, конечно, мобильные телефоны используют Java для приложений Android, и ОС Android также по-прежнему основана на нем, несмотря на продолжающийся судебный процесс Oracle. Java вездесуща, нравится нам это или нет.
Джеймс Гослинг
Итак, каковы истоки Java? Хотя это была командная работа в Sun invloving Майка Шеридана, Патрика Нотона и других, Гослинг-человек, наиболее связанный с ней, и это было признано в прошлом году, когда он получил награду от Музея компьютерной истории за:
концепция, дизайн и реализация языка программирования Java.
Гослинг получил степень бакалавра компьютерных наук в Университете Калгари в 1977 году и защитил докторскую диссертацию в Университете Карнеги-Меллона (CMU), где разработал вариант Emacs и написал версию операционной системы UNIX для многопроцессорных компьютерных систем. Кроме того, находясь в CMU, он портировал UCSD Pascal p-код с рабочей станции PERQ для запуска в компьютерной системе DEC VAX, написав эмулятор VAX. Позже, работая над проектом Sun Java, Гослинг цитировал эту раннюю работу как вдохновение для концепции виртуальной машины Java, которая позволила бы коду, написанному один раз, работать на нескольких платформах, позволяя программистам всегда кодировать для одной и той же виртуальной машины.
Джеймс Гослинг предложил создать модифицированный C++, который он назвал C++—, но затем решил, что будет проще создать новый язык. Он назвал свой зарождающийся язык Дубом, потому что это было дерево, которое находилось рядом с его офисом. Был бы этот язык так же популярен, если бы его называли Дубом? У мира никогда не было шанса узнать это. Когда новости о проекте начали распространяться, технология Oak вызвала юридическую проблему, требующую ребрендинга языка. Джеймс Гослинг описал этот процесс как “дикое безумие”, во время которого “большинство слов в словаре были выкрикнуты”. Было предложено другое название, и близкие претенденты включали Шелк и ДНК, но в конце концов команда остановилась на Java, сокращенной форме «Горячей лавы Java». Возможно, именно ссылка на кофе, выделенная в его теперь знакомом логотипе, рекомендовала новый язык программистам, пропитанным кофе?
Нельзя отрицать преобладание Java в мире программирования. В настоящее время он находится на 2 — м месте в индексе TIOBE, но это примечательно как аномалия. Год назад, снова отчитываясь об индексе TIOBE, мы сообщили, что Python будет Основным языком, но с оговоркой, что, вероятно, это произойдет через несколько лет в будущем. Однако в альтернативном опросе популярности языка, проведенном RedMonk, Python уже делит первое место с Java.
Несмотря на свою популярность и успех, у Java на шее висит жернов — Oracle, компания, которая приобрела язык, когда купила Sun в 2010 году. Как мы сообщали, когда Гослинг ушел из Oracle в течение нескольких недель после поглощения Sun, до того, как Oracle стала владельцем, многие люди рассматривали Java, которая была с открытым исходным кодом в 2006 году, как нечто безопасное для будущего, свободное от чисто коммерческих манипуляций. Oracle, однако, имеет репутацию компании, зарабатывающей деньги и делающей это агрессивным образом, и Java ожидала, что Java будет каким-то образом скомпрометирована, чтобы генерировать доход для Oracle. В какой-то степени это беспокойство оказалось оправданным, но был найден обходной путь. В настоящее время существует две версии Java — бесплатный Oracle OpenJDK, который можно использовать без коммерческой лицензии для любых целей, и Oracle JDK, который можно использовать для тестирования и разработки без коммерческой лицензии, но требуется платная лицензия, если вы используете его в производстве. Кроме того, если вы хотите получить долгосрочную поддержку, вы должны использовать коммерческую версию, поскольку поддержка JDK 8 была прекращена. По сути, Java по-прежнему бесплатна и с открытым исходным кодом, но если вы не хотите обновлять свое программное обеспечение каждые шесть месяцев, вам нужна коммерческая лицензия.