3 вопроса при выборе первого языка программирования
Каждый человек, начинающий изучать IT, встает перед выбором - какой язык изучать?
Соцсети пестрят приглашениями на курсы по Python, в книжных магазинах лежат справочники по SQL. В школе на уроках информатики учили писать сайты на HTML, а приятель ухмыляется, когда ему говоришь о намерении учить HTML и клепать классные сайты.
Так с чего же начать?
Сначала следует ответить себе на 3 вопроса:
1. Цель.
Можно учить язык программирования для саморазвития, для использования его как инструментарий в сторонних областях или непосредственно для дальнейшей работы в IT.
Существуют языки, с которых преподаватели рекомендуют начинать изучение программирования, а есть языки для создания высокоуровневых систем и приложений. Например, для целей обучения подойдет Pascal, а самым универсальным языком для создания приложений на сегодня является Java.
2. Время.
Если вы учитесь в школе, начинайте с любого языка, освойте язык в той или иной степени и в дальнейшем выучите еще один или два языка прежде, чем приступите к работе в компании или на фрилансе.
Если планируете начать работу в IT как можно быстрее, выбирайте те языки, которые сегодня востребованы на рынке. Чтобы определить эти языки, просмотрите вакансии в желаемом регионе.
3. Специализация.
С этой частью возникают проблемы у начинающих.
Планируете ли вы создавать приложения для банков или бухгалтерии, хотите писать игры или программировать искуственный интеллект, планируете создавать сайты или заниматься научными расчетами? Приложения будут работать в браузере или в мобильных телефонах? Ответы на указанные вопросы влияют на выбор используемого языка. И вряд ли каждая из описанных систем будет использовать исключительно один язык.
Современные языки программирования с назначением.
- Проекты для финтех, фудтех корпораций - Java и C#.
- Web-сайты - Java Script. *HTML, CSS - это языки разметки, но не программирования*.
- Data Science, наука, графика или не определились - Python.
- Микроконтроллеры, железо, навигационное оборудование - С.
- Игры, роботы - C++, Ruby.
- Базы данных, хранилища - SQL, PSQL.
- Серверные и сетевые технологии - Go.
- Мобильные приложения Android - Java, Kotlin.
- Мобильные приложения iOS - Swift.
- Бухгалтерия, учет(для России) - 1С.
- Обработка текста, антиспам, антивирусы - Haskell.
Что почитать.
Содержательный подкаст с преподавателем СПбГУ на тему изучения языков программирования - https://podlodka.io/200