{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

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

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

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

Источник: 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

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

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

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

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

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

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

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

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

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Антон Немкин

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Василий Старовойтов

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

Ответить
Развернуть ветку
Andrei Apanasik
А для бэкенд-разработки он рекомендует обратить внимание на JavaScript и программную платформу Node.js

И желательно сразу на ts. Подойдёт фреймфорк nestjs.
P.S. зря Java/Java Script одним пунктом сделали в опросе. Совсем разные ниши.

Ответить
Развернуть ветку
иван Большов
Автор

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

Ответить
Развернуть ветку
Artem Petrenkov

Вы просто в один пункт засунули два разных языка, которые похожи только названием.

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Арт П

Ирак/Иран, Июнь/Июль - одно и то же. Честно говоря, такие глупые ошибки ставят под сомнение компетентность автора статьи - он слабо понимает о чем пишет. 

Ответить
Развернуть ветку
Д Хб

Неудачное сравнение. Ваши пары сущностей граничат друг с другом. П.с. Не заметил разницу между июнем и июлем😂

Ответить
Развернуть ветку
Alexander Ponomarev

Странно, что не увидел ruby. Или пропустил где то?

Ответить
Развернуть ветку
иван Большов
Автор

К сожалению, об этом языке никто из опрошенных экспертов не вспомнил (если я, конечно, ничего не упустил). Добавил Ruby в опрос)

Ответить
Развернуть ветку
Corvus Cornix

А жаль. Понятно, что Ruby  сейчас не на пике славы и перспективы его туманны, но сам язык очень классный. Писать на нем приятней даже, чем на Python, не говоря уже про JS. 

Ответить
Развернуть ветку
Alexander Ponomarev

Обожаю рельсы. Процесс разработки процентов на 40 минимум быстрее чем на том же питоне

Ответить
Развернуть ветку
Арт П

Сфера его применения ограничивается сейчас только фреймворком rails и используют его только для веб-бекенда. Не самый отличный вариант для начала. Тот же python куда более многогранен, не говоря про java

Ответить
Развернуть ветку
Alexander Ponomarev

Ну никто про рельсы и не говорит что он для новичков. Наоборот-рельсы НЕ для новичков. И да, только бэк веба. Да, он не так многогранен как питон. Но раз в этой статье сравниваются языки впринципе: Свифт с питоном, Java c JS, то из всего что есть я для большинства задач для бэка веба выберу рельсы, чем питон. И сделаю гораздо быстрее и код мой будет короче ох как на много.

Ответить
Развернуть ветку
Арт П

Бек беку рознь

Ответить
Развернуть ветку
Саша Щепановский

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Alexander Dmitriev

Учить надо английский язык и чем раньше, тем лучше. Любой современный ЯП осваивактся за месяц на реальном проекте, а тонкости в течении полу года. 

Ответить
Развернуть ветку
Арт П

Насмешили. Когда ты сеньор, то да, но новичкам нужно проделать куда больше работы. 

Ответить
Развернуть ветку
Alexander Dmitriev

Ничего смешного не вижу, я сам несколько джунов обучил, и через месяц, обычно, совсем без опыта выходят на уровень джуна. Есть конечно уникальные товарищи, которые не обучаемы совсем, но это редкость. 

Ответить
Развернуть ветку
Арт П

С нуля до джуна за месяц? Наверное, у нас с вами очень разные представления об уровне джунов 

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Арт П

Хаскель очень крутой, но он фактически никому не нужен. Новичкам его советовать очень глупо. 

Ответить
Развернуть ветку
26 комментариев
Раскрывать всегда