







1. Java – самый популярный язык программирования
А вы знали, что Java — самый популярный в мире язык программирования?
Согласно рейтингу TIOBE, язык программирования Java используют более 17% всех программистов мира. На втором месте идет C с 16%. А 20 лет назад, когда язык Java только появился, безоговорочным лидером был С++, доля которого сейчас — меньше 7%.
Язык Java появился в середине 90-х годов 20-го века и очень быстро набрал популярность. Программисты тысячами переходили с С++ на Java. Что только лишний раз подтверждает, что Java — это очень крутой язык программирования.
Так что же в нем такого крутого? Какие фишки добавили в него создатели?
Вы очень удивитесь, если сравните язык Java и язык С++: Java очень похож на сильно обрезанный С++!
Да, язык Java — это в какой-то мере сильно урезанный С++. И если в С++ что-то можно сделать 20-ю способами, то в Java это можно сделать только одним способом. И в чем же тут преимущество, спросите вы?
Все дело в том, что современные программы очень большие, и часто программисты до 90% времени тратят на то, чтобы разбираться в чужом коде. И только 10% — на написание нового кода. Так что да, простота — это преимущество.
2. Java-компилятор
Кстати, вы не раз еще услышите, что неоспоримое преимущество Java над другими языками — это мультиплатформенность. Что же это такое и с чем его едят? Начнем издалека.
Дело в том, что компьютер умеет исполнять только простейшие команды.
Для собак есть команды «Рядом», «Лапу» и другие, слыша которую собака делает что-то важное. У компьютера роль таких команд выполняют числа: каждая команда закодирована некоторым числом (его еще называют машинным кодом).
Писать программу в виде чисел очень сложно, поэтому люди придумали языки программирования и компиляторы. Такой язык, с одной стороны, понятен человеку, с другой — компилятору. Компилятор — это специальная программа, которая переводит текст программы, написанный на языке программирования, в набор машинных кодов.
Обычно программист пишет программу на языке программирования, а затем запускает компилятор, который на основе написанных программистом файлов с кодом программы делает один файл с машинным кодом — окончательную (скомпилированную) программу.
- Программа на языке C++
-
Компилятор
- Программа, состоящая из машинных кодов
Получившаяся в итоге программа сразу может выполняться на компьютере. Минус такого подхода в том, что код полученной программы сильно зависит от процессора и операционной системы. Программа, скомпилированная под Windows, не будет работать на телефоне с Android.
Если вы написали программу под Android, то на операционной системе Windows она не запустится!
Но у Java гораздо более инновационный подход.
- Программа на языке Java
-
Java‑компилятор
- Программа, состоящая из специальных независимых кодов (байт‑код)
-
Java VM
- Программа, состоящая из машинных кодов
Компилятор Java не компилирует все классы в одну программу из машинных кодов. Вместо этого он компилирует каждый класс по отдельности, и не в машинные коды, а в специальный промежуточный код (байт-код). Компиляция в машинный код выполняется при запуске программы.
А кто же компилирует программу в машинный код при ее запуске?
Для этого есть специальная программа под названием JVM (Java Virtual Machine) — Виртуальная Машина Java. Сначала запускают ее, а затем — программу, состоящую из байт-кода. А уже JVM перед выполнением нужной программы компилирует ее в машинный код.
Это очень мощный ход и одна из причин тотального доминирования Java.
3. Области доминирования Java
Благодаря вышеописанным преимуществам, программы, написанные на Java, могут выполняться практически на любых устройствах — компьютерах, телефонах, банкоматах, тостерах, банковских карточках.
Преимуществ такого подхода очень много. Именно поэтому программы на Android тоже пишутся на Java. А благодаря развитию мобильного сектора, Java занимает доминирующее положение в следующих отраслях программирования:
- Enterprise: тяжелые серверные приложения для банков, корпораций, инвестфондов и т.д.
- Mobile: мобильная разработка (телефоны, планшеты), благодаря Android.
- Web: лидирует PHP, но и Java держит солидный кусок рынка.
- Big Data: распределенные вычисления в кластерах из тысяч серверов.
- Smart Devices: программы для умного дома, электроники, холодильников с выходом в интернет.
Java — это не просто язык, а целая экосистема: миллионы готовых модулей, которые вы можете использовать в своей программе. Тысячи сообществ и форумов в интернете, где можно попросить помощь или совет.
Чем больше вы будете программировать на Java, тем больше будете находить ответов на вопрос «Почему именно Java?».



ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ