Найти тему

Какие языки программирования самые лучшие?

Программист — одна из самых востребованных и высокооплачиваемых профессий. Выбор языка программирования является важным на этапе обучения, выбора IT-профессии, отрасли, в которой хотите работать, на этапе создания программы! Какой язык выбрать, чтобы трансформировать поставленную задачу в готовую программу?

Язык программирования влияет на скорость создания программы, скорость тестирования, возможность переноса на другие платформы и быстрого внесения изменений, быстроту выполнения конечного продукта. При этом стоит сказать, что идеального языка не существует. Довольно часто новички задаются вопросом, а какой язык самый популярный? Как составляются рейтинги популярности языков и что нам дает знание о положении в них того или иного языка программирования?

Рейтинг рейтингу рознь
Рейтинги могут составлять компании, опираясь на самые разные терпеливо собранные данные, они могут отражать тенденции рынка, популярность применения языков программирования или их перспективность.

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

Но есть рейтинги, которым принято доверять, и методология составления индекса относится как к более-менее объективным. Одним из таких индексов является Индекс TIOBE. Компания TIOBE специализируется на оценке и отслеживании качества программного обеспечения. Ежедневно компания проверяет более 1056 миллионов строк программного кода для своих клиентов в режиме реального времени по всему миру. Проверяя такой объем кода, TIOBE смогли создать свой рейтинг популярности языков программирования, который вот уже 20 лет рассказывает нам о том, кто же на первом месте.

В опубликованном индексе TIOBE за октябрь 2020 можно увидеть несколько интересных тенденций.

Таблица 1. Индекс TIOBE за октябрь 2020
Таблица 1. Индекс TIOBE за октябрь 2020

На первом месте мы видим язык С (Си). Неожиданно, не правда ли?Учитывая, что язык С был разработан 1969—1973 годах, его популярность в 2020 выглядит мягко говоря неправдоподобно. Давайте посмотрим как менялся его индекс за последние 18 лет.

График 1. Индекс TIOBE за октябрь 2020, язык программирования С (Си)
График 1. Индекс TIOBE за октябрь 2020, язык программирования С (Си)

На графике отчетливо видно, что язык С (Си) пережил свое второе рождение в 2017 году и вырвался на первую позицию. О том, почему такое возможно и иногда происходит с разными языками мы поговорим позже, а сейчас давайте посмотрим на тенденции по другим языка программирования.

Что насчет популярного языка Python?

Из таблицы №1 мы узнаем, что язык Python уже на третьей позиции по популярности и вплотную подобрался к языку Java. Причем, популярность его продолжает расти.

График 2. Индекс TIOBE за октябрь 2020, язык программирования Python (Питон)
График 2. Индекс TIOBE за октябрь 2020, язык программирования Python (Питон)

Скорость роста популярности Python не оставляет сомнений в том, что он через несколько месяцев сможет переместиться на вторую позицию, а возможно достигнет первой в течение года.

Ну и для того, чтобы сравнить первую тройку языков, конечно хочется посмотреть на Java.

График 3. Индекс TIOBE за октябрь 2020, язык программирования Java (Джава)
График 3. Индекс TIOBE за октябрь 2020, язык программирования Java (Джава)

Из графика можно предположить, что дела у языка идут к закату, и совсем скоро возможно Python займет его место, вытеснив куда-то на задворки. Однако это не так. На Java написан почти весь банковский сектор, подавляющее большинство сурового Enterprice, операционная система Android и большинство мобильных приложений под него, суперпопулярная игра Minecraft и многое-многое другое. Вытеснить Java невозможно.

О чем рейтинги нам собственно говорят на самом деле?

-6

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

1. Рост мелкого и среднего IT-сектора

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

Дело в том, что  Python, PHP и другие относительно не сложные языки часто используются в мелких и средних проектах, количество которых в процентном соотношение в Интернет растет и дальше будет еще больше расти.

При этом весь крупный бизнес свою автоматизацию начал достаточно давно и достиг своего определенного максимума и дальше расти будет, но уже не так активно. Именно этот фактор приводит к тому, что такие языка как Java, C#, C++ замедляют свой рост.

2. Частота выхода обновлений
Всем известно, когда выходит новая версия iPhone, его популярность сразу взлетает. Только о нем все и говорят, его фотографии разносятся по всем билбордам, блогеры показывают как его распаковать и каждый школьник приходит к родителям со словами “купи”, а новые фичи становятся просто жизненно необходимыми, да и не ясно, как мы жили без них.

Тоже самое происходит и с языками программирования. Например, Python обновляется довольно часто. Некоторые обновления приводят к тому, что предыдущие версии больше не поддерживаются, например, при переходе с Python2 на Python3.

Поэтому новые версии всегда приводят к всплеску популярности этого языка, особенно если обновленная версия содержит полезные фичи и не поддерживает предыдущие версии.

В языках большой тройки: Java, С/C++, C# сложно представить, чтобы вышла версия, которая не поддерживает все предыдущие. Ведь на предыдущих версиях в крупных компаниях написана тонна кода. Поэтому всплеска популярности при обновлении не происходит, но разработчики переходя на новые версии просто начинают использовать новые фичи языка.

Поэтому график популярности языка программирования нередко связан с его интенсивностью развития и парадигмой поддержки старых версий.

3. Появление новых направлений в IT

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

Как рейтинги языков влияют на качество жизни программиста?
Давайте посмотрим на пример программиста Бориса (имя изменено, так как нам важен его кейс, а не сам Борис). Он работает в крупной компании и занимается разработкой на языке программирования Swift. Пишет мобильные приложения под iOS. Язык Swift не является очень популярным. Он не входит в первую тройку, пятерку и даже десятку популярных языков.

Однако, у Бориса прекрасно оборудованное рабочее место, оклад в 290К рублей плюс премиальные, полный социальный пакет, включая зубного врача и хорошая перспектива для развития.

Почему так? Просто таких как Борис не хватает на рынке. Ведь Борис изначально не был программистом на Switch, он владел фундаментальными знаниями по программированию и создавал игры на Python. Обладая этими знаниями, за несколько недель освоил Swift и устроился на новую работу.

Таких как Борис в разных IT-компаниях десятки тысяч.

Отсюда вывод, что не столь важно, какой язык программирования ты сейчас начинаешь изучать, будет это растущий в своей популярности Python или распространенная Java, важно, чтобы ты мог получить фундаментальные знания + опыт создания реальных проектов.

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

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