5 способов быстрее научиться программировать
Изучение программирования — не то, чем можно заниматься между делом. Но не нужно тратить всю жизнь, чтобы понять основы. Есть множество способов облегчить себе обучение.
Нередко бывает, что новички начинают учиться, уже зная что-то о программировании. Сначала всё идёт хорошо, но по мере дальнейшего изучения начинаются проблемы. Почему? Новички быстро пробегают вступительную часть, думая, что и так всё знают, но на деле это бывает редко. Они знают часть материала, но этого недостаточно, чтобы хорошо понять основы.
В то же время нельзя прекращать развиваться. Вы можете двигаться медленно или быстро, но не пропускайте ни одну тему. Осваивая больше материалов, вы создаёте себе фундамент для будущего.
1. Изучайте примеры кода
Говоря о чтении, мы обычно подразумеваем чтение слов на странице, но программирование — это про чтение кода. Когда вы только учитесь программировать, вы должны изучать и пытаться понять каждый пример. Можно даже сперва читать и пытаться понять примеры кода, а уже потом читать текст. Это не всегда срабатывает, но зато учит смотреть код внимательно и вникать в каждую деталь.
2. Не просто читайте примеры кода — запускайте их!
Когда вы читаете обучающее руководство или учебник, легко посмотреть на пример и сказать: «Я понял, я понял. Да, в этом есть смысл». Конечно, вы могли понять его, но вы не знаете наверняка действительно ли вы поняли его правильно. Есть лишь один способ выяснить — сделать что-то с кодом.
Если вы до сих пор не сделали этого, установите среду разработки (IDE), которая поддерживает ваш язык программирования.
Затем перенесите пример в IDE — если вы набьёте его вместо того чтобы просто скопировать, вы действительно пройдётесь по нему от начала до конца. Ввод кода заставит вас уделять внимание деталям синтаксиса языка, например точкам с запятыми, которыми должна заканчиваться каждая строка.
Теперь скомпилируйте и запустите код. Убедитесь, что он делает именно то, что должен.
И наконец, измените его. Программа — самый легко изменяемый механизм на Земле. Вы можете экспериментировать и смотреть, что происходит. Изменения будут происходить мгновенно, без риска смерти или получения увечий. Самый простой способ изучить язык программирования — взять работающий код и изменить его.
3. Начните писать свой код как можно раньше
Как только вы что-то поймёте про язык — даже если от него у вас уже кружится голова — начните писать программы на нём. Иногда трудно найти идеи для программ. Это нормально, в самом начале вам не надо придумывать свою идею.
Вы можете также воспроизвести упражнения из руководства или книги, которую вы читаете, не заглядывая в примеры. Это не так легко, как кажется. Ещё эта техника работает хорошо, если вы слегка измените код из примеров.
Если вы не хотите думать о маленьких программах, а хотите сразу писать нечто большее, вроде игр, вам надо начинать с маленьких кусочков, которые вы затем сможете использовать для создания игры. Независимо от того, будете вы их использовать или нет, вы получите ценнейший опыт.
4. Научитесь использовать отладчик
Отладчик позволит вам двигаться по коду строка за строкой. Вы сможете наблюдать значения переменных и видеть, выполнилось ли условие.
Отладчик позволяет быстро ответить на вопросы о том, что делает код.
Первое время исправление ошибок с отладчиком будет занимать много времени. Но по мере того, как количество ошибок в вашем коде будет расти, отладчик начнёт экономить уйму вашего времени. А количество ошибок, поверьте, будет измеряться десятками.
Новички часто не желают использовать отладчик. На самом деле, они усложняют жизнь самим себе, тратя годы на исправление очень простых ошибок. Чем раньше вы изучите отладчик, тем раньше это вам воздастся.
5. Ищите больше источников
Если вы что-то не понимаете, в первую очередь посмотрите альтернативные объяснения — интернет полон информации о программировании. Мы все воспринимаем новую информацию по-разному: может быть, вам для понимания нужны картинки, а кому-то другому — подробные инструкции или множество книг с детальными объяснениями.
Но если это не работает, то лучший способ разобраться с проблемой — спросить кого-то другого. Однако, если вы скажете «я не понимаю, пожалуйста, объясни», то, скорее всего, получите в ответ ссылку на тот же текст, который вы не поняли. Вместо этого, своими словами перескажите, как вы поняли текст. Чем больше вопрос раскрывает ваши мысли, тем легче будет знающему эксперту ответить на него. Программисты иногда кажутся раздражительными при ответе на вопросы. Но причина скорее в том, что они хотят продвинуться в диалоге, а это требует усилий от обеих сторон. Если вы зададите умный, подробный вопрос, который продемонстрирует, что вы думаете, то получите хорошие результаты.
Не вешай нос, или Как быстрее научиться программировать
Существует очень много способов облегчить обучение, чтобы не пришлось зубрить основы всю жизнь. Да, вы все еще не сможете совместить изучение материала и вязание свитера с оленями, но будет легче, правда.
Часто новички приходят в программирование с какими-то знаниями, но почти всегда они отрывочные и несистематизированные. Человек начинает учиться и раз за разом натыкается на знакомые вещи в базовой информации — перескакивает, не заполняя пробелы, создавая еще большие. Да, можно регулировать скорость обучения, но пропускать темы не стоит. Именно вступительная часть поможет понять основы, без которых все остальное не сложится в единую картину. Проходя материалы последовательно вы формируете надежный фундамент дальнейшей деятельности.
Ищите альтернативные пути в обучении frontend-разработке
Нормально, когда что-то не получается или вы чего-то не понимаете во фронтенде или других языках программирования. В таких случаях нужно найти альтернативные решения. К счастью, сейчас у нас есть эти все интернеты и можно найти что угодно. Возможно, вам нужно более подробное объяснение или картинки? Все воспринимают информацию по-разному и, может, первый выбранный способ не такой уж подходящий — такое бывает.
Но! Есть что-то вроде чит-кода. Можно обзавестись ментором или человеком, который согласится иногда отвечать на ваши вопросы. Однако не стоит идти по пути: «Я ничего не понимаю, объясни» — это вызовет только раздражение. Перескажите, как вы поняли то, с чем возникла проблема, и программист скажет где вы свернули не туда. Помните, что грамотный подробный вопрос — это половина ответа.
Больше примеров кода
Когда в очередной раз будете читать тематическое, пытайтесь понять каждый пример. Часто рекомендуют пытаться сначала прочитать код из примера и понять его, а потом уже смотреть пояснение. Не всегда получается, но упражнение хорошее — прокачивает внимательность.
Чтения недостаточно, пора запускать
Сопровождайте прочтение обучающей литературы практикой. Проверяйте знания не отходя от кассы — сделать это можно достаточно простым путем — набить пример в среду разработки IDE. Разумеется, если вы ее еще не установили, стоит начать с установки. Важно уточнить, поддерживает ли она ваш язык программирования.
Таким образом вы сможете быть уверенными в своих знаниях и том, что вы правильно поняли пройденное. Помимо этого, вы начнете обращать больше внимание на детали по типу точек и запятых на каждой строке. Не забудьте скомпилировать код и запустить его, ведь важно, чтобы он выполнял именно те функции, которые планировалось.
Помните, что программа — это наиболее безопасное поле для экспериментов. Не бойтесь — попробуйте добавить что-то свое и посмотреть, как это повлияет на систему. Все изменения будут тут же вступать в силу, а компьютер вас не покусает, правда.
Эксперименты экспериментами, но пора писать свой код
Чем раньше вы начнете пытаться писать свой код, тем лучше. К этому можно приступать, как только вы поймете что-то о выбранном языке программирования, например о JavaScript. Попробуйте осуществить какие-то несложные идеи или решить конкретные задачи для себя или своей семьи/работы.
Если с идеями совсем туго, как вариант, можно попробовать проходить задачи из учебного руководства без примеров. Вы будете удивлены, что это не так уже легко. Данное упражнение можно совмещать с предыдущим — вносить в код что-то от себя.
А если вы хотите сразу делать что-то масштабное и «чтоб прям ух», пора вспомнить о слоне. Начинайте есть по кусочкам вашу гениальную игру (или что там?) — так вы будете получать позитивное подкрепление от результата. Есть вероятность, что позже вы сможете использовать эти кусочки. Если даже нет, приобретенный опыт поможет вам сделать качественный продукт.
Отладчик — это хорошо
Он позволит вам построчно проверять код, видеть значения переменных и понимать выполняются ли условия. С ним вы поймете что именно делает та или иная часть кода.
Да, вначале вам придется наморочиться с ним. Отладчик будет отнимать много времени и сил, но оно того стоит. В дальнейшем он найдет вместо вас сотни глупых ошибок, которые были допущены не потому, что у вас ничего не получается, а из-за замыленного глаза. Это нормально. Помните, чем раньше в вашей жизни он появится, тем быстрее станет хорошо.
Секрет быстрого программирования: не задумывайтесь
Программировать быстро — это легко! Так считает инженер-программист компании Google, который все публикации в своем блоге подписывает лаконичным «Макс». Макс также работает главным архитектором, комьюнити-менеджером и релиз-менеджером в Bugzilla Project. Мы в Alconost впечатлились и перевели его советы о том, можно ли как научиться программировать с космической скоростью.
Если обсуждать с разработчиками сложность кода, они часто говорят, что хотят писать простой код, но из-за давления дедлайнов и более глубинных причин у них не хватает времени или знаний для того, чтобы выполнить задачу и оптимизировать решение до максимальной простоты.
Они, конечно, правы в том, что в условиях сжатых сроков разработчики, как правило, будут писать сложный код. Впрочем, дедлайны не должны приводить к сложности. Вместо фразы «Этот дедлайн помешал мне написать простой код» можно произнести равноценную: «Я недостаточно быстро программирую, чтобы писать просто». То есть чем быстрее вы как программист — тем меньше влияния на качество вашего кода имеют дедлайны.
Теперь давайте разберемся, как, собственно, стать быстрее? Может, это врожденное магическое умение? Надо ли быть «умнее» других, чтобы быть быстрым?
Нет, это вообще не магия и не врожденный дар. На самом деле существует всего одно простое правило, считаясь с которым, со временем вы полностью решите проблему:
Всякий раз, когда замечаете, что топчетесь на месте в размышлениях, знайте: что-то пошло не так.
Это может звучать невероятно, но работает исключительно хорошо. Задумайтесь: когда вы сидите перед вашим редактором, но работа идет небыстро, потому ли это, что у вас низкая скорость набора? Я сомневаюсь: «слишком много набирать» — редкая проблема программистской производительности. Паузы, когда вы не набираете, — вот что все замедляет. А чем обычно заняты в таких паузах разработчики? Пытаются перестать думать — может быть, о проблеме, об инструментах, о сообщении в почте, да о чем угодно. Но всякий раз, когда такое случается, оно означает проблему. Размышления сами по себе — не проблема, но признак какой-то другой проблемы. Вероятно, вместо того, чтобы ходить по кругу в своих мыслях, вам стоит обратить внимание на что-то из этого:
Понимание
Самая распространенная причина непродуктивных размышлений разработчика — неполное понимание какого-то слова или символа.
Это произошло со мной буквально на днях. У меня ушли часы на написание того, что должно было стать действительно простым сервисом. Я очень старался прекратить думать об этом, пытаясь разобраться, как все должно работать. В итоге я осознал, что не понимал одну из входных переменных в основной функции. Я знал название ее типа, но так никогда и не поинтересовался его определением — то есть на самом деле не понимал, что эта переменная (слово или символ) означала. Как только просмотрел код и документацию по этому типу — пришло понимание, и я написал этот сервис как демон (каламбур отчасти неслучаен).
Таких вариантов — бесчисленное множество. Многие пользуются языком программирования, не разбираясь, что (, ), [, ], <, >, +, * и % означают в этом языке. Некоторые разработчики не понимают, как на самом деле работает компьютер. Помните мой «Единственный секрет программиста-рок-звезды»? Вот где суть! Ведь если ты по-настоящему понимаешь, тебе не надо прекращать ненужные размышления. Это также побудило меня написать книгу: понимание того, что есть незыблемые законы создания программного обеспечения, может избавить от многих эпизодов «борьбы с размышлениями».
Так что, если вы оказались в мыслительном тупике, не пытайтесь решить проблему в своей голове — ищите то, чего не понимаете, вне себя. После чего возьмите и посмотрите на что-то, что поможет вашему пониманию. Это применимо даже к вопросам вроде «Прочтет ли когда-нибудь пользователь этот текст?» У вас может не быть Департамента исследований пользовательского опыта для настоящего ответа на этот вопрос, но вы можете хотя бы нарисовать что-нибудь, показать другим, выслушать их мнение. Не пытайтесь просто сидеть и думать — сделайте что-то. Только действие ведет к пониманию.
Рисование
Бывает, мысль разработчика останавливается потому, что ему не удается одновременно удерживать в голове все находящиеся в работе идеи — множество связанных между собой сложным образом вещей, нуждающихся в осмыслении. В этом случае почти всегда эффективнее записать или зарисовать что-либо, чем думать об этом. Вам нужно каким угодно образом посмотреть на это со стороны, воспринять вне своей головы. Это один из вариантов понимания, но достаточно важный, чтобы вынести его отдельным пунктом.
Начинание
Иногда проблема в том, что «нет представления, какой код нужно начинать писать». Простейшее решение — начать писать любой известный вам код, который вы можете писать прямо сейчас. Выберите часть проблемы, которую вы полностью понимаете, и пишите для нее решение, даже если это всего одна функция или не самый важный класс.
Часто фрагмент кода, с которого проще всего начать, — это «ядро» приложения. Например, если бы я взялся писать приложение YouTube, я бы начал с видеоплеера. Воспринимайте это как упражнение по непрерывной поставке: пишите код, который действительно сначала создает продукт — неважно, каким дурацким или незначительным он может получаться. Видеоплеер без пользовательского интерфейса — уже продукт, выполняющий полезную задачу (воспроизведение видео), даже если еще не полноценен.
Если вы не уверены в том, как писать даже такой базовый код, просто начните с кода, в котором вы уверены. Обычно, как только решается часть проблемы, становится значительно легче решать проблему целиком. Иногда проблема раскрывается поэтапно: вы решаете одну часть, которая делает очевидным решение следующей части, и так далее. Начните с любой части, создание которой не требует длительного обдумывания, и просто напишите ее.
Пропуск шагов
Еще одна специфическая проблема понимания — пропуск какого-то шага в правильной последовательности разработки. Например, наш объект Велосипед зависит от объектов Колеса, Педали и Рама. Если вы попытаетесь написать весь объект Велосипед без написания объектов Колеса, Педали и Рама, вам придется много обдумывать эти несуществующие классы. С другой стороны, если вы напишете класс Колеса, пока вообще не существует класс Велосипед, вам предстоит много размышлений о том, как класс Колеса будет использоваться классом Велосипед.
Правильное решение тут — реализовать достаточную часть класса Велосипед, чтобы дойти до шага, где вам понадобятся Колеса. Потом написать достаточную часть класса Колеса, чтобы удовлетворить актуальную потребность в классе Велосипед. После чего вернуться к классу Велосипед и работать над ним до следующей нужды в каком-то из основных элементов. Так же, как и в пункте «Начинание»: найдите часть проблемы, которую можете решить без размышлений, и решите ее сразу.
Не перепрыгивайте шаги при разработке своей системы — и это позволит вам быть продуктивным.
Физические проблемы
Если я недостаточно ем, я начинаю отвлекаться и задумываться, потому что я голоден. Вовсе необязательно это будут мысли о моем желудке, но они бы вообще не возникли, если бы я был сыт, — я был бы сосредоточен. То же справедливо для сна, болезней и любых других телесных проблем. Они не настолько распространены, как перечисленные выше, так что первым делом всегда ищите, что вы недостаточно хорошо поняли. Но если вы уверены, что понимаете все, причиной остановки мысли могут быть проблемы на физическом уровне.
Отвлекающие факторы
Когда разработчик отвлекается на что-то внешнее, например, шум, ему может понадобиться некоторое время подумать, чтобы вспомнить, над чем он работал в своем решении. Ответ тут относительно прост: перед тем, как садитесь за разработку, убедитесь в том, что ваше окружение не побеспокоит вас или отвлекающие факторы не будут вас прерывать. Одним нужно закрыть дверь в свой офис, другим — надеть наушники, кому-то — поставить статус «Не беспокоить»: сделайте так, как вам нужно. Возможно, вам понадобится помощь вашего менеджера или сотрудников, чтобы создать действительно благоприятную для разработки среду.
Неуверенность в себе
Иногда разработчик сидит и размышляет потому, что ощущает неуверенность в себе и своих решениях. Выход тут аналогичен описанному в пункте «Понимание»: если вы не уверены в чем-то, узнавайте об этом больше до тех пор, пока не появится уверенность, достаточная, чтобы писать код. Если вы не уверены в себе как в программисте вообще, возможно, вам нужно изучить еще многое — вроде основ, изложенных в «Почему программисты отстой». Разбирайтесь с каждым вопросом, пока не добьетесь настоящего понимания, после чего переходите к следующему, и так далее. Программирование всегда подразумевает обучение в процессе, но по мере увеличения багажа знаний вы будете становиться все быстрее и быстрее, а задумываться придется все меньше и меньше.
Ложные представления
Многим говорили, что думать — удел умных людей, и они не задумываются, чтобы принимать разумные решения. Но это неправда. Если бы размышления сами по себе могли сделать вас гением, вокруг были бы одни Эйнштейны. По-настоящему умные люди учатся, наблюдают, принимают решения и действуют. Они приобретают знания и потом используют их для решения возникающих проблем. Если хотите быть действительно умным, используйте свой интеллект для деятельности в физическом мире — не замыкайтесь с ним для великих дум в своей голове.
Бездействие
Все перечисленное выше — ключ к тому, как быть быстрым программистом, когда вы сидите и пишете код. Если же вы весь день читаете почту и ходите по встречам, а программировать вам некогда — это другая проблема. Некоторые ее аспекты схожи (это как если бы организации пришлось «не задумываться»), но это не то же самое.
Впрочем, можно попробовать и несколько подходов по аналогии. Есть вероятность, что организация не вполне понимает вас или вашу роль и потому шлет вам столько писем и зовет на столько встреч. Возможно, вы чего-то не понимаете об организации, например, как посещать меньше собраний и получать меньше почты 🙂 Может быть, вам удастся разрешить некоторые организационные сложности, адаптируя решения из этого поста к коллективам вместо отдельных людей.
Как вам такой подход?
О переводчике
Перевод статьи выполнен в Alconost.
Alconost занимается локализацией приложений, игр и сайтов на 60 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.
Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.
Как учить языки программирования самостоятельно
Если вы ищете своё призвание и вам интересно программирование, вы наверняка задавались вопросом, с чего начать погружение в эту сферу. Один из возможных путей в IT — изучение языков программирования. Так вы освоите первый инструмент будущей профессии: HTML и CSS для вёрстки страниц, Java и Swift для мобильной разработки, SQL для работы с базами данных, а JavaScript и Python — для веб-разработки и не только.
Языки программирования можно освоить самостоятельно — нужно лишь большое желание, целеустремлённость и наличие времени. В этой статье мы расскажем, как учить языки программирования без высшего образования и очных курсов.
Подводные камни самостоятельного обучения
Перед тем, как разобрать методы изучения программирования, обратите внимание на трудности, с которыми можно столкнуться. Чтобы они вас не отвлекали и не съедали запас мотивации, давайте рассмотрим подводные камни заранее:
- медленный прогресс — обучение может занять больше времени, чем вы предполагали, и проходить с переменным успехом, но это не значит, что всё зря — просто наберитесь терпения и труды принесут результат;
- перфекционизм — идеала не существует ни в жизни, ни в коде. Невозможно создать одновременно компактный, легко расширяемый, производительный и быстрый код. Каким-то критерием придётся пожертвовать — не делайте идеально, делайте хорошо, чтобы код соответствовал поставленной задаче;
- неуверенность — страх может подстерегать на любом этапе обучения: не слишком ли поздно менять профессию, тот ли язык вы выбрали и получится ли дорасти хотя бы до специалиста среднего звена. Пусть уверенность вам придаёт тот факт, что вы уже решились изучить что-то новое и сделали первые шаги — а каждый новый приближает вас к заветной цели.
Зная, с какими трудностями вы сможете столкнуться и как с ними бороться, вы легко перейдёте к следующему этапу — выбору способа изучения языков.
Способы изучения языков программирования
Чтобы изучать программирование самостоятельно с нуля, вам потребуется система, которая не даст запутаться и свернуть с маршрута. Мы подробно рассмотрим способа освоения языков программирования: книги, тренажёры, метод Франклина и онлайн-курсы.
Если начали с основ, изучайте всю полезную информацию
Для начала, рекомендуем разобраться в языках и их освоении. Для этого предлагаем подборку наших статей по теме:
Это далеко не закрытый список статей, которые помогут учить программирование с нуля. В нашем блоге вы найдёте информацию обо всех популярных языках программирования и о том, как их осваивать. Читайте, выбирайте, осваивайте.
Учебники и книги
Классический старый метод, знакомый каждому со школы — берём учебник и глава за главой изучаем новую тему. Разве что в программировании вам не обойтись без компьютера, в котором будете выполнять домашние задания и оттачивать навыки.
Мы выбрали несколько самых востребованных языков программирования и вот какие книги по ним можем посоветовать:
Название | О чём книга |
С++. Базовый курс , Герберт Шилдт | Вы с нуля изучите основные средства языка С++ от простых элементов и функций до расширений. Язык постоянно развивается и совершенствуется, поэтому новые издания регулярно дополняются актуальной информацией |
C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов , Марка Дж. Прайс | Пусть вас не смущает формулировка «для профессионалов», эта книга включают всю необходимую базу C# для новичков |
Изучаем программирование на JavaScript , Эрик Фримен и Элизабет Робсон | Авторы доступным языком и с множеством примеров рассказывают, как написать универсальный код на JavaScript для любого браузера |
Простой Python. Современный стиль программирования , Билл Любанович | Вы изучите основы Python, освоите современные библиотеки и научитесь отлаживать и тестировать код. Автор приводит много примеров, чтобы наглядно продемонстрировать теорию начинающим программистам |
Java. Полное руководство , Герберт Шилдт | Вы поймёте, как разрабатывать и отлаживать код на Java и оптимизировать написание кода через универсальные шаблоны и научитесь создавать графические элементы для интерфейсов в библиотеках Swing и JavaFX |
При выборе книг отталкивайтесь от своего уровня знаний — нет ничего зазорного, чтобы начать изучать программирование с книг для детей. Взрослым тоже будут полезны книги вроде «Python для детей» Д. Бриггса или «Minecraft. Программируй свой мир на Python» Д. Вэйла и М. О`Хэнлона, поэтому не сбрасывайте их со счетов.
Тренажёры
Продолжая тему детства: учебный процесс не обязательно скучный и серьёзный. Учить программирование можно в игровой форме — для этого разработаны специальные тренажёры.
-
— изначально Code Combat позиционировали себя как платформа для детей и подростков, но со временем она привлекала всё больше взрослых учеников. Вы сможете с нуля освоить Python, JavaScript и C++, а играть можно индивидуально и в командах. Вы сами выбираете, какой язык изучать, и проходите игру уровень за уровнем с нарастающей сложностью; — это игровая платформа для программистов, где вы научитесь писать код во время игры и можете добавить его себе в портфолио. Сайт поддерживает 25 языков программирования, можно играть самостоятельно или в команде, участвовать в международных соревнованиях и конкурсах и оттачивать навыки на практике; — ресурс для обучения и практики программирования на Python и TypeScript, где можно прокачать навыки кодирования — для перехода на каждый следующий уровень игры необходимо написать новый код. В скором времени CheckIO обещают запустить тренажёр для JavaScript и других языков программирования.
Не все тренажёры доступны на русском языке, но в CheckIO есть отдельные игры на русском. Так или иначе в будущей IT-карьере вам придётся часто сталкиваться с английским языком — базовые команды и термины вы сможете различать и без продвинутого владения иностранными языками. Программистам полезно владеть не только языками программирования, но и английским — это даст возможность участвовать в международных проектах и работать на иностранные компании. Если вам нравятся такие перспективы, начинайте прокачивать язык уже сейчас.
Метод Франклина
В основе метода Франклина — память и практика. Чтобы научиться программировать, нужно выполнить 4 действия:
- Прочитать пример — предположим, вы хотите запомнить код.
- Прочитать его ещё несколько раз — при этом делайте пометки в самых интересных на ваш взгляд местах, это поможет лучше запомнить.
- Попробовать повторить — закройте книгу и делайте всё по памяти, это важно. Даже если не получается, не открывайте книгу сразу — боритесь с проблемой и решайте самостоятельно. Постарайтесь сделать дубликат кода, который вы прочитали.
- Сравнить и повторить снова — сравните свой код с представленным в примере, исправьте ошибки и допишите то, что не смогли вспомнить. Прочитайте полученный код несколько раз, удалите его, и повторите всё сначала.
Как только вы сможете воспроизвести код не глядя в заметки, можете считать, что метод сработал. Таким образом можно запоминать практически любую информацию:
Онлайн-курсы
С одной стороны, онлайн-курсы — это не совсем самостоятельный способ изучения языков программирования. И вот почему:
- готовая программа обучения — онлайн-школы подготовили для вас комплексные программы обучения, которые постоянно обновляются и актуализируются;
- наличие преподавателей — занятия ведут преподаватели-практики, которые достигли успехов в своей сфере и теперь делятся опытом с начинающими программистами;
- проверка домашних заданий — после каждого урока вы выполняете практические домашние задания и сдаёте их на проверку кураторам и преподавателям, а они в свою очередь дают обратную связь и рекомендации по улучшению результатов;
- общение с однокурсниками и кураторами — вы можете поддерживать связь с другими студентами, задавать вопросы преподавателям и кураторам или попросить совета у более опытных коллег;
- помощь со стажировками и трудоустройством — онлайн-школы заинтересованы в успешной карьере своих выпускников, поэтому они следят за успеваемостью студентов и рекомендуют их в компании-партнёры.
С другой стороны, онлайн-курсы — это много самостоятельной работы, требующей дисциплины и грамотного тайм-менеджмента. Вы сами решаете, когда и в каком количестве просматривать лекции, когда выполнять домашние задания и общаться ли в чате с однокурсниками. Вы можете проходить параллельно сразу 2 курса, совмещать онлайн-курсы с основной работой или учёбой в вузе или подрабатывать во время обучения. Поэтому онлайн-курсы — это эффективный способ самостоятельного освоить языки программирования.
Как изучать языки программирования на онлайн-курсах
Есть как минимум два возможных варианта изучения языков программирования в онлайн-школах: курсы по отдельным языкам программирования или по направлениям. Рассмотрим каждый вариант подробнее.
Онлайн-курсы по языкам программирования
Мы заглянули на github.com и узнали, какие языки программирования сегодня наиболее востребованы:
Рейтинг языков программирования github.com
Так как TypeScript — это не столько язык программирования, сколько расширение для JavaScript, остановимся на следующих языках: JavaScript, Python, Java, C# и PHP.
JavaScript — подходит для мобильных платформ iOS и Android и операционных систем Windows, macOS и Linux. На нём разрабатывают пользовательские интерфейсы сайтов и приложений.
Освоить JavaScript можно на курсах из подборки ТОП курсов по обучению JavaScript
Python — язык широко применяют в игровой и веб-разработке, аналитике данных и машинном обучении. У него много библиотек и фреймворков, которые надо осваивать параллельно с самим языком.
Становитесь python-разработчиками на онлайн-курсах по Python
Java — чаще используют для разработки мобильных приложений, но он также подходит для создания приложений для браузеров и десктопа.
C# — на нём создают мобильные и веб-приложения, игры и ПО для компьютеров и мобильных устройств. Так, большинство продуктов Microsoft Office были разработаны именно на этом языке.
Пройдите онлайн-курсы из нашей подборки курсов по С#
PHP — язык с простым синтаксисом, при это с большим количеством фреймворков и библиотек. Его применяют в веб-разработке для автоматизации повторяющихся команд и хранения данных о пользователях.
Онлайн-курсы по IT-направлениям
Языки можно изучать не только по отдельности, но и в рамках конкретных направлений, в которых вы хотите развиваться.
Фронтенд-разработка — создание внешней стороны сайтов и пользовательского интерфейса: кнопок, плашек, баннеров и др. Помимо адаптивной вёрстки, тестирования веб-приложений, графических редакторов и конструкторов сайтов фронтенд-разработчик должен освоить языки HTML, CSS, JavaScript и TypeScript.
Если вам интересно это направление, пройдите курсы по фронтенд-разработке
Бэкенд-разработка — создание «начинки» сайта и приложений и контроль за их корректной работой. Бэкенд-разработчик знаком с принципами объектно-ориентированного программирования и владеет минимум одним из языков программирования — PHP, C#, Java, Python или JavaScript.
Мобильная разработка — создание приложений и игр для мобильных устройств на iOS и Android. Специалистам необходимо освоить минимум один из языков программирования: Swift и Objective-C для iOS или Kotlin и Java для Android.
Становитесь мобильным разработчиком на курсах мобильной разработки
Data Science — это комплексная работа с данными: сбор, обработка, анализ и автоматизация анализа данных. В работе дата-сайентиста не обойтись без навыков статистики и анализа и языков SQL, R и Python.
Машинное обучение включает создание искусственного интеллекта и обучение компьютерных программ обработке данных. Яндекс и Google.Карты, стриминговые сервисы и сайты прогноза погоды работают на базе искусственного интеллекта. В машинном обучении не обойтись без Python и его библиотек.
Осваивайте это направление на курсах по машинному обучению
Научиться программировать можно самостоятельно — важно подобрать подходящий способ: книги, тренажёры, метод Франклина или онлайн-курсы. Но наиболее эффективным ваше обучение станет, если совместить несколько способов и создать индивидуальную методику, как учить программирование, отвечающую вашим талантам, темпераменту и возможностям. Учитесь на онлайн-курсах, а в метро штудируйте книгу по программированию. Тренируйте память по методу Франклина, а в награду за успех пройдите пару уровней в CodinGame. Выбирайте удобную комбинацию и осваивайте языки программирования самостоятельно и в своём стиле.