JavaRush /Java блог /Random UA /Чого Java-кодерам чекати від 2020 року: думки та прогнози...

Чого Java-кодерам чекати від 2020 року: думки та прогнози експертів

Стаття з групи Random UA
Тільки-но почався новий рік, всі потихеньку відходять від свят і згадують про те, що треба працювати. Початок січня — найкращий час для того, щоб зайнятися плануванням свого професійного (та й особистого теж) життя на наступний рік. Чого Java-кодерам чекати від 2020 року: думки та прогнози експертівЩо стосується Java та програмування взагалі, тут планування та адаптація до змін відіграють величезну роль, тому що дозволяють завчасно підготуватися до трансформацій технологій та нових трендів. Про це ми сьогодні й поговоримо — про прогнози, тренди та очікування навколо і навколо Java-кодингу та програмування загалом. А почнемо з перерахування кількох глобальних тенденцій, які, на думку багатьох експертів, на повну виявлять себе цього року.

Активна автоматизація кодингу

Це частина глобального ІТ-тренду на автоматизацію, яка торкнеться навіть програмування. Згідно з прогнозом дослідницької компанії Forrester, до 2020 року програмні роботи мають прийти на зміну людям у виконанні рутинних завдань, які найчастіше погано даються живим програмістам. На що Java-кодерам чекати від 2020 року: думки та прогнози експертів - 2Багато експертів у програмуванні погоджуються з прогнозом Forrester, припускаючи, що у 2020 році все більше рутинних трудомістких завдань автоматизуватимуться. “Активно розвиваються компанії та сервіси потребують більш швидкого та оптимізованого робочого процесу, який дозволяє швидше впроваджувати оновлення та виправлення у виробництво, а також обробляти проблеми як тільки вони виникають. Ось чому провідні компанії та команди рухаються до повної реалізації практик CI/CD [CI/CD – концепція безперервної інтеграції та доставки],” – зазначив Лукас Едер (Lukas Eder), Java експерт, а також засновник та виконавчий директор компанії Data Geekery. За словами фахівців, незважаючи на те, що тренд на автоматизацію у програмуванні йде вже не перший рік, саме у 2020-му очікується помітне збільшення ролі автоматизації у життєвому циклі створення та доставки ПЗ. “Одна з основних областей, у яких автоматизація вже застосовується найактивніше – це аналіз основної причини (Root Cause Analysis). Компанії усвідомлюють, що цикл не закінчується на депло коду в продакшн, і в 2020 році моніторинг стане невід'ємною частиною CI/CD циклу, а автоматичний депло вимагає більш досконалого моніторингу. Адже ви повинні знати, коли в релізі з'являються нові помилки, не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення», - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд. “Одна з основних областей, у яких автоматизація вже застосовується найактивніше – це аналіз основної причини (Root Cause Analysis). Компанії усвідомлюють, що цикл не закінчується на депло коду в продакшн, і в 2020 році моніторинг стане невід'ємною частиною CI/CD циклу, а автоматичний депло вимагає більш досконалого моніторингу. Адже ви повинні знати, коли в релізі з'являються нові помилки, не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення», - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд. “Одна з основних областей, у яких автоматизація вже застосовується найактивніше – це аналіз основної причини (Root Cause Analysis). Компанії усвідомлюють, що цикл не закінчується на депло коду в продакшн, і в 2020 році моніторинг стане невід'ємною частиною CI/CD циклу, а автоматичний депло вимагає більш досконалого моніторингу. Адже ви повинні знати, коли в релізі з'являються нові помилки, не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення», - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд. Компанії усвідомлюють, що цикл не закінчується на депло коду в продакшн, і в 2020 році моніторинг стане невід'ємною частиною CI/CD циклу, а автоматичний депло вимагає більш досконалого моніторингу. Адже ви повинні знати, коли в релізі з'являються нові помилки, не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення», - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд. Компанії усвідомлюють, що цикл не закінчується на депло коду в продакшн, і в 2020 році моніторинг стане невід'ємною частиною CI/CD циклу, а автоматичний депло вимагає більш досконалого моніторингу. Адже ви повинні знати, коли в релізі з'являються нові помилки, не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення», - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд. не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення,” - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд. не покладаючись на звіти користувача, і мати всю інформацію, необхідну для їх виправлення,” - додав Едер. Багато великих компаній, серед яких Intuit, Zynga, TripAdvisor, Comcast та інші, вже давно активно впроваджують автоматизацію у свої робочі процеси, і Java-програмістам варто враховувати цей тренд.

Штучний інтелект (ІІ)

Ще одним трендом, який нерозривно пов'язаний з автоматизацією та за швидкістю поширення від неї не відстає, — штучний інтелект (ІІ). Незважаючи на те, що технології ІІ вважаються "гарячою" темою вже не перший рік, їхня популярність продовжує наростати. Ще в 2018 році дослідницька компанія Gartner спрогнозувала, що до 2020 року технології на основі ІІ будуть присутні практично в кожному новому програмному продукті. Тож зараз якраз час заглибитись у цю перспективну та вельми велику тему, щоб мати в очах роботодавців перевагу перед іншими фахівцями у програмуванні і не лише. У сфері розробки застосовуються різні елементи ІІ, серед яких машинне навчання, інтелектуальний аналіз даних, нейронні мережі та багато іншого. Всі ці технології можуть, і в найближчому майбутньому, безперечно, будуть використовуватися для того, щоб допомагати людям створювати більш зручні та ефективні програмні продукти. У міру поширення та популяризації технології пов'язані з ІІ стають все більш доступними. Наприклад, зараз усім охочим доступний цілий набір відкритих бібліотек з алгоритмами машинного навчання, які можна реалізувати досить швидко навіть без глибоких знань у цій сфері. Серед найбільш популярних Java-бібліотек з машинним навчанням - Deeplearning4J (DL4J), Neuroph та BIG Data Project. які можна реалізувати досить швидко навіть без глибоких знань у цій сфері. Серед найбільш популярних Java-бібліотек з машинним навчанням - Deeplearning4J (DL4J), Neuroph та BIG Data Project. які можна реалізувати досить швидко навіть без глибоких знань у цій сфері. Серед найбільш популярних Java-бібліотек з машинним навчанням - Deeplearning4J (DL4J), Neuroph та BIG Data Project. Чого Java-кодерам чекати від 2020 року: думки та прогнози експертів - 3

Прискорення інновацій

Вищеперелічені тенденції, такі як автоматизація та машинне навчання, разом із трендом на прискорення випуску нових релізів, який спостерігається останні роки, підводить нас до ще одного загального прогнозу на 2020-й: втілення в життя інновацій у програмному коді, чи це нові функції чи оригінальне вирішення стандартних завдань буде прискорюватися. Насамперед, це звичайно відбудеться завдяки автоматизації. Переклавши на плечі комп'ютера багато рутинні завдання, розробники отримають можливість більше часу приділяти створенню нових функцій та покращенню юзабіліті свого продукту, замість витрачати його на пошук проблем, ідентифікацію їх причин та спроби вирішення помилок. Саме тому багато експертів вважають, що інновації, а скоріше готовність до них, будуть одним із важливих трендів у середовищі Java-програмування і не тільки.

Перехід від реагування до проактивності

Загальна спрямованість на прискорення та інновації створює ще один тренд: перехід від реактивного підходу до проактивного. На практиці це означає, що ви знаходите та вирішуєте проблеми ще до того, як користувач виявить її існування. “Це можна робити за допомогою різних інструментів для моніторингу, налагодження, APM [Agile project management – ​​гнучка методологія розробки] та управління логами, залежно від ваших вимог та елементів, які ви хочете відстежувати та обробляти. Існує безліч інструментів, які допоможуть вам контролювати та аналізувати ваш код, програму та сервери. Їх навіть надто багато, ось чому важливо розуміти, що ви шукаєте, і що саме ви хочете відстежувати та аналізувати,” – упевнений Стів Роджерс (Steve Rogers), директор з розробки програмного забезпечення у компанії Viator, На що Java-кодерам чекати від 2020 року: думки та прогнози експертів - 5“У минулому пошук та усунення несправностей могли займати у нас цілі дні, створюючи значні труднощі. Але в результаті ми змогли вирішити цю проблему за допомогою нових інструментів і зараз можемо приділяти більше часу опрацюванню нових функцій та іншим покращенням наших продуктів. Який би з доступних на даний момент інструментів ви не вибрали, пам'ятаєте про те, що інструмент повинен працювати на вас, допомагаючи знаходити відповіді на питання, які дозволять вирішувати проблеми, а не відправлять вас у дику погоню за помилкою через логи,” – радить Роджерс .

Тренд на надійність

Посилення фокусу на надійності та безперебійності роботи ПЗ – це ще один глобальний тренд на 2020 рік. З автоматизацією та прискоренням випуску нових релізів та функцій проблема надійності та налагодженості будь-якого продукту стає особливо гостро. Це змушує компанії адаптуватися, більше часу у циклі розробки приділяючи надійності програмного продукту. “У 2020 році нам потрібно бути більш agile. З рухом у бік автоматизації робочого процесу, надійність стала відігравати важливішу роль. Ми в компанії Intuit використовуємо так званий підхід безперервної надійності (Continuous Reliability). Він дозволяє нам контролювати доступність та якість роботи наших програмних продуктів. Зокрема ми досягли цього завдяки використанню OverOps [OverOps — рішення для виявлення помилок у роботі додатків на Java, Scala, Clojure і Groovy] у різних середовищах, серед яких QA, пре-продакшн та стейджинг. За допомогою OverOps команда отримує можливість виявляти помилки до того, як вони вплинуть на користувача, що збільшує надійність програми та забезпечує найкращий UX,” – розповів Суміт Нагал (Sumit Nagal), головний інженер з якості в компанії Intuit.

Нехай говорять. Пряма мова експертів про Java 2020-го

Ну а продовжимо вже прямими цитатами від Java експертів про те, на що вони очікують і які прогнози можуть дати на 2020-й рік.

"Реактивне програмування буде формувати стратегії доступу до даних Java, відкриваючи двері для нового класу додатків."

“Java екосистема активно розвивається протягом понад 20 років, і 2020 рік не стане винятком. Особисто я очікую появи Hibernate 6. А також тепер, коли R2DBC (Reactive Relational Database Connectivity) досяг версії 1.0, я з нетерпінням чекаю, як реактивне програмування буде формувати стратегії доступу до даних Java, відкриваючи двері для нового класу додатків з інтенсивним використанням даних ” – зазначив Влад Міхалча (Vlad Mihalcea), експерт з Java та автор книги High-Performance Java Persistence.

“Все більш важливо бачити та розуміти загальні тенденції у розробці, і те, як вони впливають на Java додатки.”

“Звичайно, у 2020-му ми отримаємо Java 14 та Java 15. Однак, відходячи від Java, мови програмування, все більш важливо бачити та розуміти загальні тенденції у розробці, зокрема ті, що відносяться до деплойменту, запуску та налагодження (наприклад, у хмарі), а також до безпеки. Оскільки хмари та мікросервіси стають основним вибором для реалізації, розробникам важливо розуміти, як це впливає на Java додатки у довгостроковій перспективі,” – вважає Тріша Гі (Trisha Gee), експерт з Java з компанії JetBrains.

"Перехід до інших способів роботи з базами даних."

“Від 2020 року я очікую переходу до інших способів роботи з базами даних. 2016-го я почав читати лекції з SQL та інших мов структурованих запитів. Рух у цьому напрямі йде, і ми бачимо все більше і більше інструментів та фреймворків, для яких бази даних не є, так би мовити, "громадянами другого сорту", - сказав Майкл Сімонс (Michael Simons), розробник компанії Neo4j.

"Повсякденний Java-код, а також код, який ви знайдете в бібліотеках, буде виглядати дещо інакше, ніж у попередні роки."

“З новими мовними опціями, такими як “Pattern Matching for instanceof”, “Switch Expressions” та “Text-Blocks”, повсякденний Java-код, а також код, який ви знайдете в бібліотеках, виглядатиме трохи інакше, ніж у попередні роки . Це, безумовно, буде проблемою для багатьох традиційних Java-розробників. Java також додасть у привабливості завдяки покращеній підтримці передчасної компіляції та генерації власних зображень для безсерверних середовищ,” – вважає Томас Дарімонт (Thomas Darimont), розробник Java в компанії codecentric AG.

“У 2020-му багато що відбуватиметься з Graal та підтримкою фреймворків.”

“Що стосується безпосередньо мови Java, у 2020-му ми очікуємо на появу ще двох версій, 14 і 15. Обидві версії знову будуть містити безліч нових функцій, які допоможуть нам у нашій розробці. Оскільки жодна з цих версій не є LTS, ми не очікуємо, що до 2021 року з'явиться JDK 17. Крім того, багато відбуватиметься з Graal та підтримкою фреймворків. Саме в цій сфері я чекаю особливо швидкого руху вперед, щоб без вагань перейти на Graal», - поділився своїми очікуваннями Майкл Вітц (Michael Vitz), старший консультант компанії innoQ Deutschland GmbH.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ