С чего начать свой путь в программировании? Уверен, что нет универсального ответа на этот вопрос. Любой специалист составляет советы опираясь на свой опыт. Итак, с чего начать?
Если верить рейтингу PYPL (PopularitY of Programming Language), который берет за основу поисковые Google-запросы в различных странах. По данным на январь 2020, в тройку лидеров входят следующие языки программирования:
- Python. Популярность: 29.72 %, по сравнению с прошлым годом увеличилась на 4.3 %
- Java. Популярность: 19.03 %, по сравнению с прошлым годом уменьшилась на 1.9 %
- Javascript. Популярность: 8.2 %, по сравнению с прошлым годом увеличилась на 0.1 %
Один из наших backend-разработчиков начал свой путь в разработке, просто вбив в строке поисковика - «топ-10 языков программирования». По его собственному признанию, Java выбрал «на хайпе». Изучил направление, прошел курсы, нашел ментора, решился на стажировку - и вот Влад в нашей команде.
Любопытный факт: если вы много слышали о языке, даже не будучи в мире IT, то и с него можно начать свою карьеру.
С чего начать
- Подтяните английский язык
Самые лучшие, полные и актуальные источники информации только на английском, и незнание языка будет вас ощутимо сковывать: лишит возможностей профильного общения с иностранными коллегами и получения новых сведений из первоисточников. К тому же, переводы появляются не всегда и, случается, с искажениями.
- Определитесь со сферой разработки
Существует огромное количество ответвлений, каждое из которых обладает своей спецификой:
- Создание web/desktop/серверных приложений;
- Разработка мобильных приложений нa Android/iOS;
- Программирование встраиваемых систем;
- Системное программирование;
- Game Dev;
- Олимпиадное программирование;
- Работа на основе 1C;
- Программирование баз данных;
- Научная теория
Очевидно, что инструменты для создания мобильных приложений не подойдут для разработки мощных высокоинтеллектуальных систем, а изучение, например, Fortran и Lisp могут быть полезны разве что в научных целях.
Что выбрать
Итак, вы определились с тем, чем хотите заниматься и на что готовы тратить все свое свободное (и не только) время как минимум полгода. Но выбирая первый язык программирования, стоит обратить внимание на следующие факторы:
- Перспективы языка и его популярность на текущий момент;
- Сложность изучения;
- Величина комьюнити;
- Размер заработной платы;
- Рынок вакансий
Советы практикующих разработчиков "Инфомаксимум"
Java
Владимир Бухаркин, backend-разработчик
Я работаю с Java, это один из основных языков программирования "Инфомаксимум", поскольку позволяет работать над созданием сложных высокоинтеллектуальных систем. Язык относительно прост, типизирован и, что важно, предсказуем, это дает возможность учиться думать в правильном направлении. Большой спектр библиотек и отличный принцип: “Написать один раз и использовать всегда”. Удобно.
В корпоративной разработке более двух лет, до этого пробовал с C++, php и JavaScript. Считаю, что отличным стартом для любого начинающего специалиста будут курсы, например, от JavaRush, поскольку он ориентирован на практику: написание кода, решение реальных задачек.
Чтение книг по программированию и алгоритмам — обязательно, кроме того советую завести собственный pet-проект. Много интересных материалов у Техносферы, Технопарка, Otus.
С++
Вечная тема - мощный C++. Любимый язык большинства учебных заведений, но разобраться в нем новичку будет куда сложнее, чем с другим языком. Однако я сам начинал именно с “плюсов”, благодаря ему же написана наша флагманская разработка, первая российская система класса process mining Proceset. С++ - столп идей объектно-ориентированного программирования (ООП), на его изучение времени уйдет много большое, придется приложить максимум усилий для понимания. Начать учить можно, как и любой другой язык, с базовых основ - синтаксиса. Для этого будет полезно изучить труд Майкла Физерса — «Эффективная работа с унаследованным кодом», где подробно расписано, как читать, исправлять и совершенствовать свой код с примерами на C++.
Kotlin
Не самый популярный, но совершенно точно с перспективой - Kotlin. В рейтинге PYPL он поднялся на три пункта за год, обходя более известные Go и Ruby. На самом популярном ресурсе по поиску работы в нашей стране более тысячи вакансий с указанием Kotlin.
Роман Гордеев, backend-разработчик
Kotlin - очень интересный язык: “молодой”, универсальный и бурно развивающийся. Его особенности в том, что, во-первых, он кроссплатформенный, во-вторых - дает возможность писать серверный код и UI, создавать мобильные приложения. Относительно простой синтаксис позволяет использовать в работе те же инструменты, что и на Java. Преимущество же Kotlin в том, что можно внедрять в код уже написанные на Java приложения, но сам он при этом более лаконичный. Выразить мысли проще, вероятность появления ошибок меньше.
Однако главное, что нужно вам знать - любой, даже самый сложный язык программирования - лишь инструмент, который отображает ваши навыки как разработчика. И если вы хотите в будущем довольствоваться не только junior-уровнем, но стать ведущим специалистом в этой области, вам нужно прийти к пониманию того, как все устроено.
Неважно, с чего именно вы начнете в IT. Главное - это сделать первый шаг, не бояться ошибиться и не терять терпения. Оно вам очень пригодится!