История языка программирования Java
Язык Java имеет интересную и непростую историю создания и развития с начала 1990-х годов. Первоначально Java язык вовсе не предусматривался в качестве языка программирования для прикладного программного обеспечения.
Язык разрабатывался для программирования бытовых устройств. Создание языка Java тесно связано с именем James Arthur Gosling (Джеймс Артур Гослинг), которого часто называют «Доктор Ява», канадского ученого, известного как основателя и ведущего дизайнера языка Java.
Команда для разработки нового языка
Платформа и язык Java начинались как внутренний проект в Sun Microsystems в декабре 1990 года, предоставляя альтернативу языкам программирования C и C++. Инженер Patrick Naughton (Патрик Нотон, американский разработчик программного обеспечения) организовал команду, в которую входили Джеймс Гослинг (James Gosling), Майк Шеридан (Mike Sheridaп), Крис Уарт (Chris Warth) и Эд Франк (Ed Frank).
Команда начала работу над Green Project предусматривающим разработку операционной системы для электронных бытовых устройств. В разработке и развитии нового языка приняли участие немало других специалистов: Билл Джой (Bill Joy), Артур ван Хофф (Arthur van Hoff), Джонатан Пэйн (Jonathan Payne), Франк Йеллин (Frank Yellin) и Тим Линдхольм (Тlm Lindholm) которые внесли основной вклад в развитие исходного прототипа Java.
Поиск базы для нового языка
Первоначально команда рассматривала возможность использования модифицированного языка C++, но отклонила его по причинам требовательности к объемам памяти и высокой сложности. Отсутствие в С++ сборки мусора означало, что программистам приходилось вручную управлять системной памятью, сложной и подверженной ошибкам задачей. Тем более что они разрабатывали встроенную систему с ограниченными ресурсами. Наконец, они хотели получить платформу, которую будет легко портировать на любые типы устройств. Но все же синтаксис Java во многом заимствован из C и C ++, а объектно-ориентированные функции смоделированы на основе языков С++, Smalltalk and Objective-C.
Язык программирования Oak
Разработкой нового языка вплотную занимался Джеймс Гослинг и изначально назвал его Оak (в переводе с английского Дуб). Рядом с офисом разработчика действительно рос дуб. Наверное Джеймс, работая в офисе, поглядывал в окно и видя крепкий дуб, излучающий здоровье и долголетие, решил назвать новый язык в честь зеленого дерева. К лету 1992 года команда смогла продемонстрировать части новой платформы, включая операционную систему Green OS, язык Oak, библиотеки и аппаратное обеспечение.
Их первая попытка, продемонстрированная 3 сентября 1992 года, была сосредоточена на создании устройства PDA (Personal Digital Assistant, карманный компьютер) под названием Star7, которое имело графический интерфейс и смарт-агента под названием «Duke» для помощи пользователю. Карманный компьютер Star7 был принципиально новым устройством, которое намного опередило своё время, но из-за высокой стоимости не смогло произвести переворот в мире технологии и постепенно было забыто. Возможно, в настоящее время именно оно вернулось к нам в виде умных андроид устройств.
Происхождение названия Java
1994 году язык Oak был переименован в виду того, что название «Oak» уже использовалось как торговая марка компании Oak Technology (американская организация, поставщик электронных компонентов). Oak был переименован в Java, в честь марки кофе которое получило название одноименного острова Ява. Поэтому на официальной эмблеме изображена чашка с горячим кофе. Существует и другая версия происхождения названия языка, связанная с шутливым намеком на кофе-машину как пример бытового устройства, для программирования которых изначально язык и создавался. Наконец Java 1.0 была окончательно выпущена в 1996 году.
Предпосылки Java
До появления языка Java программистам, приходилось выбирать между языками, которые обеспечивали только узкий спектр характеристик. Первые языки программирования BASIC, COBOL и FORTRAN были разработаны без учета принципов структурирования. Структурированный язык Pascal не был предназначен для написания разнообразных программ. Язык С++ частично решал эти проблемы. Но трудность применения С и С++ состоит в том, что написанные на них программы должны компилироваться для конкретной платформы.
Пытаясь найти решение этих проблем, Джеймс Гослинг и другие разработчики начали работу над переносимым, не зависящим от конкретной платформы языком. Исходный код, созданный на таком языке, должен был выполняться на разнотипных процессорах в различных операционных системах. И в итоге их усилия привели к созданию первого в мире кроссплатформенного языка под названием Java.
Концепции языка Java
- простота
- безопасность
- переносимость
- объектная ориентированность
- надежность
- многопоточность
- архитектурная нейтральность
- интерпретируемость
- высокая производительность
- распределённость
- динамичность
Java и С++
Многие особенности Jаvа унаследованы от языков С и С++. Вместе с тем языку Java присущи значительные практические и концептуальные отличия. Хотя С++ оказал влияние на характеристики Jаvа, но всё же язык программирования Java не является усовершенствованной версией С++. Разумеется, у него немало сходств с языком С++, и в исходном коде программы на Java программист С++ будет чувствовать себя почти как дома.
Но есть и коренные отличия двух языков: программа на C++ компилируется только для конкретной среды выполнения, что делает C++ зависимым от платформы языком. В Java исходный код сначала преобразуется в байт-код во время компиляции. Этот байт-код затем интерпретируется интерпретатором и средой выполнения для создания выходных данных, которые делают Java независимым от платформы языком. Язык Jаvа предназначен не для замены С++, а для решения других задач, для которых язык С++ не годится.
Java и C#
Платформа .NET представляет собой примерно то же самое, что и виртуальная машина Java (JVM) и библиотеки Java, а язык C# имеет явное сходство с языком Java. Вне всяких сомнений это лучшее, что создала компания Microsoft в области языков и сред программирования. Впервые с момента своего появления y Java появился реальный соперник.
Языки C# и Java появились в разное время. Язык Java был создан задолго до появления C#. Таким образом, если Java создавался, опираясь в большей степени на опыт языков Objective-C и C, С++, то для C# такой опорой уже являлись C++ и сам Java. И, несмотря на своё название, C# оказался ближе к Java, чем к C++.
С точки зрения разработчика языки Java и C# очень похожи. Оба языка являются строго типизированными, объектными. Оба языка опираются на сборку мусора. Оба языка сопровождаются богатыми коллекциями библиотек. Но есть в языках также свои особенности и различия. C# учёл многие недостатки Java, и исправил их в своей реализации. Но и Java не стоит на месте, развиваясь параллельно с C#.
Современный Java
И сегодня Java остается в лидерах языков программирования. Индекс TIOBE Programming Community — показатель популярности языков программирования, обновляемый ежемесячно. Рейтинги основаны на количестве квалифицированных инженеров по всему миру, курсов и сторонних поставщиков. Популярные поисковые системы также используются для расчета рейтинга. Если взять статистику с 2000 по 2020 годов видно, что язык программирования Java уверенно держится в лидерах, не опускаясь ниже 3-его места. У Java программистов рынок труда один из самых больших. Кроме того, высокая популярность языка означает, что в интернете по нему легко можно найти практически любую информацию.
В мире не может быть более распространенного компьютерного кода, чем на Java. Java везде — практически на каждом мобильном устройстве, сервере, ИТ-системе и сети. Язык Java используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код. Для такой компиляции используется Android SDK, разработанный компанией Google.
В настоящее время язык и платформа Java активно развивается. 3 миллиарда устройств работают под управлением Java—дома, в автомобиле и офисе. 12 миллионов разработчиков Java по всему миру. Недавно было объявлено, что для Java будет использоваться шестимесячный цикл выпуска. Java сегодня успешна, потому что даже код, написанный 20 лет назад, совершенно точно работает.
Общий вывод получается таким: насчёт «самого популярного» языка можно спорить, но что Java «один из самых популярных» — безусловно.
- https://ru.wikipedia.org/wiki/Java
- https://en.wikipedia.org/wiki/Oak_(programming_language)
- https://www.oracle.com/ru/index.html
- https://www.educba.com/c-plus-plus-vs-java/
- Книга: Библиотека профессионала Java. Кей Хорстманн, Гари Корнелл, 9 издание
- Книга: Java 8 Полное руководство, Герберт Шилдт, 9 издание
- Книга: Философия Java, Брюс Эккель, 4-е полное издание