Почему именно Java? По статистике, Java является одним из самых популярных языков в мире, а именно 2-е место в рейтингах IEEE Spectrum (2020) и TIOBE (2021)
Содержание
1)История Java
2)Плюсы и минусы языка программирования
3)Интерпретируемые, компиляционные и байткодовые - языки программирования.
4) Что будет дальше
Немного лирики
Официальной датой создания языка Java считается 23 мая 1995 года, после выпуска компанией Sun первой реализации Java 1.0. Она гарантировала «Напиши один раз, запускай везде», обеспечивая недорогой стоимостью на популярных платформах.
Oak - первоначальное название Java до 1995 года, после в дальнейшем история Java продолжалась под именем Green, а позже был переименован как Java.
Плюсы Java:
Универсальность. Один из самых больших и главных плюсов языка. Неважно, надо ли написать код на кофемашину, чтобы она готовила горячий эспрессо, или робота для выполнения сверхзадач - все это для Java посильно
Безопасность. Методы проверки подлинности основаны на шифровании с открытым ключом. Другими словами, любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.
Высокопроизводительный. Введение Just-In-Time компилятора, позволило получить высокую производительность.
Минусы:
Память. Для большинства программ потребление памяти Java-машиной было в 10—30 раз больше, чем программой на C/C++.
Медлительность. Для большинства разных задач время выполнения на Java составляет в среднем в полтора - два раза больше, чем для C++. Это происходит из-за интерпретации. В отличие от С++, который является компиляционным языком.
Интерпретируемые, компиляционные и байткодовые - языки программирования.
Компилируемый язык — это такой язык, что программа, будучи скомпилированной, содержит инструкции целевой машины; этот машинный код непонятен людям. К компилируемым относятся C, C++, Erlang, Haskell, Rust и GO
Плюсы:
+ Скорость исполнения программы
+ Дают больше возможности, например управление памятью, процессором и т.д.
Минусы:
- Платформо - зависимость
- "Вечная" компиляция. Если надо будет что-то исправить, протестировать, нужно компилировать программу заново. Эти виды языка не походят для тестирования.
Интерпретируемый же язык — это такой, в котором инструкции не исполняются целевой машиной, а считываются и исполняются другой программой. Которая обычно написана на языке целевой машины. Устанавливаем ее отдельно. К интерпретируемым относятся PHP, Perl, Ruby и Python.
Плюсы:
+ Независимость от платформы
+ Меньший размер исполняемых файлов
Минусы:
- Низкая скорость исполнения. Но ситуацию спасает JIT-компиляция и позволяет ускорить процесс благодаря переводу часто используемых последовательностей инструкции в машинный код.
Также можно выделить байткодовые-языки:
Байткод-языки — это такие языки, которые используют для исполнения кода как компиляцию, так и интерпретацию. Java и фреймворк .NET — это типичные примеры байткод-языков. На самом деле, Java Virtual Machine (JVM) — это настолько популярная виртуальная машина для интерпретации байткода, что на ней работают реализации нескольких языков.
В байткод-языке сперва происходит компиляция программы из человеко читаемого языка в байткод. Байткод — это набор инструкций, созданный для эффективного исполнения интерпретатором и состоящий из компактных числовых кодов, констант и ссылок на память. С этого момента байткод передаётся в виртуальную машину, которая затем интерпретирует код также, как и обычный интерпретатор.
Плюсы:
+ Кроссплатформенность
+ Доступность JIT компиляции
Минусы:
- Задержка при компиляции. При компиляции кода в байткод происходит задержка, но дальнейшая скорость исполнения значительно возрастает в силу оптимизации байткода.
В следующей статье я расскажу что такое JDK, JDE, JVM. Для изучения Java это важно знать!))