На сегодняшний день, согласно надежным общедоступным источникам, Java остается одним из самых популярных языков программирования. Специалисты со знанием этого языка всегда востребованы. Различные крупные корпорации используют этот язык программирования для разработки и поддержки своих продуктов, известных по всему миру. Именно об этих компаниях и их продуктах мы поговорим в этой статье.


image


Скажу сразу, здесь не будет кода или каких-то технических тонкостей. Просто легкое чтиво для тех, кому интересно, где и как используют наш любимый Java.

Но сначала немного о самом языке


Большинству постоянных читателей хабра наверняка все и так известно, но я на всякий случай повторюсь.


Java — язык программирования общего назначения. Он может использоваться для создания приложений в разных областях: от веб-сайтов до компьютерных игр, от мобильных приложений до тяжеловесных программ для корпораций и научных целей.


Создатели реализовали принцип WORA: write once, run anywhere или «пиши один раз, запускай везде». Написанное на Java приложение можно запустить практически на любой платформе, что является большим преимуществом.


Теперь можно перейти к самим продуктам


NASA World Wind


NASA World Wind относится к типу геоинформационных систем. Это полностью трехмерный интерактивный виртуальный глобус, который использует спутниковые снимки NASA и аэрофотосъемку Геологической службы США для построения трёхмерных моделей Земли, Луны, Марса, Венеры и Юпитера.


NASA World Wind имеет статус проприетарного ПО с открытым исходным кодом. Программа написана на Java, и работает под управлением всех операционных систем, для которых реализован OpenGL-стек.


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


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


NASA World Wind имеет расширяемую архитектуру. Существуют GPS плагины для отображения облачности, землетрясений, ураганов в приближенном к реальному времени и ряд других.



Вот как это выглядит


Google и Android OS


Компания Google использует Java для многих своих продуктов. В основном для программирования сервера и разработки пользовательского интерфейса.


Например, для Google Docs — приложение для работы с документами, которое очень похоже на Microsoft Word. Только все изменения в нем сохраняются автоматически, и если вы авторизованы в Google на своих устройствах, вы всегда и везде можете открыть и поработать с документом без необходимости его скачивать.


И конечно, здесь мы никак не можем пройти мимо операционной системы Android — ведь она берет свое начало именно от виртуальной машины Java (JVM). Поэтому на этом языке можно разрабатывать и мобильные приложения.


Кстати, по поводу использования Java в Android у компании Oracle, владеющей Java, когда-то случился серьезный конфликт с компанией Google. Подробнее об этом можно почитать здесь.


Не смотря на популярность Java, многие Android разработчики уже активно переходят на Kotlin — еще один язык программирования (правда не от Google, а от JetBrains), работающий поверх JVM и имеющий ряд преимуществ именно для мобильной разработки — он гораздо более лаконичный и менее ресурсоемкий.


Netflix


Эта компания и ее платформа не нуждаются в длинном представлении. Netflix — одна из крупнейших американских компаний в индустрии развлечений — является поставщиком фильмов и сериалов на основе потокового мультимедиа.


Компания использует Java для серверной части большинства своих приложений, наряду с Python. Аndroid и Android TV приложения практически полностью построены на Java, с небольшой примесью C++.


Spotify


Spotify — один из популярнейших в мире интернет-сервисов потокового аудио, позволяющий легально и бесплатно прослушивать более 50 миллионов музыкальных композиций, аудиокниг и подкастов. Доступен в виде веб-приложения, десктопных приложений, приложений для смартфонов и множества других смарт-устройств, а также для медиа-систем автомобилей.


В основном, Spotify использует Java и Python для реализации некоторого функционала своего веб приложения, например для логирования и стабилизации передачи данных.


Ну и конечно же, Java является основной технологией для приложения Spotify на Android OS.


LinkedIn


На сегодняшний день LinkedIn является одной из крупнейших социальных сетей для поиска и установления деловых контактов. В LinkedIn зарегистрировано около 600 млн. пользователей, представляющих 150+ отраслей бизнеса из 200 стран.


Java является одним из основных языков серверной части платформы. Главным образом он помогает реализовать функционал логирования, совершать обмен сообщениями, а также распознавать и преобразовывать ссылки в текстах.


Официальное мобильное приложение LinkedIn для Android OS также разработано на Java.


Uber


Для приложения Uber, Java — одна из важнейших технологий на ряду с Python, Node.js и Go. Согласно заявлению разработчиков, они выбрали Java именно по причине высокой производительности, что является одной из главных характеристик этого языка. Также Java обладает преимуществами экосистемы с открытым исходным кодом и интегрируется с внешними технологиями, такими как Hadoop и другими аналитическими инструментами.


Ну и конечно же, как и в большинстве случаев представленных ранее, Uber использовали Java как основной язык при разработке своего мобильного приложения для операционной системы Android.


Amazon


Кроме электронной торговли, главные направления компании включают разработку и поставку облачных и стриминговых решений, а также активно занимаются направлением искусственного интеллекта. Amazon признан одной из крупнейших технологических компаний в мире наряду с Google, Apple и Facebook.


Главным образом, Amazon используют Java для разработки своих веб сервисов (AWS). Они также предпочитают писать на Java сценарии автоматизации, так как они хорошо поддерживаются, имеют много внутренних инструментов/сред, которые помогают писать вспомогательные инструменты.


Minecraft


Да, эта всемирно известная компьютерная инди-игра в жанре песочницы тоже написана на Java. По словам разработчиков “пусковая установка Minecraft поставляется с Java версии 1.8.0_51, которая используется по умолчанию”. Однако они рекомендуют обновиться, чтобы увеличить производительность.


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


Заключение


Все вышеперечисленное в очередной раз доказывает популярность и эффективность Java. Хоть этот язык за последние пару лет начал слегка терять свою популярность, тот факт, что крупнейшие корпорации продолжают его использовать, указывает на его надежность и хорошую поддержку.


Я специально подбирал абсолютно разные примеры, чтобы было интереснее. Если у вас есть еще больше интересных примеров использования Java в известных продуктах, пишите в комментариях. С удовольствием почитаю.