Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык
Python уже второй год подряд демонстрирует негативную динамику. Java тоже теряет позиции – в этом году она на третьем месте по популярности. На второе место поднялся язык C#. Доля JavaScript после небольшого падения в 2021 году снова растет. Но самая лучшая динамика у TypeScript (уже более 10% и прирост увеличился почти вдвое).
Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования. На этот раз собрали 9245 анкет из Украины. Поехали.
Небольшое отступление и напоминание для тех кто пропустил, о том что DOU.UA в декабре 2021 года провел большой опрос среди украинских ИТ-специалистов о работе и зарплатах и оказалось, что медианные зарплаты у специалистов уровня Architect достигли отметки в $7200, зарплата у Senior увеличилась до $5500. Подробнее об этом можете прочитать в этой статье.
Коммерческое использование
Самым популярным языком среди украинских разработчиков остается JavaScript — 18,8%. На втором месте C# у него второй год подряд положительная динамика. Можно предположить, что это благодаря активному росту геймдев-индустрии. Далее следует Java, доля которой с 2017 года стабильно уменьшается.
Если TypeScript продолжит тем же темпом набирать популярность, то в следующем году есть все шансы оказаться в первой пятерке и даже тройке языков.
Какой язык используете для работы сейчас

В общем, популярность большинства языков в этом году выросла. Нехорошая динамика, не считая Java и Python, есть еще только у Ruby, C, Scala, Clojure и C++. Последний, кстати, продолжает стремительно терять популярность. Не в последнюю очередь из-за снижения доли среди новичков. Об этом будет дальше.
Какой язык используете для работы сейчас (2012–2021гг.)

Сферы использования
Если смотреть по отрасли применения, то ситуация другая: в бэкенд-программировании Java все еще доминирует, C# на третьем месте после PHP, а доля TypeScript и JavaScript не так уж велика, C# — также является популярным языком в геймдеве.
Языки программирования по сферам использования









На фронтенде TypeScript продолжает «откусывать» часть у JavaScript, но довольно медленно. Что касается обработки данных, то мы видим, что Python становится стандартом де-факто.
Ну и наконец интересно посмотреть на относительное количество респондентов в этих категориях.
В какой сфере в основном работаете

Личные предпочтения
Еще интересный вопрос – какой язык выбирают следующим в проекте? Здесь лидирует TypeScript. Однако напомним, что смотреть на выбор разработчиков оказалось плохим предиктором дальнейшего распространения – на практике их приглашают на проект, когда язык уже определен.
Если бы вы сейчас начинали коммерческий проект и у вас была бы свобода выбора языка

Посмотрим на «индекс предпочтения» — это относительное количество разработчиков, пишущих языком X и для следующего проекта в своей сфере выберут тот же язык X.

Наиболее комфортным является Dart, далее в первом кластере Clojure, Kotlin, Rust, Swift, C#, Go и TypeScript.
Есть и неожиданность: перемещение Scala из первого кластера во второй. Относительно языков, которые рассматривают как альтернативные: из 80 человек, которые указали Scala как основной язык программирования, 50 начали бы проект им же, 9 перешли бы на Python. Возможно, это связано с тем, что Spark (написанный на Scala) достаточно активно работает над Python API для пользователей. Еще 8 не указали следующий язык, далее следуют Java(4), Rust(3), Go(2) и Swift(2). Еще по одному голосу у Kotlin и Clojure.
Если смотреть на направления миграции с Java — это, прежде всего, Kotlin, далее Go, Scala и Python, затем TypeScript и Dart. Еще интересное направление миграции из PHP, это преимущественно Go и JavaScript и Python.
Изучение новых языков
Около трети респондентов планируют выучить новый язык в течение следующего года. На этот раз фаворитом является Go.
Какие языки вы собираетесь изучать в следующем году

Большинство респондентов планируют выучить следующий язык самостоятельно или с помощью коллег. Около 7% думают обратиться к профессиональным преподавателям.
Если мы уже затронули тему обучения, то посмотрим, с каким бэкграундом люди начинают свой путь. Чтобы это выяснить, проанализируем, какой язык программирования использовали как первый наши респонденты с опытом работы менее года.
Похоже, первым языком у начинающих скоро станет JavaScript.
Первый язык новичков

Дополнительные языки
Среди дополнительных языков безоговорочный лидер – JavaScript (более 28%). Далее следует TypeScript (17%). У всех остальных языках менее 10%.
Какие языки вы используете как дополнительные

Половина респондентов участвует в проектах с открытым кодом.
Какие языки используете в опенсорс-проектах

Финальная таблица

Дополнительные данные
Судя по данным, мы можем констатировать, что пик «войти в IT» был несколько лет назад. Сегодня количество новичков растет, но до бума прошлых лет не дотягивает.
Опыт работы программистом с динамикой (2012-2022 гг.)

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

Опыт разработчика в зависимости от языка

Если у вас есть комментарии, предложения или замечания по статье переходите к обсуждению или пишите на vlada@dou.ua.
Данные и скрипты обработки можно найти на GitHub
Анализ данных и текст: Руслан Шевченко
Инфографика: Игорь Яновский
- рейтинги
- самые популярные
- языки программирования
- статистика в it
- опрос
- результаты опроса
- топы
- Программирование
- Исследования и прогнозы в IT
- Карьера в IT-индустрии
- Статистика в IT
Почему Си все еще популярен?
Несмотря на свой возраст, язык программирования Си до сих пор является одним из наиболее популярных языков. А возраст у него действительно почтенный. В этой статье мы поговорим, почему Си до сих пор на плаву, в чем секрет его популярности и по какой причине его продолжают изучать на уроках и курсах программирования. Также вы узнаете, что до сих пор пишут на C.
Немного истории
Сегодня многие считают язык Си устаревшим. В каком-то смысле это так, ведь он появился в далеком 1972 году. Разрабатывался он с учетом того времени, то есть в соответствии с характеристиками компьютеров, которые существовали полвека назад. А какими были эти компьютеры? Если сказать упрощенно, то по своему функционалу они напоминали современный калькулятор.
Несмотря на все вышесказанное, спустя полвека Си совсем не умер, о нем не забыли. Секрет долголетия прост — язык постоянно развивается и поддерживается, несмотря на все «но». А еще он обеспечивает быстрое выполнение и хороший отклик, то есть быстродействие и производительность.
Многие компании успешно применяют Си десятки лет, ведь он до сих пор часто работает быстрее, чем конкуренты. Почему он так быстр? Потому что выполняется, по сути, на уровне процессора.
Достаточно посмотреть на рейтинг хотя бы TIOBE, чтобы увидеть, что C уже много лет в топе и уходить оттуда не собирается. Мало того, он нередко занимает первые места в этом рейтинге, вот, к примеру, результат за май 2021 года.

Интересный факт: на основе C создано много других языков программирования, речь идет о так называемых «Си-подобных» языках — он построены на базе C.
- C++,
- C#,
- Java,
- Objective C,
- Perl,
- Scala и прочие.
Не менее интересно и следующее наблюдение: именно для Си выпущено наибольшее количество различных самоучителей и учебников в стиле «для чайников», «основы», «с нуля» и так далее. Но, учитывая возраст C, этот факт как раз таки удивления не вызывает.
Каковы еще причины популярности?
Тут и там можно встретить курсы и уроки, где обучают именно этому языку. То есть можно с уверенностью сказать, что такие знания, как и соответствующие специалисты, до сих пор востребованы. И вот почему:
— на основе C создано множество проектов, а эти проекты требуют постоянной поддержки, следовательно, без подготовленных кадров не обойтись;
— так как Си — это родитель многих других programming languages, то нередко советуют начать изучение программирования именно с него. И дело тут совершенно не в ностальгии — его изучение даст вам базовое понимание фундаментальных принципов работы компьютера/программ/языков программирования. То есть такие уроки не будут бесполезными. Вдобавок к этому, никто же не помешает потом перейти на другой язык: С++, C#, Java, Python и т. п. А с наработанной базой последующее изучение будет явно проще.
Программируем на Си — что на нем пишут?
Язык C до сих пор востребован на практике, вот, что можно на нем писать:
— операционные системы. Когда-то давно Unix была написана на ассемблере. Потом появился Си, и Unix переписали. В 1985 году C пригодился при написании Windows. Сегодня компьютеры Apple работают с помощью ОС macOS, ядро которой создано тоже с помощью C. Девять из десяти наиболее мощных суперкомпьютеров — это тоже герой сегодняшнего разговора. Еще добавим ядра для iOS , Android и Windows Phone. Результат очевиден: Си нередко находится в фундаменте работы популярного ПО из разных сфер: от мобильных устройств до суперкомпьютеров;
— Open Source-программы. Проекты, имеющие открытый исходный код, тоже нередко создаются на C. По статистике таковых чуть менее половины:

— драйверы устройств. Они необходимы для подключения к вашему компьютеру различных устройств: клавиатуры, мыши, принтера, сканера и пр. Именно драйвер взаимодействует с операционной системой. Разве это не означает, что его лучше создавать на C?
— языки программирования. Мы уже говорили о заслугах Си в этой области. Однако до сих пор при создании нового языка нередко применяют именно универсальный C;
— базы данных. О, да… Самые популярные БД, такие как Oracle Database, MS SQL Server MySQL, SQLite и PostgreSQL, написаны на C. Почему? Потому что базы должны обладать максимальной надежностью и производительностью. Просто спросите любого C-программиста, почему для баз данных лучше выбирать этот язык. Вам ответят что-то в стиле:

— графические библиотеки. Опять же, работая с графикой, мы снова ожидаем максимального быстродействия, которое может обеспечить C. В крайнем случае, если речь идет о наиболее ответственных местах, некоторые участки кода частично пишутся на языке ассемблера. Примеры библиотек: Cairo, OpenGL, SDL;
— встроенные устройства. Торговые автоматы, кассовые аппараты, парковочные роботы, программно-техническая начинка вашего автомобиля — все это Си — как без него?
— космические и авиационные системы. Раз опять нужна максимальная надежность, то по традиции вопрос выбора становится риторическим.
Вот и все, надеемся, материал был вам полезным.
Почему стоит начать изучение программирования с языка C
Краткое содержание: автор статьи объясняет, почему С хорош именно на этапе обучения и прокачки мозгов будущего программиста. А через некоторое время, или даже параллельно, можно выучить более современный язык и заняться, например, Enterprise- или Web-разработкой.

Языков программирования становится всё больше. Сейчас их около 700. Однако в основном разработчики используют 20 из них. Здесь, как и во многих других сферах, существуют рейтинги, тренды и даже мода.
- упрощённый синтаксис (в большинстве своём) и ясная семантика — на фоне языка C;
- полнофункциональный набор стандартных API;
- активная поддержка сообщества;
- растущая экосистема фреймворков и библиотек.
Обычно будущие разработчики начинают программировать в школе, университете или на курсах по смене профессии. Последний вариант, к слову, сейчас сильно набрал популярность.
Рано или поздно они задаются вопросом: какой язык программирования лучше учить первым? В школе и университете на этот вопрос могут ответить за вас: чаще всего обучение там начинают с языка С/С++ (именно вот так, через «/»). Но на альтернативных обучающих площадках вряд ли вам тоже кто-то предложит просто поизучать С для расширения кругозора или прокачки мозгов. Всем хочется побыстрее, что называется, войти в ИТ. Так что, как видите, тут и там вам придётся проявить волю и самостоятельность, если решите начать изучение с языка С.
В этой статье речь всё-таки пойдёт про этап обучения и становления будущего специалиста. Поэтому, позвольте, сейчас я изложу свои аргументы, а потом вы можете изложить свои.
C заставляет глубоко прорабатывать решение проблемы
Более современные языки предлагают сразу несколько встроенных абстракций (или абстракций из стандартных библиотек) на все распространённые случаи жизни. Это в первую очередь относится к стандартным алгоритмическим задачам. Например, если вам нужно скопировать определённые элементы из первого массива во второй, вы можете использовать встроенный метод filter() в JavaScript. Если пишете на Java, в вашем распоряжении метод filter() из пакета java.util.stream.
JavaScript: Array.filter()
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; // если длина слова больше 6, добавляем его в результирующий массив const result = words.filter(word => word.length > 6); console.log(result); // получится вот такой результат: Array ["exuberant", "destruction", "present"]
Java: stream().filter()
List lines = Arrays.asList("spray", "limit", "elite"); // преобразуем List в Stream List result = lines.stream() // хотим исключить elite .filter(line -> !"elite".equals(line)) // сформируем коллекцию и преобразуем в List .collect(Collectors.toList()); //получится вот такой результат: spray, limit result.forEach(System.out::println);
На языке С, особенно в учебных целях, можно предложить такую реализацию (чтобы не усложнять пример, я поменял строки на числа и изменил условие «фильтрации»):
#include #define SIZE 5 void copy_aka_filter_arr(double trg[], double src[], int n); int main(void)< int i; double source[SIZE] = ; double target[SIZE]; printf("Source: "); for (i = 0; i < SIZE; i++)< printf("%5.1f ", source[i]); >putchar('\n'); copy_arr(target, source, SIZE); return 0; > void copy_aka_filter_arr(double trg[], double src[], int n) < // копирует i-й элемент из исходного массива в новый, если он больше 3.3. // иначе записывает в i-й элемент нового массива 0.0 int i; for (i = 0; i < n; i++)< if (trg[i]) >3.3) < trg[i] = src[i]; >else < trg[i] = 0.0; >> printf("Target: "); for (i = 0; i < SIZE; i++)< printf("%5.1f ", trg[i]); >putchar('\n'); >
Пытаясь реализовать такие функции руками, вы столкнётесь с фундаментальными принципами и нюансами, в которых нужно будет глубоко разобраться. В частности, самостоятельная реализация алгоритмов обработки структур данных на языке С — отличный способ научиться решать проблемы, а не искать готовые решения.
На каком бы классном и продвинутом языке вы не писали, время от времени появляются сложные задачи, которые нельзя решить с использованием стандартных библиотек и встроенных абстракций. В этих случаях такой навык просто необходим.
Кстати, разработчики, участвующие в соревновательных хакатонах, часто тренируют этот скил, решая нестандартные задачи как раз на C.
C позволяет прикоснуться к «низкоуровневому» программированию
На современных высокоуровневых языках (Python, C#, Java или какой-то ещё на ваш вкус) удобно писать. Однако эти языки очень ограничивают взаимодействие с аппаратной частью. Другими словами, вы не получите полноценного опыта взаимодействия с «железом», пока не начнёте программировать на C. Современные языки программирования скрывают аппаратно-зависимые детали реализации и вместо этого эмулируют некую абстракцию. В большинстве случаев она создаётся с помощью виртуальной машины.
К сожалению, начинающие специалисты совсем не имеют представления об управлении памятью, об обработке файлов и оптимизации кода, потому что они никогда не видели даже примеров «низкоуровневого» программирования на языке C. С этой точки зрения современные языки программирования автоматизируют и скрывают слишком много. Язык С заставляет делать многое руками и писать высокооптимизированный код.
Как по мне, такое должен попробовать каждый профессиональный разработчик. Ну, как минимум, бэкендер.
C учит свободе и ответственности
Когда язык программирования предлагает набор удобных для человека абстракций, он становится менее гибким. Каждый встроенный или библиотечный метод действует как жёстко запрограммированный чёрный ящик. Другими словами, современные языки программирования скрывают подробности реализации и предлагают разработчику просто обращаться к набору интерфейсов. Ручное управление распределением динамической памяти в современных языках программирования в большинстве случаев невозможно. Между тем, C даёт вам настоящую свободу, позволяя выбирать способ реализации на более низком уровне.
Компиляторы C при должной оптимизации создают невероятно быстрый ассемблерный код. Правда, кроме того, чтобы выставлять нужные флажки оптимизации для компиляции, нужно и самому писать высокопроизводительный исходный код. В C мы должны аккуратно объявлять переменные, выделять и вовремя очищать память, обращаться к ресурсам и не забывать освобождать их. Если C был вашим первым языком, вы привыкнете рационально использовать память и ресурсы, привыкнете выбирать оптимальные структуры данных. Эта привычка сохранится, когда вы начнёте писать и на других языках.
C мотивирует к написанию чистого кода
В отличие от современных языков программирования, для реализации тех же задач на C вам придётся писать в разы больше кода. Это связано с тем, что на C многое приходится реализовывать на более низком уровне, а не использовать встроенные обёртки и абстракции из стандартных библиотек, скрывающих подробности реализации. Когда количество строк в коде увеличивается, сложность кода также растёт. Чтобы компенсировать этот эффект и поддерживать порядок в проекте, нужно стараться писать чистый и понятный код.
Написание чистого кода — это навык, который особенно востребован при работе в крупных коммерческих проектах. Если вы научитесь писать чистый код на С, то вам будет легче сделать это на другом, более простом языке.
Пока не убедил?
С активным развитием C++ язык C многие перестали воспринимать как самостоятельный. Он как будто превратился в подмножество языка C++. Понятно, что фактически это не так. C++ — действительно современный язык программирования с полнофункциональным набором стандартных библиотек. На мой взгляд, C++ не должен быть первым языком, который стоит изучить. Правда, тут есть одна оговорка: если вы в дальнейшем хотите специализироваться именно на нём, то вперёд. В этом случае эти два языка можно учить параллельно, но они в какой-то момент «пересекутся» — и переход от С к С++ будет органичным и почти мгновенным.
Практически все современные языки программирования конкурируют друг с другом, вводя новый синтаксис, семантику и расширяя стандартные библиотеки и фреймворки. Как говорится, всё для людей. Это и подкупает. Но если будущие разработчики с нуля начнут изучать эти языки, они упустят ценные возможности, которые даёт C. В какой-то момент они просто не смогут сделать новый шаг в своём развитии, не зная, как работает код на более низком уровне, не зная даже, как внутри реализованы их любимые фреймворки и библиотеки.
Поэтому выберите C в качестве первого языка программирования. Его изучение займёт больше времени, но в дальнейшем поможет вам очень быстро стать экспертом в более современных языках.
Облачные серверы от Маклауд отлично подходят для разработки на С и других языках программирования.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
Какой язык программирования учить прямо сейчас: 9 самых востребованных

Люди придумали больше 8 тыс. языков программирования. Их популярность меняется каждый год, а требования для входа в профессию все ниже. Разбираемся, какие языки востребованы, зачем нужны и как их учить непрограммистам
Самые востребованные языки программирования
- Python
- C
- C++
- Java
- C#
- JavaScript
- Visual Basic
- PHP
- Assembly Language

Рейтинг TIOBE, сентябрь 2023 года
1. Язык программирования Python
Python — логичный и относительно простой язык с минималистичным синтаксисом. У него небольшой набор основных правил, язык легко читать и писать на нем не сложно. Разработчики написали для Python множество библиотек, поэтому вы можете использовать готовые решения в своих проектах. Главный минус Python — его невысокая скорость. Программы на нем будут работать в среднем медленнее, чем на других языках.
С октября 2021 года Python стал самым популярным языком программирования, сместив с первой строчки рейтингов Java и C.
Игорь Музыкин, руководитель направления «Программирование» в Skillbox:
«Главная причина стабильного роста запросов на Python — растущая востребованность IT-специальностей для переориентирования карьеры в сферу разработки. Представим человека, который задумался о первых шагах в IT. Для начала он скорее всего начнет искать информацию в интернете. Что он увидит? Аргументацию об относительной простоте Python для новичков и статьи о широкой области применения языка — от научно-исследовательской работы до геймдева. Поэтому Python все чаще выбирают в качестве первого языка программирования для освоения.
В пользу простоты Python играет лаконичный синтаксис. Например, блоки кода отделяются отступами, а не скобками, это сокращает количество строк и символов. Еще есть синтаксические конструкции, введение которых позволяет все рутинные задачи по управлению памятью и потоками отдавать интерпретатору Python вместо дополнительного кода. За счет этого разработчик может сосредоточиться на задачах, а не коде как таковом.
Несмотря на критику некоторых аспектов работы Python, например, медленную скорость программ и зависимость языка от системных библиотек, в ближайшие годы он продолжит укреплять свои лидерские позиции в веб-разработке, machine learning, тестировании и DevOps».
Где используют. Чаще всего на Python создают серверы, обрабатывают данные и разрабатывают нейронные сети. После изучения Python можно работать бэкенд-разработчиком или разработчиком в сфере data science. С помощью Python можно «прикрутить» неочевидные функции к программам — это его главное удобство. Например, создать нейронную сеть для определения степени поражения легких, а заодно в этой же программе сделать просмотр снимков КТ.
Сколько платят программисту. Разработчик в крупной компании в Москве, знающий Python, зарабатывает от ₽100 тыс. до ₽250 тыс. При этом спрос на разработчиков в сфере data science растет, поэтому можно рассчитывать даже на более высокую оплату.
Зачем изучать. С помощью Python можно создать бота для мессенджеров или социальных сетей. Или написать программу для парсинга — поиска и переноса информации с разных сайтов в один документ. Такая программа пригодится дизайнерам и журналистам.

Марина Архипцева, ментор курса Data Science в SkillFactory, ETL-разработчик:
«Если следить за индексом TIOBE, то мы увидим, что месяц от месяца лидер меняется, но тройка остается неизменной — Python, Java, C. Собственно поэтому за ежемесячным рейтингом следить не так интересно, а что более любопытно — тот же TIOBE кроме ежемесячного рейтинга ежегодно выбирает язык года, и Python удостаивался этой чести неоднократно с 2003 года (в том числе и в 2023 году). Это лучший показатель среди всех языков программирования. Почему популярность Python растет с каждым годом?
Во-первых, сейчас наблюдается активный рост сферы Data Science. Если проанализировать, например, HeadHunter, то мы обнаружим множество открытых вакансий в данной области. Компании ищут инженеров данных, data scientist’ов, аналитиков данных, специалистов по большим данным, MLops’ов. Конкуренция большая, но спрос все еще превышает предложение на рынке. В 2012 году журнал Harvard Business Review выпустил статью «Data Scientist: The Sexiest Job of the 21st Century», в которой наука о данных была названа самой сексуальной профессией XXI века, и с тех пор, кажется, интерес к этой сфере только растет. И как раз Python является основным инструментом исследователя данных. Во-вторых, у Python обширное комьюнити — на любой вопрос практически со 100% вероятностью найдется ответ на StackOverFlow, главное правильно его сформулировать.
Во-третьих, Python — это язык для всех возрастов. Дети пишут на нем игры, создают миры в Minecraft и сдают ЕГЭ по информатике. Взрослые специалисты, кроме обработки данных, пишут бэкенд на Python и решают множество прикладных задач.
Безусловно, Python — это не идеальный язык и не панацея для всего, но основную тенденцию в мире программирования отлично иллюстрирует внутренний девиз Google: «Использовать Python, там, где можем, C++ — где должны». Здесь имеется в виду, следующее: С++ оптимален для разработки приложений, в которых важна скорость работы. За это приходится расплачиваться высоким порогом входа и сложностью самого языка. Поэтому там, где скорость не критична, Google предпочитает использовать Python».
2. Язык программирования C
C — один из самых старых и популярных языков программирования. Он «легкий» и быстрый, поэтому его используют там, где нужна высокая производительность. Например, для создания драйверов, операционных систем или ПО для микроконтроллеров. При этом C сложно изучить — многое приходится писать с нуля. Если сравнивать языки программирования с автомобилями, то C — гоночный болид, неудобный на городских дорогах, но очень быстрый.
Где используют. С помощью С создают драйвера, пишут ядра операционных систем, а также пишут библиотеки для Python и других языков.
Сколько платят программисту. В Москве разработчик на C получает в среднем от ₽100 тыс. до ₽250 тыс. В других городах зарплаты меньше — от ₽50 тыс. до ₽200 тыс.
Зачем изучать обычным людям. С — это не тот язык, на котором можно легко написать приложение для смартфона или программу для умного дома. Но с него можно начать изучение языков программирования. Учиться непросто, но если справитесь, поймете принцип действия почти всех остальных языков.
3. Язык программирования C++
С++ — кроссплатформенный язык семейства C с расширенными функциями.
Огромное количество программистов пишут на нем код, делятся библиотеками и шаблонами, отвечают на вопросы новичков.
Где используют. Чаще всего на С++ создают операционные системы, драйверы и утилиты. Делают популярные десктопные приложения серий Adobe и Office. Из-за высокой скорости и производительности C++ используют для разработки компьютерных игр. Например, на нем написан популярный движок Unreal Engine.
Движок Unreal Engine создали в 1998 году. Компания Epic Games продолжает выпускать на нем игры. Например, на Unreal Engine работает популярная игра PUBG
Сколько платят программисту. В регионах разработчик на C++ зарабатывает от ₽50 тыс. до ₽150 тыс., в Москве — от ₽100 тыс. до ₽250 тыс. Зарплата зависит не только от города, но и от сферы — в геймдеве можно заработать больше, чем в разработке системных приложений.
Зачем изучать. C++ плохо подходит для решения простых «домашних» задач, но с него можно начать обучение языкам, чтобы понять их структуру и принципы. Если решили изучать, запаситесь терпением — с С++ в полной мере работает принцип «тяжело в учении — легко в бою».
4. Язык программирования Java
Java — кроссплатформенный язык с большим количеством библиотек и большим сообществом разработчиков. Кроссплатформенность — это возможность написать программу один раз и сразу пользоваться ей на нескольких операционных системах: Windows, Linux и MacOS. Благодаря библиотекам Java подойдет практически для всего: работы с графикой, звуком, создания небольших игр. А в большом сообществе начинающий разработчик легко найдет готовые куски кода для разных задач и ответы почти на любые вопросы.
Программисты пользуются библиотеками, чтобы создавать программы быстрее. Библиотека — это набор готовых программ, объектов и функций для решения типовых задач.
Где используют. Java — это язык для всего. На нем пишут мобильные приложения для Android, программы для микроволновых печей и серверы. Для разработки мобильных приложений сейчас все активнее используют язык Kotlin. Но на Java уже написали очень много приложений, которые придется обслуживать и обновлять.
Сколько платят программисту. Зарплаты Java-разработчиков не сильно отличаются от обычных зарплат программистов — от ₽100 тыс. до ₽250 тыс. в Москве.
Зачем изучать. С помощью Java можно создать домашний сервер или приложение для мобильного телефона. Это будет не очень просто, но можно убить двух зайцев одним выстрелом — сделать программу и заодно выучить популярный язык.

5. Язык программирования C#
C# (си-шарп) — язык, изначально придуманный компанией Microsoft, чтобы создавать приложения под Windows. Это объектно-ориентированный язык — его сложнее изучать, но проще использовать, например, меньше писать одинаковый код. С помощью С# можно работать с платформой WPF, которая помогает создавать «красивые» оконные приложения. Например, последние версии MS Office.
Где используют. Чаще всего на C# пишут приложения для Windows и создают компьютерные игры. Например, на C# работает популярный движок Unity. Кроме того, на нем можно разрабатывать системные приложения и создавать библиотеки для С++.
Сколько платят программисту. В регионах разработчики на С# получают от ₽35 тыс. до ₽130 тыс., в Москве — от ₽100 тыс. до ₽250 тыс.
Зачем изучать. С помощью C# можно создать оконное приложение для Windows, например, калькулятор или небольшую игру. Но изучать его сложнее, чем языки для создания мобильных приложений.
6. Язык программирования JavaScript
JavaScript — быстрый кроссплатформенный язык для веб-разработки. С помощью кода на JavaScript разработчик «говорит» странице, как она будет реагировать на действия пользователя. С помощью JS можно показывать пользователю информацию без перезагрузки страницы — так работают выпадающие меню, всплывающие окна, оконные клавиатуры.
При этом у JavaScript есть свои ограничения — он позволяет допускать ошибки, которые затем сложно обнаружить. Поэтому его редко используют для создания сложного программного обеспечения, например, ПО серверов.
Где используют. JS постоянно используют для веб-разработки. На нем удобно создавать мобильные и десктопные приложения, которые будут работать через браузер. Например, Notion, Discord, Visual Studio Code.
Сколько платят программисту. Разработчик на JavaScript в Москве зарабатывает от ₽140 тыс. до ₽300 тыс.
Зачем изучать. С помощью JS можно создать простой сайт или модуль для него, работающий с запросами клиента. Например, онлайн-калькулятор.

7. Язык программирования Visual Basic
Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft. Visual Basic во многом похож на своего предшественника — язык BASIC, у которого есть немало диалектов, у них схожи стиль и синтаксис. Однако при этом Visual Basic также сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.
Где используют. Visual Basic также является хорошим средством быстрой разработки (RAD) приложений баз данных для операционных систем семейства Microsoft Windows. Главной особенностью Visual Basic, отличающей его от большинства языков, стало применение в программировании графического интерфейса.
Сколько платят программисту. От ₽30 тыс. до ₽100 тыс. Средняя зарплата по России ₽62 тыс. Многие программисты считают, что Visual Basic отошел в прошлое — тем не менее, в интернете можно найти хорошие вакансии — и предложения работать за эти деньги удаленно.
Зачем изучать. К достоинствам языка относят достаточно простой синтаксис, что обеспечивает низкий порог входа для начинающих программистов.
8. Язык программирования PHP
PHP — используют в веб-разработке для создания программ, которые работают на сервере и помогают обрабатывать запросы клиентов. PHP постепенно теряет популярность, потому что серверы можно создавать с помощью других языков. Но на PHP до сих пор работают многие ранее созданные сайты, например, «ВКонтакте».
Где используют. С помощью PHP создают программы, которые работают на сервере и помогают отправлять почту с сайта, взаимодействовать с базами данным. PHP облегчает работу интернет-магазинов — можно не создавать 1 тыс. одинаковых страниц, а генерировать их автоматически из базы данных по запросу клиента.
Сколько платят программисту. В регионах PHP-разработчик получает от ₽50 тыс. до ₽120 тыс., в московских компаниях — от ₽80 тыс. до ₽220 тыс.
Зачем изучать. Со знанием PHP легко начать карьеру разработчика. Такой разработчик сможет найти работу, даже если у него мало опыта.

Вакансии PHP-разработчика в Москве на HeadHunter
9. Язык программирования Assembly Language
Assembly Language или язык ассемблера — это язык программирования низкого уровня, который используется внутри операционной системы для того, чтобы в автоматическом режиме преобразовывать исходную программу (заданную компьютеру) на машинный язык. Он работает непосредственно с процессором, и каждая его команда — это инструкция процессора, а не операционной или файловой системы. Перевод языка ассемблера в машинный код называется ассемблированием.
Где используют. Ассемблер используют те, кто работает с железом. На нем пишут драйверы устройств и некоторые компоненты операционных систем — например, ядро или загрузчик. Любительские операционные системы MenuetOS и KolibriOS полностью написаны на ассемблере. На нем также разрабатывают встроенные программы для микроконтроллеров, игровых приставок, его активно используют в реверс-инжиниринге.
Сколько платят программисту. От ₽80 тыс. до ₽300 тыс. в зависимости от уровня квалификации и опыта.
Зачем изучать. Если хотите писать высокопроизводительный код для конкретной аппаратной платформы или устройства. Также Assembly Language пригодится для отладки низкоуровневых проблем в программах или оборудовании. Но учтите, что изучать его сложнее, чем языки более сложного уровня, и его знание не пригодится для понимания других языков, поэтому он не подойдет для новичков.

Общие тренды IT-сферы вне зависимости от языков программирования
Код становится более читабельным. В последние годы разрабатывают все больше приложений, в том числе для мобильных устройств. Приложения становятся все сложнее по архитектуре, их нужно постоянно обновлять и обслуживать — важно, чтобы код можно было легко прочитать и понять. Приложение может жить десять лет. За это время сменится несколько разработчиков, которым нужно будет понимать код, написанный другими. Поэтому важно, чтобы программы не только решали свои задачи, но и были аккуратно, понятно написаны.
Растет популярность мобильной разработки и машинного обучения. Мобильная разработка стала привычным делом за несколько лет. Многие компании запускают только мобильные приложения, не думая об их браузерных и десктопных версиях. Из-за этого сильнее разрабатывают стандарты мобильной разработки. С одной стороны, это усложняет работу, с другой — сообществу выгодно обучить новичков этим стандартам.
Машинное обучение из диковинки становится неотъемлемой частью жизни — предсказывание и обработка данных слишком часто помогают в обычных ситуациях. Становится больше приложений по распознаванию лиц и обработке голосовых сообщений в текст.
Нужно писать код для всех платформ. Платформ становится все больше — например, Apple оснастила свои ноутбуки ARM-процессорами, которые раньше использовала только для смартфонов и планшетов. Поэтому разработчики должны учитывать все существующие технические возможности и писать приложения так, чтобы они работали везде.
Работодатели хотят посмотреть портфолио на GitHub. Если раньше при найме сотрудника работодатели смотрели приложения, к которым программист приложил руку, то теперь даже непрофессионалы все чаще хотят увидеть код. На Гитхабе можно посмотреть все проекты разработчика, увидеть, как он думает и пишет, как развивался и рос.
Программирование молодеет. Дети и подростки изучают программирование на онлайн-курсах или самостоятельно. Из-за этого уже в 13–15 лет они могут писать приложения, выкладывать их в Appstore или GooglePlay и даже зарабатывать деньги. Некоторые из них так начинают карьеру разработчика и конкурируют с выпускниками вузов и более старшими коллегами.

Еще пять статей о программировании
- Программирование с нуля: с чего начать и как выучить
- Вчерашняя техника уже завтра: могут ли устареть языки программирования
- Почему программистам не обойтись без гибких навыков
- Стартап или гигант: что выбирают ИТ-специалисты
- Где брать программистов: почему компании приходят в буткемпы