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

Автор: Петр Арсентьев, 27.05.2018


Choose language

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


Когда я начинал свой путь программиста, у меня не было дилеммы, какой язык взять. Друг устроился в фирму Java программистом и позвал туда с собой. Это было на последних курсах института, и тогда мне было 20 лет.
Периодически мне задают вопрос, какой язык выбрать и почему? В этом статье я хочу поделиться идеями по этому поводу.
Прежде чем начать писать эту статью, я поискал, что же советуют другие люди.
Советуют начинать выбор с определения, какие программы хочется писать!
Когда я искал работу единственное, что я хотел делать - это только писать программы. Мне было все равно какие программы писать, важен был сам процесс. Хотел разрабатывать все подряд: игры, сайты, приложения для бизнеса, драйверы для железа. Я уверен, что каждый, кто стоит на пути выбора языка, имеет такое же состояние.

Все языки программирования можно разбить на три большие группы.

Каждая группа имеет свои достоинства и недостатки. В зависимости от твоей текущей ситуации тебе подойдет одна из групп.

1. Языки для разработки программ для управления устройствами.

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

К этим языкам относятся: С, С++.

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

Получить такие знания можно только в ВУЗе, которые выпускают программистов.
Чтобы стать программистов в этой группе нужно 5 лет.

Ситуация на рынке труда : 3 248 вакансий «С++»

• от 70 000 руб.1006
• от 130 000 руб.561
• от 185 000 руб.287
• от 245 000 руб.127
• от 305 000 руб.77

Эта группа подходит тебе, если ты еще школьник или студент, тебе нравится математика, физика, алгоритмы. Если ты старше 20 лет, то время уже упущено и тратить время на эти языки бессмысленно. Ты не сможешь найти работу.
Real goals

2. Языки для разработки бизнес приложений.

Примеры: социальные сети, банковские онлайн офисы, площадки для торговли акциями.

К этим языкам относятся: Java, Python, C#, Ruby.

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

Время обучения : < 1 года.

Ситуация на рынке труда: 5 891 вакансия «Java»

• от 65 000 руб.1523
• от 130 000 руб.901
• от 195 000 руб.479
• от 260 000 руб.200
• от 320 000 руб.86

В эту группу подходят большинство. Здесь убраны сложные моменты, связанные с работой с памятью, указателями. С другой стороны, сами языки легки для освоения, они имеют понятный и простой синтаксис, строгие конструкции, используют парадигмы ООП. Так же программист может заниматься разработкой, как серверной стороны, так и клиентской. Я отдаю личное предпочтения этой группе языков, как первый язык для изучения программирования. Lots of offers

3. Языки для разработки web клиентов.

К этим языкам относятся: HTML, CSS, JS.

Порог вхождения низкий. Спектр задач однообразный. Сайт должен быть привлекательным и мало весить, чтобы быстро загружался. Здесь не будут требовать алгоритмы, знаний баз данных или математики.
У этой группы есть одно огромное преимущество – огромный рынок труда.

Стать программистом этой группы можно с помощью курсов меньше чем за пол года.

Статистика рынка.

9 459 вакансий «js»

В два раза больше чем вторая группа и в три раза чем первая.

• от 55 000 руб.3468
• от 110 000 руб.1803
• от 165 000 руб.776
• от 225 000 руб.278
• от 280 000 руб.146


Эта группа подходит больше для творческих личностей. Если вы пробовали себя в качестве дизайнера или знакомы с Photoshop – это ваш вариант. Здесь не будет ООП, алгоритмов. Design
Нужно отдельно сказать пару слов про JS – я настоятельно не рекомендую выбрать этот язык в качестве языка для изучения парадигм программирования. В рынке сейчас большая шумиха по поводу того, что JS заменит все языки программирования. Это лидирующий язык. Он лидирующий, потому что для клиентской части других языков нет. Они не прижились. Но на серверной стороне использование JS - это редкость.

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

Не вошедшие.

Я не упомянул здесь мобильную разработку и настольные приложения, потому что они относятся к первой и второй группе. Про андроид рассказано тут.
Так же пару слов про 1С – порог вхождения предельно низкий. Но рынок только русский, из-за этого развитие 1С программиста быстро достигает потолка. У меня много учеников из 1С программистов. Они быстро переучиваются на Java ).

Подведем итог.

Сonclusion Выберите один язык из второй группы : Java, Python, C#, Ruby.