Чи дійсно Java можна назвати найпопулярнішою мовою програмування в світі? З деякими застереженнями, але таки так. Більшість сучасних компаній використовують Java зараз і будуть її використовувати ще багато років.
Більше 95% комп'ютерів у компаніях і підприємствах використовують Java, більше 90% усіх комп'ютерів загалом використовують Java, а кількість мобільних пристроїв, де застосовується ця мова, перевищує 3 млрд. Тому не дивно, що практично будь-яка більш чи менш велика компанія будь-де у світі застосовує Java і бере на роботу фахівців із Java.
Java + Android = Love
Що зробило Java настільки популярною спочатку? В першу чергу, мультиплатформність і універсальність. Гнучкість Java дозволяє запускати програми, написані цією мовою, практично на будь-якому пристрої, включаючи настільні ПК, мобільні телефони і навіть більшість інших пристроїв, від розумних машин до побутової техніки, яка в наш час теж розумнішає не щодня, а щогодини.
Безумовно, своєю популярністю та сильними позиціями в сучасному світі мова Java багато в чому зобов'язана мобільним платформам, а точніше операційній системі Android. Що й зрозуміло: жодне застосунок сьогодні не може обійтися без мобільної версії, Android розвалився на троні короля мобільних операційок, а розробка під Android просто-таки немислима без Java (є ще Kotlin, але це окрема тема). Так і виходить, що більшість великих сучасних компаній, для яких критично важливо мати багатофункціональні мобільні застосунки, просто жити без Java не можуть.
Підтверджує лідерську позицію Java і статистика. За даними Індексу TIOBE, Java — найпопулярніша мова програмування в світі з показником у 16%, випереджаючи С і Python.
Топ-компанії та стартапи-єдинороги. Як вони використовують Java
З лідерськими позиціями Java в сучасному бізнес-середовищі розібралися. Саме через універсальність і поширеність Java новачкам буває складно зорієнтуватися у сферах застосування мови і в тому, як саме великі компанії та перспективні стартапи використовують Java, для яких цілей вона найбільш корисна.
Немає нічого більш незадовільного, ніж фраза "Java використовується всюди", коли хочеться розібратися у цьому питанні як слід. Тож краще подивимося на реальні приклади успішних компаній, чий бізнес нерозривно пов'язаний із Java та можливостями, які дає ця мова. Поговоримо про кілька гігантів із мас-маркет сегменту — зараз ці компанії відомі майже всім, а багато хто просто не уявляє свого життя без їхніх сервісів.
Uber
Uber — це один із канонічних прикладів успішної компанії, бізнес якої побудований навколо мобільного застосунку, а те, у свою чергу, базується на Java.
Що робить Uber та аналогічні йому сервіси настільки привабливими і популярними? Той факт, що користувач може відкрити застосунок і замовити послугу практично миттєво. Застосунок Uber показує, де знаходиться машина у конкретний момент часу, куди вона рухається і коли, з точністю до хвилини, прибуде у точку призначення. Uber навіть відображає номерний знак, колір і марку машини, як і ім'я водія, дозволяючи користувачеві ідентифікувати потрібний автомобіль майже миттєво. Процес оплати також простий і швидкий — вона автоматично знімається з кредитної картки.
Усе це можливо завдяки Java. Реалії сучасного цифрового бізнесу змушують компанії створювати нові мобільні застосунки, які задовольнятимуть попит споживача на товари і послуги, доступні 24/7 упродовж максимум кількох десятків хвилин після замовлення. Щоб задовольнити цей попит, компанії звертаються до проектів на Java ще більш масово й активно.
У значній мірі, саме завдяки використанню Java, а також постійному вдосконаленню коду, у користувачів сучасної версії застосунку Uber є доступ до такого обсягу різної інформації, як і до безлічі функцій і можливостей. Наприклад, застосунок дозволяє бачити вартість поїздки і відстежувати зміни у тарифах залежно від часу доби, погоди та інших факторів. Також можна вибирати машини різного рівня комфорту або ділити таксі з іншими користувачами, якщо вони прямують у той самий бік. Для роботи цих функцій потрібні десятки, іноді сотні процесів, що працюють у фоновому режимі, і гарантом злагодженої роботи цих процесів у значній мірі слугує Java.
Netflix
На сьогоднішній день улюблений всіма відеосервіс обробляє немало-небагато 2 мільярди запитів на стримінг контенту щодня. Усе завдяки Java-центричній архітектурі.
Netflix — це найпопулярніша у світі онлайн ТВ мережа (якщо його можна так назвати), а модель роботи сервісу та його інтерфейс стали еталоном. За невелику щомісячну плату, близько $10, користувачі Netflix можуть дивитися скільки завгодно фільмів та серіалів, причому у будь-який час і на будь-якому пристрої.
Саме масштабованість Java відіграла ключову роль у успіху Netflix, дозволивши компанії збільшити свою базу користувачів до 57 млн у більш ніж 50 країнах світу. Ця аудиторія щомісячно переглядає більше 1 млрд годин відеоконтенту.
"Переважна більшість сервісів у межах нашої архітектури побудовані на Java і віртуальній машині Java [JVM], — каже Ендрю Гловер (Andrew Glover), один із розробників Netflix. — У нас постійно запущені тисячі Java-процесів, і, в міру зростання нашої платформи, ми не спостерігаємо серйозних проблем з інфраструктурою. Ми також застосовуємо багато інструментів із відкритим кодом, які засновані на Java, що дозволяє легко відстежувати, оновлювати й масштабувати наші сервіси".
"Коли користувач відкриває Netflix, за кулісами система запускає близько десятка різних процесів, щоб авторизувати цю людину, з'ясувати, який пристрій він використовує, переконатися, що обліковий запис активний, і подивитися на недавню активність його профілю. Управління всіма цими процесами здійснюється за допомогою Eureka, інструмента з відкритим кодом, заснованого на Java», — зазначив Гловер.
Найпопулярніший у світі сервіс мікроблогів Twitter з'явився в давні, за мірками інтернет-індустрії звичайно ж, часи — у 2006 р., і в перші роки свого існування мав величезні проблеми з продуктивністю і стабільною роботою на фоні швидкого зростання користувацької бази. Сервіс так часто "падав," що екран із зображенням білого кита, якого бачить користувач під час перебоїв із роботою Twitter, став мемом.
Однак приблизно з кінця 2010 року Twitter став працювати набагато стабільніше, а в останні кілька років і зовсім має чудові показники аптайму, так що дрімаючий білий кит став забуватися. Кого слід дякувати за такі зміни? Звичайно ж, Java.
Про це під час одного з інтерв'ю розповів Роберт Бенсон (Robert Benson), старший директор Twitter із розробок. За його словами, розробники Twitter із самого початку роботи платформи багато думали про архітектуру сервісу і про те, як найбільш ефективно обробляти величезну кількість запитів, що надходять від користувачів щосекунди. А на сьогоднішній день у Twitter більше 200 млн активних користувачів, які залишають більше 400 млн твітів щодня. Після кількох років аналізу й пошуку найкращого рішення інженери Twitter прийшли до використання Java Virtual Machine, що дозволяє горизонтально масштабувати систему й справлятися із навантаженням.
Розробники Twitter перевели більшу частину найбільш критичних для компанії систем на сервіси, написані на Java і Scala, які функціонують на базі JVM. Тому зараз Twitter досить-таки стабільно працює по всьому світу, і навіть адаптований до того, щоб безболісно переносити пікові періоди високого навантаження, які трапляються під час гучних подій на кшталт фіналу Чемпіонату світу з футболу або виборів у США. А система дозволяє користувачам дізнаватися новини про події, що сталися буквально кілька хвилин тому.
Priceline
Для Priceline, одного з лідерів у сфері онлайн-бронювання, саме Java є запорукою результативності й ефективної роботи. Використання цієї мови дозволяє досягти гнучкості, продуктивності, мобільності й охоплення величезної аудиторії.
Priceline — застосунок для бронювання готелів і апартаментів по всьому світу. Цей сервіс трохи менш популярний і відомий у Європі, ніж у США, де він є лідером. Priceline входить до холдингу Booking Holdings, який також включає в себе низку суперпопулярних букінгових сервісів, а саме — KAYAK, Rentalcars, Booking, Opentable і Agoda. Тож аспекти застосування Java, перераховані нижче, значною мірою стосуються і цих сервісів теж.
Незважаючи на те, що з користувацького боку процес пошуку й бронювання готелів виглядає досить-таки просто — достатньо ввести бажаний напрямок і дати, — "за кулісами" таких сервісів як Priceline працюють складні системи з безліччю одночасних процесів. Простий пошуковий запит запускає серію взаємодій і підключень до різних готелів, авіаліній, баз даних і систем бронювання по всьому світу.
Наприклад, пошук готелю для бронювання номера десь у Нью Йорку створює до 500 одночасних запитів до систем готелів і різних посередників. Враховуючи, що шукати готелі в системі одночасно можуть тисячі користувачів, основною складністю в роботі Priceline і подібних йому агрегаторів стає управління цією комплексною матрицею із запитів і підключень, що відбуваються в реальному часі. Тут-то й вступає в гру супергерой на ім'я Java, дозволяючи сервісу швидко й ефективно отримувати у відповідь на запити інформацію від баз даних по всьому світу. У випадку з Priceline, відданість компанії Java настільки велика, що Майкл Діліберто (Michael Diliberto), операційний директор північноамериканського підрозділу Priceline, одного разу зазначив, що для цієї компанії Java є "способом життя," і свого існування без цієї мови вони не мислять.
Успішна робота низки глобальних сервісів неможлива без Java
Принаймні в такому вигляді, якими ми звикли їх бачити. А значить, якщо дивитися на все це з глобальної точки зору, можна сказати, що й увесь сучасний світ неможливий без Java.
Судіть самі: хто тепер захоче ловити таксі не через зручний застосунок, а по-старому, голосно кричачи й махаючи руками на вулиці? Хто стане телефонувати в кожен готель по черзі, щоб знайти вільний номер, якщо застосунок робить це за тебе? І хто зможе придумати зручніший привід, щоб заманити об'єкт симпатії до себе додому, ніж Netflix and chill?
Сервіси й застосунки, що змінюють наше життя, пишуться Java-розробниками. І це тільки початок, адже можливості для інновацій безмежні, а попит на масштабованість, гнучкість і охоплення глобальної аудиторії тільки зростає.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ