Зачем изучать новые языки программирования
В мире насчитывается более 700 языков программирования, и список постоянно пополняется. При этом большинство ИТ-команд в крупных компаниях и стартапах использует несколько языков и фреймворков одновременно. Разработчики тоже все чаще становятся билингвами и мультилингвами и осваивают от 2 до 5 языков, в том числе тестируют новые технологии. Зачем это нужно:
- Новые инструменты и фреймворки прокачивают скиллы и помогают по-новому взглянуть на тривиальные задачи. Даже если вы не будете применять новые языки в работе, их знание поможет находить нестандартные решения в кодинге.
- Есть шанс поймать волну и стать востребованным специалистом до того, как язык станет мейнстримом. Пока остальные будут осваивать базу, вы уже выйдете на продвинутый уровень.
- При работе над сложным проектом вам будет проще подобрать нужный язык и фреймворк. Понимая специфику разных языков, вы легко определите, какой инструмент эффективнее решит задачу.
Познакомиться с популярными и не очень языками в демо-режиме можно на сайте Learn X in Y minutes — это проект обновляется и дополняется коммьюнити разработчиков.
Golang (Go) (2009)
Go (Golang) занимает первую строчку в рейтинге языков программирования, которые хотят изучить как действующие разработчики, так и новички. Его часто называют «швейцарским ножом» в сфере разработки: Go довольно простой и универсальный, а использовать его можно для разных задач — от создания API до DevOps-инструментов. А еще он пользуется спросом у крупных компаний, которые работают с большими данными. Поэтому владение Go регулярно входит в топ самых высокооплачиваемых навыков.
Курсы по Go:
- Специализация Programming with Google Go (Coursera)
- Учимся программировать на Go (Udemy)
- Буткэмп по Go: комплексный курс с 1000+ упражнений (Udemy)
- Онлайн-интенсив по Golang (EPAM)
- Профессия Go-разработчик (Skillbox)
Rust (2010)
Язык Rust соединяет в себе сразу несколько преимуществ — по мощи и производительности он не уступает C++, но при этом по безопасности памяти он превосходит многих конкурентов. Еще один плюс — большое коммьюнити разработчиков, которые постоянно выпускают новые инструменты и дополнения. Поддержку Rust выражают и технологические гиганты — так, в число соучредителей Rust Foundation вошли Facebook, Amazon Web Services, Google, Huawei, Microsoft и Mozilla — кстати, именно сотрудник Mozilla Грэйдон Хор в 2006 году инициировал работу над новым языком, который впоследствии стала поддерживать и сама компания.
Курсы по теме:
- Язык программирования Rust (Udemy)
- Ультимативный экспресс-курс по Rust (Udemy)
- Создание многоразового кода с Rust с нуля (Udemy)
- Выучи Rust бесплатно (Rust)
- Программирование на Rust для начинающих (Udemy)
Kotlin (2011)
Kotlin — язык программирования, разработанный компанией JetBrains, который довольно быстро набрал популярность и встал в один ряд с Java. Его широко используют в мобильной разработке — именно Kotlin применяли при создании приложений Trello, Evernote и Coursera для Android. А Google в 2019 году назвала Kotlin приоритетным языком программирования. Основные преимущества — это лаконичность и безопасность. По многим параметрам он превосходит Java, а также считается более простым языком по сравнению с главным конкурентом Scala.
Курсы по теме:
- Курс по Kotlin для начинающих (Udemy)
- Kotlin для Java-разработчиков (Coursera)
- Kotlin для Android: от новичка до продвинутого (Udemy)
- Основной курс по Kotlin (Linkedin)
Red (2011)
Red задумывался как универсальный язык для full-stack разработки, который не будет зависеть от других инструментов и тулчейнов. Ближайший собрат Red — это REBOL, запущенный в 1997 году. В отличие от многих аналогов, Red позволяет писать и высоко-, и низкоуровневый код быстро и эффективно. При этом он обладает довольно простым, «человечным» синтаксисом. «Красный» язык пока не получил широкую популярность — многим кажется, что он «подозрительно хорош», а его сторонников называют «маленькой программистской сектой». С Red стоит поэкспериментировать, чтобы лучше проследить преемственность языков программирования и проверить, может ли разработка быть настолько универсальной, как говорят создатели. Будущее языка на рынке пока под вопросом — судя по последним постам в блоге, развитие языка продвигается медленно: у создателей уходит много времени на разработку довольно простых функций, а грандиозные планы по захвату full-stack индустрии пока откладываются.
Ресурсы по теме:
Dart (Flutter) (2011)
Объектно-ориентированный, высокоуровневый язык Dart был разработан Google как альтернатива JavaScript. Он легко компилируется в JS или Java для Android, а из очевидных преимуществ Dart выделяют минимальное количество ошибок времени компиляции и мощный встроенный редактор. Сфера применения этого языка — разработка веб-приложений, мобильного ПО и IoT-устройств. Для создания мобильных и веб-приложений на Dart у Google есть специальный продукт — фреймворк и сет средств разработки Flutter.
Курсы по теме:
- Flutter & Dart: полное руководство (Udemy)
- Полный интенсивный курс по разработке с Flutter на Dart — 2021 (Udemy)
- Профессия Flutter-разработчик (Skillbox)
- Мобильный разработчик на Flutter (Otus)
Elm (2011)
Функциональный язык, который подходит для создания сложных пользовательских интерфейсов, отличается хорошей скоростью и компилируется в JavaScript. Среди собратьев он выгодно выделяется отсутствием runtime exceptions и ограниченной системой типов (благодаря этому не возникает проблем с недопустимыми типами данных). Еще один большой плюс Elm — компилятор, выдающий подробные сообщения об ошибках и варианты их исправления. Обычно Elm используют для создания веб-сервисов, поэтому его чаще всего применяют frontend-разработчики.
Ресурсы по теме:
- Руководство по программированию на Elm для начинающих (Udemy)
- Начало работы с Elm: введение в язык программирования (Elmprogramming)
- Одностраничные веб-приложения на Elm (LinkedIn)
Julia (2012)
Высокоуровневый и высокопроизводительный язык был разработан специально для научных исследований и аналитики. Его уже использует более 1500 университетов, а Альянс по климатическому моделированию (CliMA) выбрал Julia в качестве основного языка. В сфере статистических и математических вычислений Julia не уступает R и Matlab, но при этом он проще в изучении и работе. Из плюсов языка также отмечают быструю компиляцию кода, высокопроизводительное параллельное выполнение, обширную математическую библиотеку и поддержку облачных вычислений. Создатель Python Гвидо ван Россум считает Julia нишевым языком, который, тем не менее, по оптимизации кода превосходит аналоги.
Курсы по теме:
- Начало работы с Julia (Udemy)
- Julia для начинающих в Data Science (Coursera)
- Научное программирование на Julia (Coursera)
- Подборка курсов по Julia (The Julia Project)
- Написание кода на Julia для непрограммистов (Udemy)
Elixir (2012)
Функциональный, динамический, компилируемый язык общего назначения работает на виртуальной машине Erlang, и это дает ему несколько преимуществ. Главные плюсы Elixir — это отказоустойчивость, возможность метапрограммирования, многозадачность и высокая производительность. Его используют как финтех-компании, так и e-commerce площадки, а также соцсети, например, Pinterest и Discord. Решения на базе Elixir легко масштабировать, при этом сам язык довольно простой. За свою недолгую историю язык успел обзавестись несколькими фреймворками, поэтому его уже можно применять для full-stack разработки.
Ресурсы по теме:
- Полный интенсивный курс по Elixir и Phoenix (Udemy)
- Уроки программирования на Elixir (Elixir School)
- Начало работы с Elixir (Pluralsight)
- Электронная книга «Начало работы с Elixir» (eduonix)
- Elixir и Phoenix: функциональное программирование в реальных условиях (Udemy)
TypeScript (2012)
В 2010-е Microsoft хотела создать альтернативу JavaScript — так появился TypeScript, улучшенная и дополненная версия JS, на которую сегодня равняются многие разработчики языков. Например, создатели Python периодически подсматривают функции у TypeScript. А многие компании использует его в работе — так, Google Analytics и Google Cloud Platform частично базируются на TS.
TypeScript — это язык-надстройка с открытым исходным кодом. Поэтому количество дополнительных фреймворков и инструментов для него постоянно растет. К плюсам также можно отнести статическую типизацию, которая выгодно отличает TypeScript от JavaScript. Еще один аргумент в его пользу — удобство и функциональность. Благодаря этому TS обошел Python в рейтинге самых любимых языков среди программистов от StackOverflow.
Курсы по теме:
- Введение в TypeScript разработку (Udemy)
- Разбираемся в TypeScript — Переиздание 2021 года (Udemy)
- TypeScript: гид для разработчика (Udemy)
- Профессия Frontend-разработчик с нуля до PRO (Skillbox)
- Курс TypeScript Fundamentals (ITVDN)
Crystal (2014)
Быстрый, как C, удобный, как Ruby, но более гибкий, чем JavaScript — так характеризуют Crystal создатели языка. Его используют и для мелких enterprise-продуктов, и для блокчейн-проектов, и для гейм-разработки. Еще один плюс — растущее коммьюнити, которое верит, что в перспективе Crystal может полностью заменить Ruby. Эту точку зрения подтверждает и все большее число инструментов, совместимых с Crystal. Например, фреймворк Lucky и Kemal, а также новый язык программирования Mint, созданный специально для одностраничных приложений.
Ресурсы по теме:
Swift (2014)
Изначально Apple создавала компилируемый язык Swift для разработчиков на iOS и macOS, но постепенно его стали применять и при работе с другим ОС — в том числе с Android. Более того, программисты могут создавать свои версии языка и в целом экспериментировать с его возможностями. Например, его все чаще используют для разработки игр. У Swift немало общего с C и C++, а также Objective-C. В дополнение ко всему вышеперечисленному язык быстрый, безопасный, простой в использовании, но при этом востребованный.
Курсы по теме:
- Разработка iOS-приложений на Swift (Coursera)
- Разработчик на Swift: полный курс. Создайте 20 приложений (Udemy)
- iOS-разработчик. Профессиональный курс (Otus)
- iOS-разработчик с нуля (Skillfactory)
ReasonML (2016)
Этот объектно-функциональный язык появился на свет из желания разработчиков Facebook придумать более простой, быстрый и безопасный вариант JavaScript, так что его синтаксис очень похож на JS. Формально ReasonML — это расширение синтаксиса функционального языка OCaml и набор инструментов для него, поэтому он предполагает использование обеих экосистем: и JavaScrip, и OCaml. Из плюсов языка часто отмечают его иммутабельность, строгую систему типов и возможность достаточно простой интеграции с JS. Кроме того, ReasonML хорошо подходит для разработки React-приложений.
Курс по теме:
Ballerina (2017)
Сравнительно новый язык программирования, созданный компанией WSO2 для работы в облаке. Ballerina представляет собой статичный типизированный язык общего назначения. Его синтаксис достаточно простой и основывается на сочетании Go, Java, JavaScript и Python. Особенно интересным и перспективным для изучения Ballerina делает кроссплатформенность и направленность на интеграцию: специальные модули обеспечивают легкое взаимодействие различных сервисов, что упрощает работу программисту.
Курс по теме:
Microsoft Power Fx (2021)
Один из самых молодых языков программирования, официально представленный всего несколько месяцев назад, был создан Microsoft для работы на платформе Power Platform и основан на синтаксисе функций Excel. В основе этого функционального декларативного языка общего назначения лежит концепция low-code. Работать с Microsoft Power Fx сможет даже человек с минимальным знанием кодинга — и это одно из главных преимуществ языка.
Курс по теме:
Какой язык программирования выбрать новичку
Новички обычно начинают с Python, Java, C, C# или Ruby, но можно выбрать для старта более новые языки программирования — например, Go или Rust.