Содержание курса
Упрощенные лекции
0/1
Содержание урока:

Почему Java это очень крутой язык программирования ?

Неоспоримое преимущество Java над другими языками — это мультиплатформенность. Дело в том, что компьютер умеет исполнять только простейшие числовые команды. У компьютера роль таких команд выполняют числа: каждая команда закодирована некоторым числом — кодом (их еще называют машинным кодом).

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

Обычно программист пишет программы на языке программирования, а затем запускает компилятор, который на основе написанных программистом файлов с кодом программы делает один файл с машинным кодом — окончательную (скомпилированную) программу

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

Но у Java гораздо более инновационный подход:

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

А кто же компилирует программу в машинный код при ее запуске ?

Есть специальная программа под названием JVM (Java Virtual Machine) — Виртуальная Машина Java. Именно ее запускают первой, когда нужно запустить программу, состоящую из байт-кода. А уже JVM перед выполнением нужной программы компилирует ту в машинный код. Это очень мощный ход. И одна из причин тотального доминирования Java.

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

Java занимает доминирующее положение в следующих отраслях программирования:

  1. Enterprise: тяжелые серверные приложения
  2. Mobile: мобильная разработка (телефоны, планшеты), благодаря Android. *сейчас все уже переходит к Kotlin
  3. Web: лидирует PHP, но и Java держит солидный кусок рынка
  4. Big Data: распределенные вычисления в кластерах из тысяч серверов
  5. Smart Devices: программы для умного дома, электроники, холодильников с выходом в интернет