Перед вами перевод статьи пользователя под ником Constantin, опубликованной на ресурсе hackernoon.com. Под катом можно узнать, какие из языков программирования сегодня достойны того, чтобы их освоили.
Январь — отличное время для того, чтобы проанализировать прошедший год и заглянуть в новый.
Программисты пытаются предположить, каким он будет: прикидывают, какими навыками было бы неплохо овладеть, в каких проектах можно поучаствовать. Недавно на Indorse шла беседа об ожидаемых трендах. В этом обсуждении родились любопытные мысли, которыми хотелось бы поделиться.
Ниже представлены языки, ставшие трендовыми в ушедшем году, а также новые тренды, которые помогут вам оставаться на гребне волны в 2019-м.
Взглянем на тренды-2018 в программировании
Stack Overflow и GitHub обладают большим количеством информации о наиболее используемых языках программирования.
Схема от Stack Overflow, представленная ниже, демонстрирует самые популярные языки 2018 года. Как вы видите, JavaScript возглавляет список, и это неудивительно: он продолжает использоваться повсеместно как для фронтенд-, так и для бэкенд-разработок. Более того: JavaScript лидирует шестой год подряд.
Источник: Stack OverFlow
JavaScript на высоте и по данным GitHub (см. схему ниже). Мы видим, в организациях любого масштаба и в любом регионе мира у JavaScript больше всего контрибьюторов — как в публичных, так и в частных репозиториях.
Источник: GitHub Octoverse Report
По другим критериям превосходство также у JavaScript. В 2018 году этот язык стал первым не только по количеству контрибьюторов, но и по числу новых репозиториев на GitHub (см. схему ниже).
Топ языков программирования по количеству созданных репозиториев с 2008 по 2018 гг. Источник: GitHub Octoverse Report
Этот стремительный взлет произошел благодаря новым серверам JavaScript (например, Node.js, что был запущен в 2009 г.), которые позволяют программистам использовать один код как для клиента, так и для сервера.
А что же с другими языками? Python и C++ поднялись в списке, C — немного опустился, а Ruby рухнул с 5 на 10 место. Другой прорыв в прошлом году совершил TypeScript: в списке он поднялся с 10 до 7 пункта.
Как вышеописанные тренды повлияют на сферу программирования в 2019-м? Очевидно, что JavaScript останется преобладающим языком. Но есть и другие языки, которые развиваются гораздо быстрее.
Тренд-2019 #1: сможет ли Python догнать Java?
Если вы посмотрите на схему вверху, то увидите, что Python уже третий по популярности язык в мире. Но эту позицию он занял недавно: согласно данным от Stack Overflow, Python обошел PHP в 2017 году, а C# — в 2018-м (даты в выделенном авторском тексте не соответствуют данным на схеме ниже. — Прим. ред.).
Следующая схема иллюстрирует стремительный взлет Python.
Источник: Stack OverFlow
Что произошло?
Естественно, растущий интерес к искусственному интеллекту (ИИ) способствует развитию Python. И инженерам, судя по всему, нравится использовать этот язык для программирования. Согласно результатам последнего опроса членов IEEE, Python их фаворит.
Источник: IEEE Spectrum
По результатам опроса IEEE Python и в 2017 году занял первое место — с небольшим отрывом от C. Похоже, ему удается вытеснить R во многих сферах (R — специализированный язык для работы со статистикой и большими данными, критически необходимый для ИИ и приложений для машинного обучения).
Вполне вероятно, что доступность библиотечных модулей Python для статистики и машинного обучения сделали его более привлекательным языком для машинного обучения, чем R. В целом с Python вы можете сделать гораздо больше, чем с R, который действительно создан лишь для работы со статистикой и большими данными. Например, вы можете использовать Python для создания игр, веб-сайтов, бизнес-приложений и др.
Так что, если вы подумываете о работе с ИИ и машинным обучением или уже работаете, используя R, Python — это язык, который обязательно нужно освоить в новом году.
Тренд-2019 #2: TypeScript в десятке самых популярных языков
Согласно последнему докладу GitHub Octoverse, сейчас TypeScript на 7 месте по популярности, в 2017 году он был на 10 месте (см. вторую схему в начале статьи). Как вы видите на картинке ниже, на данный момент это третий по счету самый быстроразвивающийся язык из всех.
Самые быстроразвивающиеся языки по мнению пользователей на 30 сентября 2018. Источник: доклад GitHub Octoverse
TypeScript — это, в сущности, версия JavaScript с сильной типизацией, созданная с учетом безопасности типов и функциональной совместимости. Сильная типизация означает, что вам никогда не придется определять типы для переменных, потому что они уже определены с помощью вывода типов.
Интересно то, что вы можете кодировать с помощью TypeScript, а затем компилировать (конвертировать) ваш код для JavaScript. Таким образом, TypeScript позволяет обойти наиболее раздражающие недостатки JavaScript.
Тренд-2019 #3: Go упрощает программирование
Go в 2018 году первый раз попал в топ-10 по версии IEEE (см. выше рейтинг, опубликованный в журнале IEEE Spectrum). Кроме того, это пятый по счету самый быстроразвивающийся язык по данным IEEE, и седьмой по данным GitHub. Должно быть, он действительно особенный. Давайте узнаем почему.
Go — это язык программирования с открытым исходным кодом, разработанный компанией Google. Похожий по синтаксису на язык C, он, как и Python, проще остальных языков в плане чтения и написания. Вероятно, в этом и кроется причина стремительного роста популярности.
Кроме того, Go — язык с сильной типизацией (как и TypeScript). Вы можете использовать его для всех видов фронтенд- и бэкенд-приложений, а также для создания сопутствующих приложений, которые разбивают работу на множество потоков в ходе ее выполнения. И, что здорово, вы можете написанный в Go код компилировать в JavaScript.
Видимо, Google подумывает перевести свои продукты на работу с Go, что повысило бы популярность этого языка еще больше. Так что выбирайте для освоения Go, не прогадаете.
Вывод
Теперь вы знаете, на какие тренды в программировании обратить внимание в 2019 году. Все они — прекрасный выбор для тех, кто хочет освоить что-нибудь новое.
Python будет хорошим вариантом, если вы планируете заниматься статистическим анализом или машинным обучением на больших данных. Можно остановиться на TypeScript, чтобы с большей легкостью писать коды для JavaScript. Если вы привыкли кодировать с помощью C, то Go упростит вам жизнь, позволяя при необходимости компилировать код в JavaScript.
Удастся ли новым языкам, таким как Go и TypeScript, вытеснить JavaScript? Если это произойдет, то многие разработчики будут просто счастливы, но делать подобные прогнозы пока рано. Сейчас мы знаем точно только то, что с Python, TypeScript и Go в новом году мы будем встречаться чаще.
Автор: Plarium