Как бы безумно это не звучало, но 2020 год наступит уже очень скоро. «2020 год» — это похоже на фразу из научно-фантастического романа. Но это не фантастика. Нас от этой даты отделяет всего несколько месяцев.
![](https://habrastorage.org/r/w1560/webt/ml/6q/mg/ml6qmgbsmyzmvbxu72hr6cnc3cq.png)
Автор материала, перевод которого мы публикуем сегодня, говорит, что если вас занимает вопрос о том, что будущее может принести в мир программирования, то вы, читая это, оказались в нужном месте в нужное время. Он отмечает, что, размышляя о том, что может произойти, вполне может ошибаться в своих прогнозах и просит его не цитировать. По его словам, он не может предсказать будущее, но способен сделать обоснованное предположение о том, каким оно будет.
Лучший способ предсказать будущее — это создать его.
А. Линкольн
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e4a/bdd/a1e/e4abdda1eec4866dce353b344eacd9e0.png)
Rust
Rust — это мультипарадигмальный язык программирования общего назначения. Его рассматривают как перспективный язык для разработки ядер операционных систем. Особое внимание в нём уделяется безопасности, в частности — безопасности параллельного выполнения кода. Rust, в плане синтаксиса, похож на C++, но он спроектирован с учётом обеспечения более безопасной работы с памятью при сохранении высокой производительности.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/b8d/df2/14d/b8ddf214d1f422599336b1617e641c39.png)
Rust (источник)
Последние четыре года Rust демонстрирует уверенный рост. Я полагаю, что 2020 год — это год, в котором Rust официально станет мэйнстримом. Что это значит, кстати? Пожалуй, каждый сам определяет для себя это понятие. Я, например, думаю, что Rust начнут преподавать в различных учебных заведениях. Это создаст новую волну Rust-программистов.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/f07/be8/ad7/f07be8ad7bbdeca4d7a2f14cebc2c567.png)
Самые любимые языки программирования из исследования StackOverflow 2019 года
Rust зарекомендовал себя как отличный язык, вокруг которого сложилось энергичное и активное сообщество. А если учесть то, что Facebook создаёт с помощью Rust огромный проект Libra, скоро мы узнаем о том, на что способен этот язык.
Если вы собираетесь выучить новый язык программирования — я бы настоятельно порекомендовал вам заняться Rust. Например — можете попробовать эту книгу.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/ba9/b30/995/ba9b309950d9fffeba97c71526322079.png)
Данные Google Trends по GraphQL
По мере роста приложений и увеличения их сложности растут и нужды этих приложений, касающиеся потребления данных. Я — большой фанат GraphQL. Мне доводилось пользоваться этой технологией много раз. Я думаю, что GraphQL значительно превосходит традиционные REST API.
В то время как типичный REST API требует организовывать загрузку данных из разных источников, выполняя несколько запросов, GraphQL позволяет получить все необходимые данные, возможно, берущиеся из разных источников, выполнив лишь один запрос.
![](https://habrastorage.org/getpro/habr/post_images/041/6c9/543/0416c9543a1ca010d00bdca0d56acb7c.gif)
GraphQL
GraphQL используется командами самых разных размеров. Эту технологию применяют в различных окружениях, она доступна для приложений, написанных на разных языках. Её используют при создании мобильных приложений, веб-сайтов, API.
![](https://habrastorage.org/getpro/habr/post_images/b34/bdc/eb1/b34bdceb11e45e8aa57afd1d2f55d7c4.gif)
Компании, использующие GraphQL
Если вас интересует технология GraphQL — взгляните на этот материал.
Прогрессивные веб-приложения (Progressive Web Apps, PWA) — это новый подход к разработке приложений, основанный на комбинации всего лучшего, что есть в веб-приложениях и в мобильных приложениях.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/734/fd1/766/734fd1766ae8ff8e66097ada90c45f2f.jpg)
Прогрессивные веб-приложения (источник)
В мире существует гораздо больше веб-разработчиков, чем разработчиков, ориентированных на мобильные платформы, использующих для создания приложений технологии, специфичные для этих платформ. Как только большие компании поймут, что они могут направить силы своих веб-разработчиков на создание PWA, я подозреваю, что мы увидим взрывной рост подобных приложений.
Для того чтобы большие компании приняли бы эту идею, однако, требуется некоторое время. Это — совершенно нормально. «Прогрессивная» часть PWA, в основном, имеет отношение к фронтенд-разработке. Дело в том, что её создание подразумевает, преимущественно, описание взаимодействия с API Web Workers (это — стандартный браузерный API).
Веб-приложения никуда не денутся. Большинство программистов увлечено идеей, в соответствии с которой написание единственного кросс-платформенного PWA позволяет им, упрощённо говоря, выходить на те же результаты, что и раньше, но при этом тратить на работу меньше времени и больше зарабатывать.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/bbc/73c/12a/bbc73c12a47cca2322f1da15edcdcc85.png)
Данные Google Trends по PWA
Сегодня — замечательный день для того, чтобы начать изучать прогрессивные веб-приложения.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/c85/cd9/082/c85cd9082b3577233d3674501772a6e4.png)
WebAssembly
Вот что можно узнать о технологии WebAssembly (Wasm) из открытых источников: «Это бинарный формат инструкций для стековой виртуальной машины. WebAssembly спроектирован как портативная цель компиляции для высокоуровневых языков, таких как C/C++/Rust, которую можно развертывать в web для клиентских и серверных приложений». Wasm можно пользоваться и при разработке прогрессивных веб-приложений.
Другими словами, Wasm — это механизм, который позволяет связать мир JavaScript с миром технологий другого уровня. Предположим, вы задумываетесь о том, чтобы воспользоваться в своём React-приложении библиотекой для обработки изображений, написанной на Rust. Сделать это вам позволит WebAssembly.
Производительность приложений — это очень важно во все времена, а учитывая то, что объём данных, которые приходится обрабатывать приложениям, постоянно растёт, поддержание производительности на высоком уровне оказывается непростой задачей. Именно здесь вступают в игру низкоуровневые библиотеки, написанные на С++ или Rust. Полагаю, что в будущем году мы увидим множество примеров внедрения WebAssembly крупными компаниями.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/666/72e/c02/66672ec02b54c85cf89ae8fff17f2d2f.png)
Сведения об инструментах для фронтенд-разработки из Google Trends
React, несомненно, является самой популярной JavaScript-библиотекой для фронтенд-разработки. Такая ситуация сложилась не случайно. Создавать React-приложения легко и интересно. Команда разработчиков React и сообщество, которое сложилось вокруг этой библиотеки, проделали замечательную работу по совершенствованию разных аспектов React и вспомогательных библиотек.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/389/a6a/fe9/389a6afe974d55cdfc29ad8e6855d29e.png)
React
Я работал с Vue, Angular и React, и могу сказать, что всё это — фантастические инструменты для веб-разработки. Помните о том, что цель библиотеки или фреймворка заключается в том, чтобы решить некую задачу. Поэтому, говоря о разных инструментах, стоит принимать во внимание не то, как они устроены, а то, насколько эффективно они способны привести разработчика к его цели. Я считаю рассуждения о «самом лучшем инструменте» совершенно ненужными. Вместо подобных рассуждений разработчикам стоит направлять всю свою энергию на решение стоящих перед ними задач.
Если вам не терпится создать какой-нибудь интересный проект — выберите что-нибудь из этого списка.
С уверенностью можно говорить о том, что уходящее десятилетие уместно будет назвать «десятилетием JavaScript». В эти годы шёл постоянный рост популярности JavaScript, и нет оснований считать, что эта тенденция замедлится. Поэтому, сделав ставку на JavaScript, вы точно не проиграете.
JavaScript-разработчиков иногда несправедливо называют «ненастоящими программистами». Но JavaScript — это язык, находящийся в сердце любой большой технической компании. Среди таких компаний — Netflix, Facebook, Google и многие другие. В результате можно сказать, что JavaScript, как язык, ничуть ни хуже других языков программирования. Поэтому всем JavaScript-разработчикам стоит гордиться тем, чем они занимаются. В конце концов, именно JavaScript-сообщество создало массу интереснейших и современнейших проектов.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/d6c/27d/a85/d6c27da8505998fab0f9cb0fb54dcb5a.png)
Анализ ведущих языков программирования
Вот материал о том, благодаря чему JavaScript стал столь популярным языком.
JavaScript, в некоторой степени, используется практически на каждом из существующих веб-сайтов. Сколько их? Миллионы!
Пожалуй, для того, чтобы стать JavaScript-разработчиком, не найти лучшего времени, чем сейчас. Зарплаты JS-программистов растут, рынок труда огромен, да и сообщество этого языка демонстрирует небывалую активность.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/31d/d26/91e/31dd2691e8df9656971a2f6ed17dab23.png)
Самые популярные опенсорсные проекты
Автор этого материала поделился своим видением того, что можно ожидать от мира программирования в 2020 году. Он выделил такие технологии, как Rust, GraphQL, PWA, Wasm, React и JavaScript. Через некоторое время мы узнаем о том, насколько точными оказались его прогнозы.
Уважаемые читатели! Как вы думаете, чего можно ожидать от мира программирования в 2020 году?
![](https://habrastorage.org/r/w1560/files/1ba/550/d25/1ba550d25e8846ce8805de564da6aa63.png)
![](https://habrastorage.org/webt/ml/6q/mg/ml6qmgbsmyzmvbxu72hr6cnc3cq.png)
Автор материала, перевод которого мы публикуем сегодня, говорит, что если вас занимает вопрос о том, что будущее может принести в мир программирования, то вы, читая это, оказались в нужном месте в нужное время. Он отмечает, что, размышляя о том, что может произойти, вполне может ошибаться в своих прогнозах и просит его не цитировать. По его словам, он не может предсказать будущее, но способен сделать обоснованное предположение о том, каким оно будет.
Лучший способ предсказать будущее — это создать его.
А. Линкольн
Rust станет мэйнстримом
![](https://habrastorage.org/getpro/habr/post_images/e4a/bdd/a1e/e4abdda1eec4866dce353b344eacd9e0.png)
Rust
Rust — это мультипарадигмальный язык программирования общего назначения. Его рассматривают как перспективный язык для разработки ядер операционных систем. Особое внимание в нём уделяется безопасности, в частности — безопасности параллельного выполнения кода. Rust, в плане синтаксиса, похож на C++, но он спроектирован с учётом обеспечения более безопасной работы с памятью при сохранении высокой производительности.
![](https://habrastorage.org/getpro/habr/post_images/b8d/df2/14d/b8ddf214d1f422599336b1617e641c39.png)
Rust (источник)
Последние четыре года Rust демонстрирует уверенный рост. Я полагаю, что 2020 год — это год, в котором Rust официально станет мэйнстримом. Что это значит, кстати? Пожалуй, каждый сам определяет для себя это понятие. Я, например, думаю, что Rust начнут преподавать в различных учебных заведениях. Это создаст новую волну Rust-программистов.
![](https://habrastorage.org/getpro/habr/post_images/f07/be8/ad7/f07be8ad7bbdeca4d7a2f14cebc2c567.png)
Самые любимые языки программирования из исследования StackOverflow 2019 года
Rust зарекомендовал себя как отличный язык, вокруг которого сложилось энергичное и активное сообщество. А если учесть то, что Facebook создаёт с помощью Rust огромный проект Libra, скоро мы узнаем о том, на что способен этот язык.
Если вы собираетесь выучить новый язык программирования — я бы настоятельно порекомендовал вам заняться Rust. Например — можете попробовать эту книгу.
Популярность GraphQL продолжит расти
![](https://habrastorage.org/getpro/habr/post_images/ba9/b30/995/ba9b309950d9fffeba97c71526322079.png)
Данные Google Trends по GraphQL
По мере роста приложений и увеличения их сложности растут и нужды этих приложений, касающиеся потребления данных. Я — большой фанат GraphQL. Мне доводилось пользоваться этой технологией много раз. Я думаю, что GraphQL значительно превосходит традиционные REST API.
В то время как типичный REST API требует организовывать загрузку данных из разных источников, выполняя несколько запросов, GraphQL позволяет получить все необходимые данные, возможно, берущиеся из разных источников, выполнив лишь один запрос.
![](https://habrastorage.org/getpro/habr/post_images/041/6c9/543/0416c9543a1ca010d00bdca0d56acb7c.gif)
GraphQL
GraphQL используется командами самых разных размеров. Эту технологию применяют в различных окружениях, она доступна для приложений, написанных на разных языках. Её используют при создании мобильных приложений, веб-сайтов, API.
![](https://habrastorage.org/getpro/habr/post_images/b34/bdc/eb1/b34bdceb11e45e8aa57afd1d2f55d7c4.gif)
Компании, использующие GraphQL
Если вас интересует технология GraphQL — взгляните на этот материал.
Прогрессивные веб-приложения станут явлением, с которым придётся считаться
Прогрессивные веб-приложения (Progressive Web Apps, PWA) — это новый подход к разработке приложений, основанный на комбинации всего лучшего, что есть в веб-приложениях и в мобильных приложениях.
![](https://habrastorage.org/getpro/habr/post_images/734/fd1/766/734fd1766ae8ff8e66097ada90c45f2f.jpg)
Прогрессивные веб-приложения (источник)
В мире существует гораздо больше веб-разработчиков, чем разработчиков, ориентированных на мобильные платформы, использующих для создания приложений технологии, специфичные для этих платформ. Как только большие компании поймут, что они могут направить силы своих веб-разработчиков на создание PWA, я подозреваю, что мы увидим взрывной рост подобных приложений.
Для того чтобы большие компании приняли бы эту идею, однако, требуется некоторое время. Это — совершенно нормально. «Прогрессивная» часть PWA, в основном, имеет отношение к фронтенд-разработке. Дело в том, что её создание подразумевает, преимущественно, описание взаимодействия с API Web Workers (это — стандартный браузерный API).
Веб-приложения никуда не денутся. Большинство программистов увлечено идеей, в соответствии с которой написание единственного кросс-платформенного PWA позволяет им, упрощённо говоря, выходить на те же результаты, что и раньше, но при этом тратить на работу меньше времени и больше зарабатывать.
![](https://habrastorage.org/getpro/habr/post_images/bbc/73c/12a/bbc73c12a47cca2322f1da15edcdcc85.png)
Данные Google Trends по PWA
Сегодня — замечательный день для того, чтобы начать изучать прогрессивные веб-приложения.
Технологии WebAssembly будет уделено больше внимания
![](https://habrastorage.org/getpro/habr/post_images/c85/cd9/082/c85cd9082b3577233d3674501772a6e4.png)
WebAssembly
Вот что можно узнать о технологии WebAssembly (Wasm) из открытых источников: «Это бинарный формат инструкций для стековой виртуальной машины. WebAssembly спроектирован как портативная цель компиляции для высокоуровневых языков, таких как C/C++/Rust, которую можно развертывать в web для клиентских и серверных приложений». Wasm можно пользоваться и при разработке прогрессивных веб-приложений.
Другими словами, Wasm — это механизм, который позволяет связать мир JavaScript с миром технологий другого уровня. Предположим, вы задумываетесь о том, чтобы воспользоваться в своём React-приложении библиотекой для обработки изображений, написанной на Rust. Сделать это вам позволит WebAssembly.
Производительность приложений — это очень важно во все времена, а учитывая то, что объём данных, которые приходится обрабатывать приложениям, постоянно растёт, поддержание производительности на высоком уровне оказывается непростой задачей. Именно здесь вступают в игру низкоуровневые библиотеки, написанные на С++ или Rust. Полагаю, что в будущем году мы увидим множество примеров внедрения WebAssembly крупными компаниями.
React продолжит лидировать во фронтенде
![](https://habrastorage.org/getpro/habr/post_images/666/72e/c02/66672ec02b54c85cf89ae8fff17f2d2f.png)
Сведения об инструментах для фронтенд-разработки из Google Trends
React, несомненно, является самой популярной JavaScript-библиотекой для фронтенд-разработки. Такая ситуация сложилась не случайно. Создавать React-приложения легко и интересно. Команда разработчиков React и сообщество, которое сложилось вокруг этой библиотеки, проделали замечательную работу по совершенствованию разных аспектов React и вспомогательных библиотек.
![](https://habrastorage.org/getpro/habr/post_images/389/a6a/fe9/389a6afe974d55cdfc29ad8e6855d29e.png)
React
Я работал с Vue, Angular и React, и могу сказать, что всё это — фантастические инструменты для веб-разработки. Помните о том, что цель библиотеки или фреймворка заключается в том, чтобы решить некую задачу. Поэтому, говоря о разных инструментах, стоит принимать во внимание не то, как они устроены, а то, насколько эффективно они способны привести разработчика к его цели. Я считаю рассуждения о «самом лучшем инструменте» совершенно ненужными. Вместо подобных рассуждений разработчикам стоит направлять всю свою энергию на решение стоящих перед ними задач.
Если вам не терпится создать какой-нибудь интересный проект — выберите что-нибудь из этого списка.
JavaScript — язык, который будет всё так же популярен, как сегодня
С уверенностью можно говорить о том, что уходящее десятилетие уместно будет назвать «десятилетием JavaScript». В эти годы шёл постоянный рост популярности JavaScript, и нет оснований считать, что эта тенденция замедлится. Поэтому, сделав ставку на JavaScript, вы точно не проиграете.
JavaScript-разработчиков иногда несправедливо называют «ненастоящими программистами». Но JavaScript — это язык, находящийся в сердце любой большой технической компании. Среди таких компаний — Netflix, Facebook, Google и многие другие. В результате можно сказать, что JavaScript, как язык, ничуть ни хуже других языков программирования. Поэтому всем JavaScript-разработчикам стоит гордиться тем, чем они занимаются. В конце концов, именно JavaScript-сообщество создало массу интереснейших и современнейших проектов.
![](https://habrastorage.org/getpro/habr/post_images/d6c/27d/a85/d6c27da8505998fab0f9cb0fb54dcb5a.png)
Анализ ведущих языков программирования
Вот материал о том, благодаря чему JavaScript стал столь популярным языком.
JavaScript, в некоторой степени, используется практически на каждом из существующих веб-сайтов. Сколько их? Миллионы!
Пожалуй, для того, чтобы стать JavaScript-разработчиком, не найти лучшего времени, чем сейчас. Зарплаты JS-программистов растут, рынок труда огромен, да и сообщество этого языка демонстрирует небывалую активность.
![](https://habrastorage.org/getpro/habr/post_images/31d/d26/91e/31dd2691e8df9656971a2f6ed17dab23.png)
Самые популярные опенсорсные проекты
Итоги
Автор этого материала поделился своим видением того, что можно ожидать от мира программирования в 2020 году. Он выделил такие технологии, как Rust, GraphQL, PWA, Wasm, React и JavaScript. Через некоторое время мы узнаем о том, насколько точными оказались его прогнозы.
Уважаемые читатели! Как вы думаете, чего можно ожидать от мира программирования в 2020 году?
![](https://habrastorage.org/files/1ba/550/d25/1ba550d25e8846ce8805de564da6aa63.png)