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

  • 1991 год: Начало разработки

    1991 год: Начало разработки
    • Компания Sun Microsystems начинает проект под названием "Green Project".
    • Целью проекта было создание языка программирования для бытовой электроники, такой как телевизоры, микроволновые печи и другие устройства.
    • В команде разработчиков был Джеймс Гослинг, который позже стал основным создателем Java.
    • Первый прототип языка назывался Oak (по имени дуба за окном офиса Джеймса Гослинга).
  • Переименование Oak в Java

    Переименование Oak в Java
    • Из-за конфликта торговой марки (имя "Oak" уже использовалось другой компанией), язык переименовывают в Java.
    • Название "Java" было выбрано в честь кофе, популярного среди разработчиков, и отсылает к острову Ява, известному своими кофейными плантациями.
  • Официальный релиз Java

    Официальный релиз Java
    • 23 мая 1995 года компания Sun Microsystems официально анонсирует Java как язык программирования общего назначения.
    • Появляется слоган: "Write Once, Run Anywhere" ("Напиши один раз, запускай где угодно"), подчеркивающий кросс-платформенную природу Java благодаря виртуальной машине Java (JVM).
  • Выпуск JDK 1.0

    Выпуск JDK 1.0
    • Sun Microsystems выпускает первую версию Java Development Kit (JDK).
    • В состав JDK входят основные библиотеки и инструменты для разработки на Java.
  • Java 2

    Java 2
    • Выходит платформа Java 2, которая становится основой для нескольких направлений:
      • J2SE (Standard Edition) — для настольных приложений.
      • J2EE (Enterprise Edition) — для корпоративных приложений.
      • J2ME (Micro Edition) — для мобильных устройств.
  • Java 5.0

    Java 5.0
    • Одна из самых значительных обновленных версий Java.
    • Введены ключевые функции:
      • Generics (обобщения).
      • Enhanced for-loop (усовершенствованный цикл for).
      • Autoboxing/Unboxing (автоматическая упаковка и распаковка примитивных типов).
      • Annotations (аннотации).
      • Улучшения многопоточности (java.util.concurrent).
  • OpenJDK

    OpenJDK
    -Sun Microsystems делает исходный код Java открытым через проект OpenJDK.
    - Это позволяет сообществу разработчиков участвовать в развитии языка.
  • Покупка Sun Microsystems Oracle

    Покупка Sun Microsystems Oracle
    • Компания Oracle приобретает Sun Microsystems за $7.4 млрд.
    • После этого Java продолжает развиваться под управлением Oracle.
  • Java 7

    Java 7
    • Выпущена версия Java 7.
    • Добавлены новые возможности:
      • Поддержка строк в операторе switch.
      • Улучшенная работа с файлами через NIO.2.
      • Упрощение обработки исключений (try-with-resources).
  • Java 8

    Java 8
    • Одна из самых популярных версий Java.
    • Введены важные новшества:
      • Lambda-выражения (функциональное программирование).
      • Stream API (упрощенная работа с коллекциями).
      • Default methods в интерфейсах.
      • Optional для работы с nullable значениями.
  • Java 9

    Java 9
    • Введена модульность (Project Jigsa) для упрощения создания масштабируемых приложений.
    • Добавлен JShell — интерактивная среда для экспериментов с кодом.
    • Улучшена производительность JVM.
  • Шестимесячный релизный цикл

    • Начиная с Java 10, Oracle переходит на шестимесячный релизный цикл.
    • Каждые полгода выходят новые версии с небольшими улучшениями.
    • Версии с долгосрочной поддержкой (LTS) выходят каждые три года.
  • Java 17 (LTS)

    Java 17 (LTS)
    • Java 17 становится очередной долгосрочной поддерживаемой версией (LTS).
    • Это означает, что она будет получать обновления безопасности и исправления ошибок в течение нескольких лет.
    • Новые функции:
      • Records (упрощенное создание неизменяемых классов).
      • Pattern Matching** для оператора instanceof.
      • Улучшения Sealed Classes.
  • Современный Java

    Современный Java
    • Java остается одним из самых популярных языков программирования.
    • Активно развиваются облачные технологии, микросервисы и фреймворки, такие как Spring Boot.
    • Продолжается внедрение новых функций, таких как Virtual Threads (проект Loom), которые позволяют эффективнее работать с многопоточностью.