Java — 27! Как язык программирования, предназначенный для бытовой техники, стал одним из самых популярных в мире

23 мая 1995 года — дата официального выпуска Java. Язык Java и сегодня остается одним из самых востребованных языков программирования в IT. По данным индекса TIOBE, ранжирующего языки программирования на основе поисковых запросов о них, Java стабильно занимает третье место по популярности в мире с момента запуска рейтинга.
Сегодня с помощью языка решаются тысячи задач — от написания мобильных игр и приложений до разработки в финтехе и работы с big data. Вместе с Даниилом Пилипенко, программным директором факультета backend-разработки направления «Программирование» Skillbox, директором центра подбора IT-специалистов SymbioWay рассказываем, зачем был создан Java, как он повлиял на развитие IT-отрасли и насколько востребовано владеть Java сегодня. Для затравки –– фрагмент кода, который выведет возраст языка в консоли 🙂
public class JavaAge < public static void main(String[] args) < LocalDateTime javaBirthday = LocalDateTime.of(1995, 5, 23, 0, 0, 0); long age = calculateAge(javaBirthday); System.out.println("Возраст языка Java: " + age); >public static long calculateAge(LocalDateTime birthday) < LocalDateTime now = LocalDateTime.now(); return birthday.until(now, ChronoUnit.YEARS); >>
Как появился Java и причём тут дуб
История Java началась в 1991 году, когда группа разработчиков компании Sun Microsystems (которая впоследствии присоединится к Oracle) под руководством Джеймса Гослинга приступила к созданию языка Oak («Дуб») для использования в цифровых бытовых устройствах. Oak должен был стать альтернативой C/C++ как более простой и кроссплатформенный язык. Поскольку язык программирования с таким названием уже существовал, в 1995-м его переименовали в Java – в честь одной из марок кофе – неизменного спутника любого кодера.
Как Java повлиял на развитие IT
В том же 1995 году Java получила широкую известность благодаря включению виртуальной машины Java Virtual Machine (JVM) в культовый браузер Netscape. Java позволял работать на разных аппаратных платформах вне зависимости от используемой на них машинной архитектуры. Главный конкурент Java — C — к тому времени уже изрядно надоел разработчикам.
Огромное количество инструкций, которое нужно было вводить для выполнения простейших задач, и большая совместимость с разными платформами предопределила успех Java. Ключевой мантрой Java того времени стала фраза: «Напиши один раз и запускай с чего хочешь». Пускай изначально всё было не так просто, со временем эти слова стали реальностью, и Java начал стремительно покорять рынок бизнес-программ, где кроссплатформенность ценилась особенно высоко. После того, как в 1998 году компания IBM написала на Java весь свой нашумевший Project San Francisco, этот язык стал своего рода отраслевым стандартом.
Жизнь в окружении Java
Java стал ежедневным спутником человека – на нём работают компьютеры, телефоны, плееры и даже SIM-карты. Гибкость языка позволяет применять его и для большой науки: на Java написаны программы для адронного коллайдера и марсоходов NASA.
Больше всего Java востребован в сфере финансов, где нужны надежные веб-сайты, устойчивые к высокому трафику, программы электронного документооборота (ЭДО) и собственные платформы для управления рисками. На Java разрабатывают серверные приложения для обработки данных, его используют при создании визуального облика веб-сайтов с помощью специальных шаблонов (фреймворков), а еще на нем пишут игры. Кстати, культовая 3D-песочница Minecraft от компании Mojang Studios написана именно на Java.
Не обходится без Java и при написании облачных приложений. Этот язык можно встретить в серверной части кода Pokemon Go и интернета вещей (IoT), где используются различные датчики и камеры видеонаблюдения.
Java часто выбирают для работы с большими массивами данных. Код одного из самых популярных фреймворков для работы с наборами данных — Hadoop — написан на этом языке. Фреймворк позволяет крупным компаниям создавать надежную файловую систему с высоким уровнем защиты данных.
Вот лишь небольшой список известных продуктов, написанных на Java:
- социальные сети Twitter, LinkedIn;
- видеосервисы Netflix и Spotify;
- Яндекс.Маркет и КиноПоиск;
- приложения для банкинга и биржевые продукты Альфа-Банка;
- серверная часть портала Госуслуг.
Главные особенности Java
Как и все языки программирования, Java обладает как преимуществами, так и недостатками. Поэтому, несмотря на универсальность Java, важно учитывать особенности языка при его выборе для решения той или иной задачи:

- С одной стороны, Java задумывался как простой язык. Действительно, благодаря простым командам Java легко освоить и понять даже тем, кто его не знает. С другой стороны, простота оборачивается громоздким кодом — там, где C++ обойдётся парой строк, Java потребуется десять.
Инструкция к выводу строчки Hello World! на Java | Источник
- Обратной стороной медали стала низкая производительность языка — Java Virtual Machine, которая обеспечивает кроссплатформенность языка, одновременно и «тормозит» его, в результате программы запускаются медленнее.
- За использование Java компаниям сегодня придётся платить: с 2019 года введена плата за коммерческое использование языка. Тем не менее, для больших клиентов это вряд ли стало преградой: крупный бизнес, ценящий надёжность, стабильность и безопасность, всё равно выбирает этот язык для решения своих задач.
Востребован ли Java сегодня
Несмотря на свои не юношеские 27 лет на рынке, Java по-прежнему пользуется популярностью в IT-индустрии. Согласно опросам специалистов по всему миру, 35,4% разработчиков используют Java в своей работе. Многие организации предпочитают Java для разработки собственного программного обеспечения, благодаря чему специалисты, работающие с этим языком, востребованы по всему миру.
Зарплата программистов, работающих с Java, зависит от сложности выполняемых задач, опыта работы, уровня компании-работодателя и страны. Тем не менее, любые инвестиции в изучение языка Java окупаются в среднем за несколько месяцев:
- согласно отчету Recruitment Centre Innopolis за 2021 год, зарплаты программистов, работающих с Java, одни из самых высоких в России: junior-специалист может рассчитывать на 100-180 тысяч рублей, middle — на 180-350 тысяч, senior — на 350-450 тысяч, lead — на 450-500+ тысяч рублей;
- средняя зарплата Java-разработчика в США на 2021 год составляет $78,5 тысяч в год: на старте карьеры специалисты получают $62 тысяч, спустя 6-9 лет в индустрии — порядка $88 тысяч, наиболее опытные — $102-11 тысяч.
Напоследок вот вам забавный кусок кода на парсинг 😉 Как думаете, что он выведет?
int i = (byte) + (char) - (int) + (long) - 1; System.out.println(i);
На чем была написана Java?
Собственно стало интересно и гугл не смог дать мне ответа. Везде пишут что разрабатывался с оглядкой на C++, но вот на чем собственно написан(или с помощью чего) нигде не оговаривается. Так же интересно на чем пишут JVM для новых ОС или устройств. Кто знает расскажите, интересно ведь.
Отслеживать
Viacheslav
задан 17 ноя 2011 в 15:23
Viacheslav Viacheslav
715 3 3 золотых знака 11 11 серебряных знаков 23 23 бронзовых знака
Странно, что никто не упомянул то, что помимо кода на c и c++ у jvm есть ещё ассемблерные вставки
6 июл 2015 в 18:31
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Действительно интересный вопрос, поискал нашел ответ, который меня в принципе удовлетворил: What is java written in
Отслеживать
ответ дан 17 ноя 2011 в 15:33
Sergii Kozlov Sergii Kozlov
2,468 16 16 серебряных знаков 13 13 бронзовых знаков
Да почти все языки так или иначе написано на С++ и(или) на С ^^
17 ноя 2011 в 15:56
Только не «языки», а их интерпретаторы, компиляторы и т.д.
17 ноя 2011 в 17:52
Естественно, интерпретаторы, виртуальные машины, компиляторы, в том числе JIT, пишутся на С или С++ (во всяком случае, их ядра) как на языках, дающих наибольшую скорость выполнения программ.
Отслеживать
ответ дан 17 ноя 2011 в 17:17
23.9k 2 2 золотых знака 37 37 серебряных знаков 69 69 бронзовых знаков
Разве Java интерпретатор? Там JIT компиляция вроде.
17 ноя 2011 в 17:23
Это сильно зависит от используемого JDK . В ответе на stackoverflow есть примеры JDK , написанных на Java .
17 ноя 2011 в 17:54
Это скорее экзотика. Теоретически можно написать на любом языке, средства которого это позволяют. Наиболее распространенный вариант — С/С++ по указанным мною причинам.
6 популярных продуктов, созданных на языке Java

6 популярных продуктов, созданных на языке Java!
Может ли язык программирования, созданный более 25 лет назад, оставаться актуальным и сейчас, в 2022 году?
Да, если речь о Java!
Именно с помощью Java были созданы многие программные продукты, широко известные во всём мире. Какие именно? Рассказываем.
⠀
— Google Docs и другие продукты Google: разработчики используют Java для программирования сервера и создания пользовательского интерфейса;
⠀
— Spotify. Этот интернет-сервис потокового аудио используетJava в своём веб-приложении, в частности, для стабилизации передачи данных;
⠀
— Netflix. Серверная часть этого популярного стримингового сервиса, позволяющего смотреть кино и сериалы, также построена на Java;
⠀
— LinkedIn. В этой социальной сети Java отвечает за запись логов, обмен сообщениями между пользователями и распознавание ссылок в текстах;
⠀
— NASA World Wind. Эта программа представляет из себя интерактивный виртуальный глобус, который использует спутниковые снимки NASA для построения трёхмерных моделей Земли, Марса, Венеры, Юпитера и Луны, и она полностью написана на Java.
⠀
— Minecraft. Это одна из немногих игр, написанных на Java, и здесь этот язык помогает в построении игровой логики, рендеринге и обмене сообщениями.
⠀
Кроме того, на языке Java написаны большинство Android-приложений и некоторые вебсайты, среди которых интернет-магазины (eBay, Amazon), социальные сети (LinkedIn, Twitter, Facebook), платёжные системы (PayPal) и даже официальный сайт Пентагона!
⠀
А ещё этот язык считается сравнительно простым для освоения, поэтому, если вы хотите овладеть новым языком программирования, Java – отличный выбор.
⠀
Курс «Программирование на Java»
Подписаться на рассылку
Будьте в курсе наших акций, скидок и новостей
Язык программирования Java: что нужно знать новичку

Java — язык программирования общего назначения. Он используется для написания кода, который может выполняться на разных платформах: компьютерах, мобильных устройствах и серверах.
По результатам рейтинга State of Octoverse 2022 Java входит в тройку самых популярных языков программирования. Java опережает по популярности PHP, C#, C++, TypeScript и другие востребованные языки, а уступает только JavaScript и Python. В индексе TIOBE на июль 2023 года Java занимает четвертое место.
Код на Java выглядит, например, так:
class App public static String getTypeOfSentence(String sentence) var sentenceType = ""; if (sentence.endsWith("?")) sentenceType = "question"; > else if (sentence.endsWith("!")) sentenceType = "exclamation"; > else sentenceType = "general"; > return "Sentence is " + sentenceType; > public static void main(String[] args) System.out.println(getTypeOfSentence("Who?")); // => Sentence is question > >
Немного об истории языка. Java разработала компания Sun Microsystems в начале 90-х годов XX века. Ведущую роль в создании языка сыграл канадский инженер Джеймс Гослинг, а на ранних этапах разработки язык назывался Oak. Затем его переименовали в честь сорта кофе Java и в честь этого оставили чашку в логотипе.
Создатели планировали использовать Java для программирования бытовой электроники, однако практически сразу после выпуска версии 1.0 в 1995 году язык стали использовать разработчики серверного и клиентского ПО. В 2010 году компанию Sun Microsystems купила Oracle. После этого Джеймс Гослинг перешел в Google, откуда тоже вскоре уволился.
Java-разработчик — с нуля до трудоустройства за 10 месяцев
- Постоянная поддержка от наставника и учебного центра
- Помощь с трудоустройством
- Готовое портфолио к концу обучения
- Практика с первого урока
Вы получите именно те инструменты и навыки, которые позволят вам найти работу
Сферы применения Java
В Java много внимания уделено раннему обнаружению ошибок и динамической проверке во время работы программы. Поэтому язык считается безопасным и на нем часто пишут важные системы: банковские терминалы, системы обработки транзакций, сервисы координации перелетов и другие.
Кроме того, Java достаточно дешевый в обслуживании — запускать код и работать с ним можно практически с любого компьютера, вне зависимости от конкретной аппаратной инфраструктуры. В том числе поэтому язык популярен в промышленной разработке, то есть в крупных компаниях.
Серверные приложения
Чаще всего язык программирования используется для создания серверных приложений разной степени сложности и направленности: это могут быть как отдельные приложения, так и вся серверная часть проекта. Также на Java пишут программы для финансовых организаций, которые обеспечивают проведение транзакций, фиксацию торговых операций.
Веб-приложения
Фреймворки Spring, Struts, и другие позволяют писать на Java веб-приложения: от ecommerce-проектов до крупных порталов, от образовательных платформ до правительственных ресурсов.
Мобильные приложения
С помощью Java можно создавать мобильные приложения для операционных систем Android. Язык обеспечивает разработку эффективных и надежных приложений, которые могут быть запущены на широком спектре устройств.
Игры
Это скорее, исключение, чем правило, но несколько популярных компьютерных игр — например, Minecraft и God of Wars, — написаны на Java.
Еще на Java пишут код для клиентских приложений (например, — IDE NetBeans), разрабатывают программы для научных целей, например, обработки естественных языков, программируют приборы — от бытовых девайсов до промышленных установок.
Читайте также: Из проектирования мостов — в Java-разработчики: история успеха
Свойства Java
Переносимость
Создатели реализовали принцип WORA: write once, run anywhere или «пиши один раз, запускай везде». Это значит, что написанное на Java приложение можно запустить на любой платформе, если на ней установлена среда исполнения Java (JRE, Java Runtime Environment).
Объектно-ориентированный подход
Java основан на концепции объектов, что делает его более структурированным и модульным. Вы можете создавать классы и объекты, которые взаимодействуют друг с другом, чтобы решать задачи.
Безопасность
Java обладает встроенными механизмами безопасности, которые помогают защитить программы от вредоносного кода и неправильного доступа к памяти. Это делает его популярным выбором для создания приложений, требующих высокой степени безопасности, таких как онлайн-банкинг или системы управления данными.
Автоматическое управление памятью
В Java реализован механизм управления памятью, который называется сборщиком мусора или garbage collector. Разработчик создает объекты, а JRE с помощью сборщика мусора очищает память, когда объекты перестают использоваться. Это упрощает жизнь разработчиков, так как им не нужно самостоятельно управлять памятью и избегать утечек.
Большая библиотека
Java имеет обширную стандартную библиотеку, которая предлагает множество готовых решений для различных задач. Вы можете использовать эти готовые компоненты, чтобы ускорить разработку и сэкономить время.
Многопоточность
Java поддерживает создание и управление множеством потоков, что позволяет выполнять задачи параллельно и повышает производительность программ.
Особенности языка программирования Java
- Широкое распространение старых версий языка. Популярность Java в enterprise-сегменте означает, что большинство компаний используют не самые последние версии языка. Чаще всего речь идет о Java 8, хотя последняя версия на июль 2023 года — Java 20.
- Сравнительно высокий уровень входа. Java предполагает совершенно иной подход к разработке, чем JavaScript, Python, PHP и другие. Если в большинстве языков понимание ООП можно получать постепенно, то в Java концепции нужно будет использовать едва ли не сразу. С другой стороны, рынок устроен так, что многие начинающие программисты выбирают Java первым языком программирования.
- Многословный и сложный код. Java — средний уровень между C++, где все свои действия нужно описывать словами из английского языка, и лаконичными языками программирования. В Java часто встречаются длинные предложения, которые помогают при обучении, но сильно затрудняют чтение и понимание кода.
Сколько зарабатывают Java-разработчики
В начале июля 2023 года на рекрутинговом сервисе hh.ru было опубликовано примерно 4300 вакансий Java-разработчиков в России. Около половины из них — от компаний в сфере IT и финансовых услуг. Почти 3000 работодателей предлагают работу в офисе, чуть более 1000 — удаленную работу.
Зарплата junior Java-разработчиков начинается от 30 тыс. рублей и достигает 160 тыс. рублей. Middle разработчики получают от 120 до 300 тыс. рублей. Senior Java-программисты могут претендовать на зарплату от 150 до 450 тыс. рублей.
По данным исследования сервиса «Хабр Карьеры», средняя зарплата Java-разработчиков во втором полугодии 2022 года в России составила 175 000 рублей.
Плюсы Java
- Большое глобальное сообщество. По данным компании Oracle, которая владеет и поддерживает язык, на Java пишут 12 млн разработчиков по всему миру и примерно 5 млн студентов.
- Безопасность. Язык сам по себе не делает код безопаснее, но в нем есть инструменты, которые позволяют защитить этот код. Например, в нем отсутствуют указатели и есть Security Manager, который позволяет настроить доступ к каждому приложению.
- Востребованность. Спрос на Java-разработчиков в enterprise-сегменте очень велик, а зарплаты достаточные высокие. Кроме того, зарубежные компании активно набирают Java-разработчиков из России.
Минусы Java
- Производительность. Несмотря на то, что Java обеспечивает безопасность и переносимость, некоторые разработчики считают, что он может быть медленнее по сравнению с некоторыми другими языками, такими как C++ или C#. Это может быть проблемой в некоторых случаях, когда требуется максимальная производительность или низкая задержка.
- Потребление памяти. Приложения на Java могут потреблять больше оперативной памяти по сравнению с некоторыми другими языками программирования. Это связано с автоматическим управлением памятью и использованием виртуальной машины Java.
- Зависимость от JVM. Поскольку Java работает на виртуальной машине Java (JVM), приложения требуют наличия JVM для выполнения. Это может создавать проблемы, если необходимость в установке и поддержке JVM на целевых устройствах или серверах является преградой.
Сравнение Java с другими языками
Исходя из данных рейтингов популярности языков программирования, мы выбрали главных конкурентов Java и сравнили с ними этот язык.
Java и Python
- Синтаксис Python более прост и понятен, что делает его более доступным для новичков. Синтаксис Java более строгий и требует больше внимания к деталям.
- Java считается более производительным языком, чем Python благодаря компиляции в байт-код на JVM. Python является интерпретируемым языком, что делает его менее эффективным в некоторых сценариях разработки.
- Java предоставляет более низкоуровневые инструменты для работы с многопоточностью, что позволяет эффективно использовать несколько потоков выполнения. Python имеет более простую модель потоков и ограничения на использование нескольких ядер процессора.
- У Java есть обширная экосистема инструментов и библиотек, разработанных для широкого спектра приложений. Python также обладает богатой экосистемой, особенно в области анализа данных и машинного обучения, благодаря таким библиотекам, как NumPy, Pandas и TensorFlow.
Java и C/C++
Джеймс Гослинг и его единомышленники хотели создать язык с C-подобным синтаксисом. В то же время он должен быть более простым по сравнению с C/C++. Вот его некоторые особенности:
- C/C++ обычно считаются более производительными языками, так как они предоставляют больше возможностей для оптимизации и более прямой доступ к аппаратуре компьютера. Java, в свою очередь, имеет некоторую накладную нагрузку из-за виртуальной машины и автоматического управления памятью, что может приводить к небольшому снижению производительности.
- Код на Java часто используется для разработки настольных и мобильных приложений, серверных приложений и больших корпоративных систем. C/C++ широко применяются в системном программировании, разработке операционных систем, драйверов, встроенных системах и игровой индустрии.
Java и C Sharp
- Синтаксис Java и C# имеет сходства, так как оба языка основаны на синтаксисе языка программирования C. Однако C# иногда считается более простым и интуитивно понятным.
- Java является мультиплатформенным языком, что означает, что программы, написанные на Java, могут работать на разных операционных системах. C# тесно связан с платформой Windows и широко используется для разработки приложений, работающих в среде .NET.
- Java имеет обширную экосистему, включая богатый выбор библиотек и фреймворков для различных областей разработки. C# также обладает сильной экосистемой, основанной на платформе .NET, с доступом к разнообразным инструментам и библиотекам.
- Оба языка имеют поддержку многопоточности, но в Java многопоточность встроена в сам язык и имеет более развитые инструменты для работы с потоками.
Java и JavaScript
Несмотря на то, что Java и JavaScript имеют похожие названия, эти языки программирования мало что связывает, так как их используют для разных целей.
- Java является статически типизированным языком, что означает, что переменные должны быть объявлены с указанием их типа данных. JavaScript, с другой стороны, является динамически типизированным языком, где типы переменных определяются автоматически во время выполнения.
- Синтаксис Java и JavaScript отличается. Java имеет синтаксис, основанный на классах и объектно-ориентированном подходе, в то время как JavaScript имеет более гибкий синтаксис и используется для функционального программирования и манипуляции событиями на веб-странице.
Может ли новичок изучить Java и как ему это сделать
Java обладает простым синтаксисом и хорошей структурой, что делает его относительно доступным для новичков. Однако, как и при изучении любого языка программирования, требуется время, терпение и постоянная практика, чтобы стать опытным разработчиком. Необходимо уделять внимание основам языка, а затем применять полученные знания на практике, создавая реальные проекты.
Соревнования помогают развивать навыки кодирования и учат видеть неочевидные пути решения задач. Вот две платформы, на которых можно найти соревнования в соответствии со своим уровнем знаний:
- Codebattle — платформа с соревнованиями для разработчиков разных уровней подготовки. Все решения участников публикуются в открытом доступе после завершения раунда. Это важный элемент обучения: можно решать задачу несколько дней в 100 строк кода, а можно сделать то же самое за несколько часов и пять строк кода. Например, с помощью готовых методов.
- Hackerrank — кроме соревнований на платформе есть раздел подготовки к интервью с самыми популярными и актуальными вопросами. Например, есть блоки по массивам, объектам и другим сущностям — с объяснением, как это работает, и с задачами на закрепление знаний.
Что почитать и посмотреть по Java
Есть несколько классных книг по Java, которые стоит прочитать начинающим Java-разработчикам:
- Кэтти Сьерра, Берт Бейтс « Изучаем Java »
- Герберт Шилдт « Java: руководство для начинающих »
- Джошуа Блох « Java: эффективное программирование »
- Брюс Эккель « Философия Java ».
Помимо чтения этих книг, советуем пройти бесплатный курс в Хекслете по основам Java:
Профессия «Java-разработчик»
- Изучите Java — кроссплатформенный язык программирования, который используют Amazon, Netflix, eBay, PayPal и другие крупные компании
- Научитесь разрабатывать программное обеспечение, сайты и приложения
- Освойте самый популярный в коммерческой разработке фреймворк — SPRING BOOT
- Разберитесь в базах данных и научитесь управлять ими с помощью SQL