Перейти к основному содержимому

Краткая история языка программирования Java

· 6 мин. чтения

Задача: Наибольшая подстрока палиндром

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

ANDROMEDA 42

1. Обзор

Java — один из самых популярных языков программирования во всем мире. Он был создан Джеймсом Гослингом и Патриком Нотоном, сотрудниками Sun Microsystems, при поддержке Билла Джоя, соучредителя Sun Microsystems.

Sun официально представила язык Java на SunWorld 23 мая 1995 года. Затем, в 2009 году, компания Oracle купила компанию Sun, что объясняет, почему язык теперь принадлежит Oracle.

В этой статье мы рассмотрим историю языка программирования Java .

2. Что такое Java?

Java описывается как многоцелевой, строго типизированный язык объектно-ориентированного программирования (ООП) . По дизайну он имеет как можно меньше зависимостей от реализации.

С помощью этого языка программирования мы можем создавать приложения на нескольких устройствах. Его область применения очень широка, что позволяет нам создавать программное обеспечение для мобильных устройств, торговых терминалов, банкоматов, IoT (Интернета вещей), а также веб-страниц.

Хотя Kotlin является предпочтительным языком для разработки Android в 2021 году, Java по-прежнему является языком по умолчанию для разработки приложений для Android. Основной причиной этого является тесная интеграция Android с Java. Фактически, части этой ОС, такие как пользовательский интерфейс и определенные основные библиотеки, написаны на Java.

3. Краткая история

Давайте углубимся в изучение того, как проект Java начинался и развивался с течением времени.

3.1. Начало

Проект родился в 1991 году, за кулисами команды Sun Microsystems, когда три инженера, Джеймс Гослинг, Майк Шеридан и Патрик Нотон, стремились разработать язык, применимый к небольшим электрическим устройствам .

Вскоре после этого они запустили «Зеленый проект» для изучения влияния конвергенции бытовой техники с цифровым управлением и компьютеров.

Используя синтаксис, аналогичный C++, они создали цифровой пульт дистанционного управления, оснащенный графическим и анимированным сенсорным экраном. Плод нескольких месяцев интенсивных исследований, этот пульт дистанционного управления обладал фантастической функцией управления всем оборудованием в гостиной. Он был запрограммирован на новом языке, полностью независимом от процессора, на котором он работал, что делало пульт уникальным в своем роде.

В конце концов, именно Джеймс Гослинг, один из участников Green Project, создал этот новый язык, который он назвал Oak.

Впоследствии проект получил распространение, когда к нему присоединились американские кабельные операторы. Затем Дуб стал первым лицом. К сожалению, проект FirstPerson не имел коммерческого успеха, так как уж больно сильно опережал индустрию, приоритетом которой была, прежде всего, рентабельность.

3.2. Появление протокола HTTP и браузера Mosaic

В 1993 году появился протокол HTTP и браузер Mosaic, что стало судьбоносным событием для проекта. За это время команда поняла, что Интернет будет идеальной сетью для позиционирования их продукта.

Затем, в 1995 году, Джеймс Гослинг представил браузер под названием WebRunner, способный отображать HTML-контент, смешанный с апплетами. Оттуда дела пошли. Сначала WebRunner стал HotJava, затем java.sun.com официально открылся для публики.

Со временем название этой технологии стало «Java» (что на американском сленге означает «кофе»), в честь любимого напитка программиста, а именно кофе, часть производства которого производится на острове Ява.

Именно тогда Sun и Netscape объявили о своем желании интегрировать эту новую технологию в свои браузеры, что окончательно запустило язык. Затем версии будут следовать друг за другом от версии 1 в 1996 году до версии 17 в 2021 году.

4. Особенности

Благодаря своим отличным функциям Java стал популярным и полезным языком программирования. Сан охарактеризовал это как:

  • Скомпилировано и интерпретировано
  • Независимый от платформы и портативный
  • Объектно-ориентированный
  • Надежный и безопасный
  • Распределенный
  • Знакомый, простой и маленький
  • Многопоточный и интерактивный
  • Высокая производительность
  • Динамичный и расширяемый

Источник: «Программирование на Java» — Э. Балагурусамы.

Далее мы подробно рассмотрим каждую из этих функций.

4.1. Скомпилировано и интерпретировано

Java сочетает в себе мощь компилируемых языков с гибкостью интерпретируемых языков.

Компилятор ( javac ) компилирует исходный код в байт -код , затем виртуальная машина ( JVM ) выполняет этот байт-код, преобразовывая его в машиночитаемый код.

4.2. Независимый от платформы и портативный

Двухэтапный процесс компиляции лежит в основе самой важной особенности Java: независимости от платформы, что обеспечивает переносимость.

Независимость от платформы означает , что программа, скомпилированная на одной машине, может выполняться на любой другой машине, независимо от ОС , если установлена JVM.

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

4.3. Объектно-ориентированный

Java активно поддерживает концепции объектно-ориентированного программирования, такие как инкапсуляция, абстракция и наследование.

Все инструкции и данные в программе Java должны быть добавлены внутри класса или объекта.

4.4. Надежный и безопасный

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

Одна из важнейших — система управления памятью, наряду с автоматической сборкой мусора . По сравнению с такими языками, как C/C++, Java избегает концепции явных указателей и не требует, чтобы программисты вручную управляли выделенной памятью.

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

Кроме того, Java является строго типизированным языком, что позволяет снизить количество ошибок в приложении и предоставляет механизмы обработки ошибок.

4.5. Распределенный

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

Мы можем добиться этого, используя концепцию RMI (удаленный вызов метода) и EJB (Enterprise JavaBeans) .

4.6. Просто и знакомо

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

Наконец, Java знакома, поскольку основана на существующих языках, таких как C++, и включает в себя многие функции этих языков.

4.7. Многопоточный и интерактивный

Также известная как многозадачность на основе потоков, многопоточность — это функция, которая позволяет выполнять несколько потоков одновременно.

Короче говоря, мы можем писать Java-программы, которые решают множество задач одновременно, определяя несколько потоков. Преимущество многопоточности в том, что она не занимает память для каждого потока — все потоки используют общую область памяти .

4.8. Высокая производительность

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

4.9. Динамичный и расширяемый

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

5. Полезность среды выполнения Java

Чтобы иметь возможность запускать программное приложение, оно должно иметь среду, которая позволяет ему функционировать — обычно это операционная система, такая как Linux, Unix, Microsoft Windows или macOS. При отсутствии других поддерживающих сред программы ограничены возможностями операционной системы и ее ресурсами.

Среда выполнения Java (JRE) действует как переводчик и посредник между программой и операционной системой. Он работает поверх операционной системы, предоставляя дополнительные ресурсы, специфичные для Java.

6. Заключение

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

Таким образом, это язык, который обычно считается относительно современным и потенциал которого хорошо известен.