Какой язык программирования учить в 2020 году?

Отвечают работодатели

Начнем с того, зачем вообще учить языки. За апрель число безработных в России выросло с 3,49 млн человек до 4,29 млн (Росстат), а к октябрю достигло 4,8 млн человек. Это значит, что в этом году людям пришлось менять работу или даже сферу деятельности чаще, чем обычно.

Источник: pixabay.com
Источник: pixabay.com

При этом за время карантина люди ушли в онлайн-сервисы, а значит вырос спрос на программистов, которые эти сервисы разрабатывают и обслуживают. В III квартале 2020 года спрос на IT-специалистов вырос на 73% по сравнению с прошлым кварталом (исследование «Работы.ру»). Если вы хотели начать кодить, то кажется, что самое время учить языки. Только вот какие? Мы спросили у людей из отрасли.

Какой язык учить прямо сейчас? Отвечают работодатели (и не только)

Антон Немкин
Председатель совета фонда «Цифровая долина Сочи»

«Вообще нет языков «трендовых» или устаревших, а есть те, которые решают или не решают вашу задачу.

Понятно, что некоторые языки теряют популярность, например COBOL и FORTRAN. Правда на том же COBOL написаны миллиарды строк, которые требуют обслуживания, но нового ПО на этом языке практически не пишется», — рассказал Немкин.

Немкин считает, что новичок может обратиться к «проверенной классике» типа С++ и Python. Последний — это стандарт для работы с нейросетями и big data, то есть самыми актуальными областями.

По мнению Немкина, «что касается стека Microsoft, то там традиционно рулит язык С#, а в браузерах безраздельно властвует Java Script».

А самыми актуальными Немкин назвал язык Go и языки мобильной разработки — Swift и Kotlin. По его словам, эти языки «уже набрали обороты и никому уступать не собираются.

Максим Индыков
Технический директор CRM «Пачка»

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

«С точки зрения перспектив совершенно не важно, разработка это под Android или Apple. Можно руководствоваться тем, устройства какого производителя вам больше нравится или просто есть сейчас на руках», — советует Индыков.

В качестве языков мобильной разработки Индыков говорит о Swift для Apple и Kotlin для Android:

«Оба языка молодые и поддерживаются очень активным сообществом разработчиков. Для них написаны современные обучающие материалы от самих Apple и Google. К тому же сейчас есть отчетливый тренд на мобильные приложения – это заметно на появлении так называемых суперприложений (например, Яндекс Go, Сбер, Вконтакте и т.д.)»

Даниил Бондарь
Разработчик в «IU Dev»

Бондарь упомянул о том, что сейчас даже в сфере образования начинают отказываться от обучения языкам С/С++ в пользу более современных - C#, Python, Java:

«Наиболее легким для начала считается Python. С другой стороны, обучение языкам С/С++ дает разработчику уверенную базу, знакомит с алгоритмами и структурами данных»

Бондарь рекомендует обратить внимание на Python — «легок в освоении, очень похож на английский язык, позволяет вести быструю разработку масштабных проектов». А также на Go и Java, говоря о кроссплатформенности последнего.

Николай Сокорнов
Директор департамента разработки ПО компании «Рексофт»

Сокорнов не рекомендует на начальном этапе обучения не гнаться за новыми, модными языками типа Go, Rust, так как «еще до конца непонятно, переживут ли они первую стадию своего роста и развития».

По мнению Сокорнова, новичку лучше определиться что ему ближе: backend или frontend-разработка и выбрать что-то устоявшееся и проверенное временем. Например, для backend — это Java, для frontend — Java Script.

«Java развивается уже почти 25 лет, и, в отличие от новомодных языков, ориентированных на решение каких-то конкретных задач, закрывает почти все области прикладной разработки: структуры данных, многопоточность, имеет множество проверенных фреймворков для реализации всех возможных архитектур: от классической клиент-серверной до организации микросервисов и средств для функционального программирования», — считает Сокорнов.

Как и другие эксперты, Сокорнов упоминает Python, называя его удивительным языком, в котором нет ограничений:

«Это и хорошо, и плохо одновременно. Хорошо, потому что буквально через неделю можно начать писать на Python достаточно сложные вещи. Но написать серьезную систему по количеству сущностей и объектов с большим количеством связей между ними достаточно проблематично. Для этого нужно иметь сильные аналитические способности, хорошо структурированное мышление и четко понимать, что ты делаешь»

Сокорнов считает, что Python прекрасен для реализации небольших задач, где «логику легко удержать в голове»

Алексей Галиев
Директор клиентского направления в involta

По мнению Галиева, в web-разработке не теряет свой актуальности язык PHP, на котором написана львиная доля всех сайтов в Интернете. Он называет его «базовым, довольно «древним» языком с невысоким порогом входа»

Как и спикеры выше, Галиев упоминает Python в качестве языка, простого для обучения. А для бэкенд-разработки он рекомендует обратить внимание на JavaScript и программную платформу Node.js («нода»).

В качестве перспективных Галиев называет языки Kotlin и Swift.

«Когда Kotlin появился, он исправил все недостатки языка Java и этим завоевал славу, почет и признание. У него много собственных возможностей и менее громоздкий синтаксис. Чтобы научиться писать на Swift, нужно, как минимум, иметь «яблочный» компьютер. Кроме того, придется выучить еще один язык, используемый корпорацией Apple – Objective C, так как многие операции прописаны на нем. Зато iOS-разработчики всегда нужны и везде требуются», — рассказал Галиев.

Ну а что ещё?

При выборе языка нужно понимать, что языки не используется в «голом» виде – обязательно нужно знать основы верстки и принципы работы баз данных, считает Галиев.

Антон Немкин упомянул о том, что при изучении языка стоит обратить внимание на уже имеющиеся библиотеки кода. Он советует заранее узнать, где находятся уже готовые решения по вашему языку (например, для Python – это Requests и Simplejson), чтобы вам «не пришлось лишний раз изобретать велосипед».

Источник: requests.readthedocs.io
Источник: requests.readthedocs.io

«Ну а ещё я бы не советовал новичкам хвататься сразу за несколько языков. С точки зрения работодателя лучше уметь реализовывать сложные решения на одном языке, чем знать три по верхам. Расширять свой кругозор и интересоваться другими языками, конечно, стоит, но не всё сразу», — добавил Немкин.

Сокорнов обращает внимание на то, что необходимо знать не только язык программирования и фреймворки, но также инструменты и процессы, которые используются в промышленной разработке ПО. Это не только среда разработки, но и средства для хранения кода (версионирование кода, например, GIT), таск-трекинга (например, Jira или Redmine), системы для сборки проектов (например, Maven или Gradle).

А что думает TIOBE?

Индекс TIOBE (TIOBE programming community index) — довольно известный среди программистов показатель оценки популярности того или иного языка. Он формирует за счет подсчета результатов поисковых запросов, то есть как часто гуглят тот или иной язык на разных порталах.

И за ноябрь 2020 года здесь всё, как в ответах выше — «питон», «джава» и «си» с его потомками.

источник: tiobe.com/tiobe-index/
источник: tiobe.com/tiobe-index/

Индекс не ранжирует языки по качеству или количеству написанного кода, но, как минимум, показывает степень интереса к ним. А значит говорит об актуальности: обычно язык гуглят люди, которые работают с ним, или те, которые изучают и ищут туториалы.

Какой язык изучаете или рекомендуете изучать вы?
C++/C
Java
Python
Swift/Kotlin
С#
Java Script
Ruby
Другое
99
29 комментариев

Комментарий недоступен

10

Комментарий недоступен

И начинать надо со школы. А то там все еще обучают 5 уроков, что такое мышка, клавиатура и монитор.

1

Последние лет 7 задавались тренды в разработке такие как RX, async/await именно из c#/.net 
майки норм за него взялись. Фичи, подходы растаскивали в другие языки, (в чем майки содействовали, тот же rx/linq) но рынок не перенасыщен .net разработчиками, хайпа особо нет (как у питона на каждом шагу), комьюнити большое, язык и среда развивается да и ценник там норм, мест всем хватает, порог вхождения только высокий, но и сервисы на нем не для визиток пилят. В общем кто наткнулся на этот комментарий, рекомендую приглядеться к C#

5

А для бэкенд-разработки он рекомендует обратить внимание на JavaScript и программную платформу Node.jsИ желательно сразу на ts. Подойдёт фреймфорк nestjs.
P.S. зря Java/Java Script одним пунктом сделали в опросе. Совсем разные ниши.

4

Спасибо за замечание. Знаете, да, наверное, стоит выделить Java Script в отдельный вариант

Комментарий недоступен

2