С какого языка начать изучение программирования?
Каждый начинающий программист задается этим вопросом. Многие начинают свое изучение программирования, открыв ночью Яндекс или Google. Обычно ищут что-то вроде «Как выучить…». Но как, человек, который так пишет, выбирает какой язык ему лучше изучить первым?
Кто-то, начитавшись сайтов и блогов крупнейших компьютерных компаний, рассуждает так: «В Кремниевой долине что ни слово – то Java. Думаю, это – то, что мне нужно».
Новичкам я бы рекомендовала для начала понять, что язык — это инструмент в работе программиста. Очень важно владеть им уверенно, чтобы создавать рабочий и хороший код, но на первом месте конечно же мастерство самого разработчика, а не язык, на котором он пишет.
Обучение на IT-рынке всегда идет вперёд и продолжается постоянно, и через какое-то время, вы будете работать, и владеть несколькими языками, инструментами и технологиями. Сначала все будет не просто, но со временем, шаг за шагом все получится, главное не бросать все на полпути.
Рассмотрим языки программирования по нескольким критериям:
1. По популярности
По версии TIOBE Index, Python стал языком 2018 года. В январе 2019 года в ТОП-3 популярных языков программирования входят Java, все языки С и Python. В Топ-10 TIOBE Index также входят: C++, Visual Basic. NET, JavaScript, C шарп, PHP, SQL, Objective-C.
2. По доступности
Python, JavaScript, Swift, Ruby, Java изучаються довольно легко.
3. По деньгам
На разных рынках, ваши работы будут оцениваться по разному. Например, в Кремниевой долине в разы выше. Много достойных вакансий для тех, кто пишет на Java (разработкой под Android) и Java Script; на С/С++, а также на Objective-С и Swift (разработка под iOS). Доступные и популярные языки, такие как Java или JavaScript (JS), а также языки (С/С++), приносят хорошие деньги и позволяют быстро находить работу в России и за рубежом.
4. По спектру применений
· С и С++
Для тех, кто знает С/С++, много работы. Программисты всегда находятся в хорошей форме, у них имеется большое комьюнити. Язык С/С++ имеет широкое применение. Так же он повлиял на развитие других популярных языков, а значит, вам будет легче изучить что-то новое. С++ это мультипарадигмальный язык общего назначения.
· Java
Широкое применение: Android-приложения, серверные приложения в больших компаниях, автоматизация тестирования, и др.
· JavaScript
Node.js превращает JavaScript в язык общего назначения. Подходит и в работе тестировщика, QA-инженера.
· C шарп
Не самый простой язык для освоения его как первым. Интересные сферы применения: игры; веб-сервисы; облачные сервисы; десктопные, мобильные, кроссплатформенные приложения и др.
· Python
AI, игры, Big Data, веб, mobile и др.
5. По намерениям
Определитесь, что именно вы хотите создавать!
· Если хотите создавать сайты и веб-приложения то :
Java, JavaScript, HTML 5, Ruby, Python, SQL, PHP
· Если хотите создавать приложения для айфона то:
Swift (потребуется макбук или iPad с клавиатурой, чтобы писать код). Коммерческому iOS-разработчику нужно знать Objective-С и Swift.
· Если хотите создавать приложения для андройда то:
Java и Kotlin
· Если хотите работать с темой Al то:
Python, C/C++
· Если хотите работать с данными то:
Python, Java, R, Scala
· Если хотите работать в геймдев то:
Базис – С# и среда Unity
· Если хотите понять, как все работает то:
С/C++
· Если хотите работать в робототехнике то:
С/C++
· Если хотите быстро сделать свой стартап то:
Ruby, Java, Swift, JavaScript
Так же выбирая первый язык для своих начинаний, нужно учитывать следующие факторы:
· Рынок труда
· Долгосрочные перспективы языка.
· Сложность изучения языка.
· Что именно вы сможете создать в процессе изучения, и, показав окружающим, поддержать мотивацию.
Удачной учёбы!
В итоге хочу сказать вам вот что. Если кто-то вас будут доставать только потому, что вы изучаете менее популярный язык программирования, а не «хит сезона», просто вспомните знаменитые слова Бьёрна Страуструпа, человека, который создал C++: «Существует лишь два вида языков программирования: те, которые постоянно ругают, и те, которыми никто не пользуется».
Удачи в изучении вашего первого языка программирования, главное не сдавайтесь и идите к своей цели!!!