- PVSM.RU - https://www.pvsm.ru -
Некоммерческая организация Cloud Foundry Foundation (CFF [1]) в конце лета опубликовала рейтинг [2] самых востребованных языков программирования для корпоративных облачных разработок. Согласно их исследованию, лидером стал [3] Java.
Под катом расскажем почему и как его используют ИТ-компании и другие организации.
[4]
/ фото r. nial bradshaw [5] СС [6]
В исследовании CFF приняли участие более 600 ИТ-специалистов. И согласно опросу, Java является самым популярным языком для разработки корпоративных приложений — его выбрали 58% респондентов. При этом выбор в пользу этого языка программирования также сделали 57% специалистов, использующих в своей работе частные облака.
Java также занимает первое место по популярности среди других языков программирования согласно рейтингу [7] TIOBE, который ранжирует ЯП по числу поисковых запросов на порталах Wikipedia, Google, YouTube и др. По данным за август 2018 года, рейтинг Java составляет 16,88%.
Одной из главных причин популярности этого языка программирования (в том числе в облаке) считается [8] широкий выбор библиотек [9]. Например, сотрудники компании OverOps в 2017 году выделили и проанализировали [10] около 260 тыс. уникальных Java-библиотек на GitHub. Отметим, что наиболее популярными из них оказались: JUnit [11] (для написания тестов), Mockito [12] (мок-библиотека) и slf4j [13] (представляет мощный фасад [14] для различных систем протоколирования на Java). Они же лидируют [15] в рейтинге, представленном на сайте DZone.
Большое количество библиотек делает ЯП гибким, что позволяет реализовывать новые функции. Эта особенность языка помогла Spotify построить набор модулей для разработки микросервисов Apollo [16]. Он управляет жизненным циклом сервисов и долгое время использовался стриминговой платформой в продакшене.
Ещё одно преимущество Java — адаптивность. Благодаря виртуальной машине Java (JVM [17]), написанный на этом ЯП код можно запускать на Windows, Linux и MacOS. Это дает реализовать принцип «написано однажды, работает везде [18]», который особенно ценится при разработке облачных приложений. Директор по разработке ПО Twitter Роберт Бенсон (Robert Benson) называет [19] это одной из причин, почему компания перешла на JVM.
«Переносимость» Java отметили [20] и в Netflix. Дело в том, что инфраструктура компании работает на Linux, а кодирование видео выполняется на машинах Windows. В Netflix отмечают, что большое количество инструментов с открытым исходным кодом на Java упрощает мониторинг и обновление данных в «разномастных» средах.
Ещё одна причина, по которой компании выбирают Java, — масштабируемость. Эдвард Ву (Edward Wu), ИТ-директор компании-разработчика игр Niantic Labs, говорит, что возможности Java очень помогли [21] им при разработке Pokémon Go. Сразу после запуска игру скачали более 500 млн раз.
Справиться с наплывом трафика им помогла облачная платформа Java с контейнерами и фреймворком Kubernetes. Благодаря ей они смогли эффективно синхронизировать состояние миллионов сущностей виртуального мира между устройствами игроков.
Помимо облачных сервисов, Java используют и в разработке других решений. Например, на нем пишут приложения для интернета вещей: приложения для работы с разного рода датчиками [22], камерами видеонаблюдения [23] и др.
Java популярен и в робототехнике. Программист Дэн Ройер (Dan Royer [24]) создатель Makelangelo [25] — арт-робота с открытым исходным кодом, который рисует постеры (код есть на GitHub [26]) — рассказывает, что использует Java практически во всех своих разработках. Причина — продуманная документация языка.

/ фото NASA [27] PD
ЯП популярен и в космической отрасли. Например, его используют в НАСА. Как отмечает [28] инженер Шон Хенли (Sean Henley), Java позволяет оперативно и без высоких затрат реализовывать кроссплатформенные решения. В частности, на Java написаны инструменты для визуализации данных с телескопа имени Джеймса Уэбба [29].
Набор API World Wind [30] НАСА также создан на Java. Он помогает строить интерактивные 3D-карты земного шара. Данные для этого система берет из спутниковых снимков Landsat [31] и SRTM [32].
Java нельзя назвать новой технологией. Со времени его создания прошло уже более 20 лет. На рынке появились молодые ЯП, готовые составить ему конкуренцию. Однако язык по-прежнему широко используется. Он постоянно обновляется [33], обзавёлся огромным комьюнити [34], и ожидается, что популярность Java будет только расти.
Автор: ИТ-ГРАДовец
Источник [38]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/291219
Ссылки в тексте:
[1] CFF: https://en.wikipedia.org/wiki/Cloud_Foundry#Cloud_Foundry_Foundation
[2] опубликовала рейтинг: https://www.cloudfoundry.org/wp-content/uploads/Developer-Language-Report_FINAL.pdf
[3] лидером стал: https://www.zdnet.com/article/cloud-foundry-survey-finds-top-enterprise-languages/
[4] Image: https://habr.com/company/it-grad/blog/422057/
[5] r. nial bradshaw: https://www.flickr.com/photos/zionfiction/21215722783/
[6] СС: https://creativecommons.org/licenses/by/2.0/
[7] рейтингу: https://www.tiobe.com/tiobe-index/
[8] считается: https://stackoverflow.com/questions/3740692/which-programming-language-for-cloud-computing
[9] библиотек: https://docs.oracle.com/javase/8/docs/api/
[10] проанализировали: https://blog.takipi.com/the-top-100-java-libraries-in-2017-based-on-259885-source-files/
[11] JUnit: https://junit.org/junit4/javadoc/4.12/org/junit/package-summary.html
[12] Mockito: https://site.mockito.org/
[13] slf4j: https://www.slf4j.org/
[14] мощный фасад: https://ru.wikipedia.org/wiki/Slf4J
[15] лидируют: https://dzone.com/articles/20-useful-open-source-libraries-for-java-programme
[16] Apollo: http://spotify.github.io/apollo/
[17] JVM: https://ru.wikipedia.org/wiki/Java_Virtual_Machine
[18] написано однажды, работает везде: https://en.wikipedia.org/wiki/Write_once,_run_anywhere
[19] называет: https://go.java/twitter.html
[20] отметили: https://go.java/netflix.html
[21] помогли: https://www.theserverside.com/feature/How-Pokemon-Go-created-a-Kuburnetes-powered-Java-cloud
[22] разного рода датчиками: https://github.com/androidthings/sensorhub-cloud-iot
[23] камерами видеонаблюдения: https://dzone.com/articles/webcam-streaming-using
[24] Dan Royer: https://github.com/i-make-robots
[25] Makelangelo: http://www.makelangelo.com/
[26] GitHub: https://github.com/MarginallyClever/Makelangelo-software/releases
[27] NASA: https://commons.wikimedia.org/wiki/File:PCA1.jpg
[28] отмечает: https://jaxenter.com/netbeans/developing-nasas-mission-software-with-java
[29] телескопа имени Джеймса Уэбба: https://ru.wikipedia.org/wiki/%D0%94%D0%B6%D0%B5%D0%B9%D0%BC%D1%81_%D0%A3%D1%8D%D0%B1%D0%B1_(%D1%82%D0%B5%D0%BB%D0%B5%D1%81%D0%BA%D0%BE%D0%BF)
[30] World Wind: https://worldwind.arc.nasa.gov/
[31] Landsat: https://landsat.usgs.gov/
[32] SRTM: https://ru.wikipedia.org/wiki/Shuttle_Radar_Topography_Mission
[33] обновляется: https://developer.ibm.com/javasdk/2018/04/26/java-standard-edition-ibm-support-statement/
[34] комьюнити: https://community.oracle.com/community/technology_network_community/java/
[35] Как разместить 100% инфраструктуры в облаке IaaS-провайдера и не пожалеть об этом: https://iaas-blog.it-grad.ru/blog/onlajn-uslugi-dlya-b2cb2b-iz-oblaka/
[36] Облачные технологии в финансовой сфере: опыт российских компаний: https://iaas-blog.it-grad.ru/kejsy/oblachnye-texnologii-v-finansovoj-sfere-opyt-rossijskix-kompanij/
[37] Серверы для SAP: основные платформы: https://iaas-blog.it-grad.ru/zhelezo/servery-dlya-sap-osnovnye-platformy/
[38] Источник: https://habr.com/post/422057/?utm_source=habrahabr&utm_medium=rss&utm_campaign=422057
Нажмите здесь для печати.