Написать пост

Какие языки программирования сейчас наиболее перспективны для изучения? — Отвечают эксперты Tproger

Аватар Лапа

Обложка поста Какие языки программирования сейчас наиболее перспективны для изучения? — Отвечают эксперты Tproger

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

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

C#, C/C++, Java, JavaScript.

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

Для ответа на этот вопрос можно воспользоваться каким-нибудь из рейтингов языков программирования, например, TIOBE. Он показывает популярность того или иного языка программирования, используя данные из интернет – например, насколько много вопросов по этому языку есть на профессиональных сайтах. Можно поискать и другие данные, например, зависимость зарплаты от языка программирования.

Здесь есть два ответа. Один — «попсовый». Конечно, надо изучать языки программирования, которые в фаворе в последнее время. Огромным рынком сейчас являются мобильные приложения, а поэтому Java и Swift — ваш выбор. Можно создавать интересные приложения и смотреть, как растет счетчик установок.

С другой стороны, этот вопрос подобен вопросу «Я хочу стать историком, какой период в истории самый интересный, что мне изучать»? Да они все интересны. И вот тут, возможно, будет справедливо сказать, что развивая себя, надо изучать РАЗНЫЕ языки с разными концепциями. Например, посмотрев на C, J, G, Haskell, Java и Prolog, можно очень сильно вдохновиться некоторыми идеями и увидеть, как языки иногда взаимно влияют друг на друга, понять, как в каждом из них решаются одинаковые проблемы. Перспектива такого изучения в том, что вы очень многое понимаете про вычислимость, алгоритмы, архитектуру программ, вам проще воспринимать и адаптироваться к новым языкам программирования, которые все время появляются в индустрии.

Можно отметить динамично развивающийся Python, необходимый для front-end JS, уютные C# и Java, ну и C\C++ для любителей хардкора ?

Прежде чем ответить на вопрос — есть несколько замечаний:

  • Наше будущее (и уже настоящее) — это многопроцессорные системы, распределенные вычисления, виртуальные среды. Соответственно, чтобы писать эффективный код, надо понимать, как работает код в многопроцессорной системе. Для этого надо понимать, как ОС работает с процессором, как компилятор оптимизирует код, ну и вообще знать, что из себя представляет многопоточное программирование. Необходимо разобраться с распределенными и облачными вычислениями и понимать, какой код будет эффективно работать как локально, так и в виртуальном облаке.
  • Программы работают не в вакууме — они что-то получают на вход, что-то с этим делают и выдают результат. На вход обычно приходят какие-то данные, полученные из DB или сети. Соответственно, нужно хорошо понимать структуры данных, их возможности и эффективность. Разумеется, нужно знать алгоритмы обработки и преобразования данных. Еще надо изучить SQL и NoSQL базы данных, чтобы иметь представление, как эффективно получать, использовать и модифицировать данные.
  • Современный программист — это не просто человек, пишущий код, он активно взаимодействует с окружающим миром. Сейчас все больше команд, в которых люди работают удаленно. Нужно уметь эффективно взаимодействовать с людьми, где бы они ни находились. И в будущем значение так называемых soft skills будет только расти.
  • Если хочется заниматься наукой, то видится, что в будущем будет только расти значение следующих областей: алгоритмы обработки данных (BigData), Machine Learning, переводчики, распознавание всего (речь, образы).
  • Учи английский! На первый взгляд это не имеет прямого отношения с программированию, а на второй — без хорошего знания невозможно стать программистом будущего!

Из сказанного получается вывод, что по большому счету все равно, какой язык программирования изучать. Нужно в первую очередь прокачивать вышеперечисленные компетенции, тогда любой язык программирования будет просто новым синтаксисом! Но есть еще один вывод: все-таки какой-то язык программирования изучить придется! ? Вот свежий индекс TIOBE, брать надо что-то сверху списка.

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

Нативный Javascript — потому что он всё больше приходит в нашу жизнь и завоевывает различные ее области: desktop-приложения, мобильные приложение, программы для микроконтроллеров и дронов, игры, бэкэнд, фронтенд и прочие виды приложений уже сейчас можно писать на этом языке. По данным GitHut, JS занимает первое место среди языков репозиториев GitHub.

Typescript — потому что эта надстройка дает возможность писать в ООП-стиле на Javascript.

Напоминаем, что вы можете задать свой вопрос или присоединиться к числу экспертов.

Для начинающих
Языки программирования
Обучение программированию
81318