[Перевод] Тренды программирования: чего можно ожидать в 2020 году?

Как бы безумно это не звучало, но 2020 год наступит уже очень скоро.»2020 год» — это похоже на фразу из научно-фантастического романа. Но это не фантастика. Нас от этой даты отделяет всего несколько месяцев.

ml6qmgbsmyzmvbxu72hr6cnc3cq.png

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

Лучший способ предсказать будущее — это создать его.
А. Линкольн

Rust станет мэйнстримом


e4abdda1eec4866dce353b344eacd9e0.png


Rust

Rust — это мультипарадигмальный язык программирования общего назначения. Его рассматривают как перспективный язык для разработки ядер операционных систем. Особое внимание в нём уделяется безопасности, в частности — безопасности параллельного выполнения кода. Rust, в плане синтаксиса, похож на C++, но он спроектирован с учётом обеспечения более безопасной работы с памятью при сохранении высокой производительности.

b8ddf214d1f422599336b1617e641c39.png


Rust (источник)

Последние четыре года Rust демонстрирует уверенный рост. Я полагаю, что 2020 год — это год, в котором Rust официально станет мэйнстримом. Что это значит, кстати? Пожалуй, каждый сам определяет для себя это понятие. Я, например, думаю, что Rust начнут преподавать в различных учебных заведениях. Это создаст новую волну Rust-программистов.

f07be8ad7bbdeca4d7a2f14cebc2c567.png


Самые любимые языки программирования из исследования StackOverflow 2019 года

Rust зарекомендовал себя как отличный язык, вокруг которого сложилось энергичное и активное сообщество. А если учесть то, что Facebook создаёт с помощью Rust огромный проект Libra, скоро мы узнаем о том, на что способен этот язык.

Если вы собираетесь выучить новый язык программирования — я бы настоятельно порекомендовал вам заняться Rust. Например — можете попробовать эту книгу.

Популярность GraphQL продолжит расти


ba9b309950d9fffeba97c71526322079.png


Данные Google Trends по GraphQL

По мере роста приложений и увеличения их сложности растут и нужды этих приложений, касающиеся потребления данных. Я — большой фанат GraphQL. Мне доводилось пользоваться этой технологией много раз. Я думаю, что GraphQL значительно превосходит традиционные REST API.

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

0416c9543a1ca010d00bdca0d56acb7c.gif


GraphQL

GraphQL используется командами самых разных размеров. Эту технологию применяют в различных окружениях, она доступна для приложений, написанных на разных языках. Её используют при создании мобильных приложений, веб-сайтов, API.

b34bdceb11e45e8aa57afd1d2f55d7c4.gif


Компании, использующие GraphQL

Если вас интересует технология GraphQL — взгляните на этот материал.

Прогрессивные веб-приложения станут явлением, с которым придётся считаться


Прогрессивные веб-приложения (Progressive Web Apps, PWA) — это новый подход к разработке приложений, основанный на комбинации всего лучшего, что есть в веб-приложениях и в мобильных приложениях.

734fd1766ae8ff8e66097ada90c45f2f.jpg


Прогрессивные веб-приложения (источник)

В мире существует гораздо больше веб-разработчиков, чем разработчиков, ориентированных на мобильные платформы, использующих для создания приложений технологии, специфичные для этих платформ. Как только большие компании поймут, что они могут направить силы своих веб-разработчиков на создание PWA, я подозреваю, что мы увидим взрывной рост подобных приложений.

Для того чтобы большие компании приняли бы эту идею, однако, требуется некоторое время. Это — совершенно нормально. «Прогрессивная» часть PWA, в основном, имеет отношение к фронтенд-разработке. Дело в том, что её создание подразумевает, преимущественно, описание взаимодействия с API Web Workers (это — стандартный браузерный API).

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

bbc73c12a47cca2322f1da15edcdcc85.png


Данные Google Trends по PWA

Сегодня — замечательный день для того, чтобы начать изучать прогрессивные веб-приложения.

Технологии WebAssembly будет уделено больше внимания


c85cd9082b3577233d3674501772a6e4.png


WebAssembly

Вот что можно узнать о технологии WebAssembly (Wasm) из открытых источников: «Это бинарный формат инструкций для стековой виртуальной машины. WebAssembly спроектирован как портативная цель компиляции для высокоуровневых языков, таких как C/C++/Rust, которую можно развертывать в web для клиентских и серверных приложений». Wasm можно пользоваться и при разработке прогрессивных веб-приложений.

Другими словами, Wasm — это механизм, который позволяет связать мир JavaScript с миром технологий другого уровня. Предположим, вы задумываетесь о том, чтобы воспользоваться в своём React-приложении библиотекой для обработки изображений, написанной на Rust. Сделать это вам позволит WebAssembly.

Производительность приложений — это очень важно во все времена, а учитывая то, что объём данных, которые приходится обрабатывать приложениям, постоянно растёт, поддержание производительности на высоком уровне оказывается непростой задачей. Именно здесь вступают в игру низкоуровневые библиотеки, написанные на С++ или Rust. Полагаю, что в будущем году мы увидим множество примеров внедрения WebAssembly крупными компаниями.

React продолжит лидировать во фронтенде


66672ec02b54c85cf89ae8fff17f2d2f.png


Сведения об инструментах для фронтенд-разработки из Google Trends

React, несомненно, является самой популярной JavaScript-библиотекой для фронтенд-разработки. Такая ситуация сложилась не случайно. Создавать React-приложения легко и интересно. Команда разработчиков React и сообщество, которое сложилось вокруг этой библиотеки, проделали замечательную работу по совершенствованию разных аспектов React и вспомогательных библиотек.

389a6afe974d55cdfc29ad8e6855d29e.png


React

Я работал с Vue, Angular и React, и могу сказать, что всё это — фантастические инструменты для веб-разработки. Помните о том, что цель библиотеки или фреймворка заключается в том, чтобы решить некую задачу. Поэтому, говоря о разных инструментах, стоит принимать во внимание не то, как они устроены, а то, насколько эффективно они способны привести разработчика к его цели. Я считаю рассуждения о «самом лучшем инструменте» совершенно ненужными. Вместо подобных рассуждений разработчикам стоит направлять всю свою энергию на решение стоящих перед ними задач.

Если вам не терпится создать какой-нибудь интересный проект — выберите что-нибудь из этого списка.

JavaScript — язык, который будет всё так же популярен, как сегодня


С уверенностью можно говорить о том, что уходящее десятилетие уместно будет назвать «десятилетием JavaScript». В эти годы шёл постоянный рост популярности JavaScript, и нет оснований считать, что эта тенденция замедлится. Поэтому, сделав ставку на JavaScript, вы точно не проиграете.

JavaScript-разработчиков иногда несправедливо называют «ненастоящими программистами». Но JavaScript — это язык, находящийся в сердце любой большой технической компании. Среди таких компаний — Netflix, Facebook, Google и многие другие. В результате можно сказать, что JavaScript, как язык, ничуть ни хуже других языков программирования. Поэтому всем JavaScript-разработчикам стоит гордиться тем, чем они занимаются. В конце концов, именно JavaScript-сообщество создало массу интереснейших и современнейших проектов.

d6c27da8505998fab0f9cb0fb54dcb5a.png


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

JavaScript, в некоторой степени, используется практически на каждом из существующих веб-сайтов. Сколько их? Миллионы!

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

31dd2691e8df9656971a2f6ed17dab23.png


Самые популярные опенсорсные проекты

Итоги


Автор этого материала поделился своим видением того, что можно ожидать от мира программирования в 2020 году. Он выделил такие технологии, как Rust, GraphQL, PWA, Wasm, React и JavaScript. Через некоторое время мы узнаем о том, насколько точными оказались его прогнозы.

Уважаемые читатели! Как вы думаете, чего можно ожидать от мира программирования в 2020 году?

1ba550d25e8846ce8805de564da6aa63.png

© Habrahabr.ru