Для новичков и не только: 6 языков программирования, востребованных в современной разработке
Выбрать подходящий язык программирования — трудная задача для начинающего разработчика. Принять правильное решение обычно помогает статистика сообществ вроде Stack Overflow или GitHub, которые регулярно публикуют данные об их популярности. Издание TechRepublic приводит расширенный список из 6 языков, которые неизменно занимают первые строчки в обзорах 2018 года.
1. JavaScript
Применение: JavaScript создавался как язык веб-сценариев. Сегодня он имеет множество сфер применения, начиная с серверов на Node.js и заканчивая устройствами интернета вещей в среде программирования Node-RED.
Репутация у JavaScript всегда была неоднозначной из-за некоторой непредсказуемости и своеобразного подхода. Однако в последних версиях языка отдельные проблемные моменты были устранены, а расширения вроде TypeScript позволяют разработчикам создавать более объёмные и сложные программы.
Профессии: веб-разработчик, full stack-разработчик, фронтенд-разработчик.
Пособия: официальное руководство от Mozilla.
Альтернативные языки: JavaScript оказал влияние на многие другие языки. Стремительно расширяется аудитория TypeScript, который с некоторой натяжкой может заменять JavaScript.
Онлайн-сообщества: Stack Overflow, а также сабреддиты Learn JavaScript и JavaScript.
2. Java
Применение: Java — важнейший язык для современных компаний. Уже более десяти лет на нём пишут серверное ПО для бизнеса. Кроме того, Java является основным языком разработки приложений под Android, игр и веб-приложений.
Из-за широкой распространённости языка Java-разработчики по-прежнему будут пользоваться высоким спросом. И хотя уже вышла 10-я версия языка, наиболее широко распространена версия Java 8.
Профессии: разработчик программного обеспечения, архитектор программного обеспечения, DevOps-инженер.
Пособия: официальное руководство от Oracle.
Альтернативные языки: Kotlin — официальный язык разработки на Android, который соединяет современные возможности языков со стопроцентной интероперабельностью Java. Его популярность также растёт ударными темпами.
Онлайн-сообщества: Stack Overflow и сабреддит Learn Java.
3. Python
Применение: ажиотаж вокруг машинного обучения привёл к закономерному скачку количества желающих изучать Python. Помимо анализа больших данных, многогранность этого языка проявляется во множестве сфер от разработки десктопных и веб-приложений до работы с системами.
Код на Python достаточно лаконичен и прост для понимания, он поддерживает множество парадигм программирования, имеет богатый набор встраиваемых библиотек. По мнению организации Python Software Foundation, популярность этого языка продолжит увеличиваться на фоне востребованности машинного обучения, а также благодаря доступности и практичности Python. Эти выводы поддерживают и составители августовского рейтинга TIOBE.
Профессии: дата-инженер, full stack-разработчик, инженер ПО.
Пособия: официальное руководство по изучению Python.
Альтернативные языки: R для анализа и обработки данных, Ruby для DevOps.
Онлайн-сообщества: сообщество python.org, Stack Overflow и сабреддит Learn Python.
4. РНР
Применение: немолодой язык, который часто подвергается критике, но активно используется в сети для обслуживания веб-страниц и приложений. Несмотря на безжалостную критику за несовершенство дизайна, РНР процветает уже не одно десятилетие и лежит в основе популярных CMS-систем вроде WordPress, а также применяется крупными сайтами, такими как Google и Facebook. Подобно Java, повсеместное использование РНР гарантирует ему стабильную популярность у разработчиков.
Профессии: веб-разработчик, WordPress/PHP-разработчик.
Пособия: PHP The Right Way.
Альтернативные языки: достойной заменой в плане поддержки сценариев на стороне сервера могут быть Python или JavaScript, запущенные в среде Node.js.
Онлайн-сообщества: Канал #phpc на irc.freenode.com, Stack Overflow и сабреддит Learn PHP.
5. C#
Применение: объектно-ориентированный язык программирования, разработанный Microsoft в 2000 году для платформы .NET Framework в противовес Java. Отличается хорошей документацией, относительно прост в изучении, имеет множество полезных библиотек. Часто используется при создании десктопных приложений для Windows, веб-приложений а в последнее время — и в мобильной разработке. Разнообразие сфер применения постоянно расширяется, а инструменты компании Xamarin позволяют использовать C# в написании приложения для Android, iOS и других мобильных платформ.
Профессии: full stack-разработчик, .NET-разработчик, веб-разработчик.
Пособия: курс от Microsoft по основам C#.
Альтернативные языки: С++ для приложений под Windows, JavaScript с фреймворком вроде React для веб-приложений.
Онлайн-сообщества: C-Sharp corner, Stack Overflow и сабреддиты CSharp и Learn CSharp.
6. C++
Применение: С++ — излюбленный язык создания игр и сложных приложений для бизнеса, главным образом благодаря эффективности и возможности тщательно контролировать использование памяти. Способность С++ добиться максимальной производительности от системы объясняет частый выбор его для низкоуровневого ПО на компьютерах (операционных систем и аппаратных драйверов). Минусом С++ является его сложность, из-за чего могут возникнуть проблемы во время его изучения.
Профессии: инженер-программист встраиваемых систем, инженер игровых движков, разработчик системного ПО.
Пособия: сайт Learn C++.
Альтернативные языки: Mozilla занимается развитием Rust и планирует сделать его таким же мощным, как С++, но с улучшенным управлением памятью.
Онлайн-сообщества: Stack Overflow и сабреддит C++.
Языки подобраны на основе исследований разработчиков Stack Overflow за 2018 год и рейтингов аналитической компании RedMonk.