При изучении языка программирования существуют две основные ситуации с которыми ты можешь столкнуться:
- Это может быть твой первый язык и в целом ты знаком на Computer Science на уровне обычного пользователя;
- Ты уже изучал другой язык и сейчас хочешь освоить новый.
Для каждого из двух этих вариантов подход достаточно сильно отличается, поэтому давай рассмотрим их по очереди.
Если до этого ты вообще не сталкивался с программированием, для начала тебе нужно сконцентрироваться на базовых концепциях программирования и элементарных понятиях, узнать устройство компьютеров и хорошо вникнуть в принципы работы операционных систем. Это намного упростит дальнейшее понимание изучаемого материала. В качестве рекомендации рекомендую ознакомиться с Гарвардским курсам по основам программирования CS50. Он есть в открытом доступе и на русском языке. Найти можно самостоятельно или посмотреть в моей группе Вконтакте.
После изучения базовых знаний Computer Science уже можно приступать к изучению языка программирования. Начинай всегда с самых основ и не концентрируйся на конкретных библиотеках или технологиях – это только отвлечет тебя от понимания синтаксиса языка. Для примера возьму мой любимый C#. Даже если ты хочешь стать Web-разработчиком и планируешь изучать ASP.NET Core, для начала работай с обычными консольными приложениями. Это позволит существенно сэкономить время на разработке интерфейсов и настройке приложения, меньше базового кода – меньше ошибок, которые ты можешь допустить. Плюс ты не будешь рассеивать внимание на конкретные тонкости платформы, отвлекаясь от того, что тебе действительно нужно на начальном этапе – изучение синтаксиса.
И уже после того, как ты хорошо узнаешь сам язык программирования, связанные с ним технологии, алгоритмы и структуры можно переходить к настоящей практике на той технологии, с которой ты планируешь в дальнейшем работать. Но не затягивай слишком долго процесс простого изучения. Создай свой собственный проект, постепенно модернизируй и улучшай его. Это нормально, что ты будешь допускать ошибки и много всего исправлять и переписывать. Никто не становился матером программирования с рождения – это такой же навык, как и любой другой, и в процессе изучения вероятны ошибки. Ошибается только то, кто ничего не делает. И не забывай просить делать код ревью твоего проекта опытных специалистов – это очень полезный источник информации.
Из полезных советов могу порекомендовать периодически ходить на собеседования, даже если ты не собираешься менять или устраиваться на работу. Это позволяет хорошо определить те пробелы в знаниях, которые было бы хорошо закрыть в первую очередь. Да и если повезет, всегда есть вероятность получить вкусное предложение, от которого не захочется отказываться, или как минимум наладить контакты. Но ни в коем случае не нужно идти, если ты ничего не знаешь. Это только создаст плохое впечатление. Идя на собеседование, нужно уже обладать набором знаний, предварительно можно попросить друга поспрашивать типичные вопросы, а уже на основе этого принимать решение об отправке резюме.
Для тех же, кто уже знает любой другой язык программирования процесс изучения становится на порядок быстрее и проще. Как минимум это связано с тем, что ты знаешь Computer Science на должном уровне, а также уже сталкивался с алгоритмами и проектированием программ. В твоем мозге уже есть образ мышления программиста, который нужно просто немного адаптировать под другой синтаксис. Для этого опять-таки хорошо подходит создание своего собственного проекта. Например, ты можешь заново переписать свои прошлые работы на новом языке, или даже сразу попробовать взять несложный заказ на разработку и с гуглом и справочником практически изучить синтаксис.
По срокам обучения все может быть очень индивидуально. Но если брать приблизительное значения для первого языка это может быть от 3 месяцев до одного года. При изучении второго и последующих языков от двух недель до двух месяцев. И я еще раз уточню, для обучения очень важна регулярность, лучше уделять немного времени каждый день, чем подолгу, но один раз в неделю. И большее предпочтение отдавать практике, чем только чтению или просмотру видео. И тогда все должно получиться.
Большое спасибо за прочтение! Пожалуйста, поставь лайк и подпишись на канал, чтобы не пропустить свежие статьи. Этим ты очень поможешь развитию блога!
Также рекомендую прочитать статью Какой язык программирования учить