Transcription
Кстати, у нас есть классный Телеграм-канал, где мы часто запускаем викторины, и ты можешь похвастаться своими знаниями. Ссылка в описании к видео. Подпишись!
А что если мы скажем, что есть способы легко и без боли начать программировать? А потом получить стописят-плюс-стописят-ка в наносекунду, работать в свободном графике и в любое время кушать пиццу? Да, такие способы есть, и не понадобится говорить “ёлка” 8 раз, а потом смотреть под подушку в ожидании оффера.
Ладно, лягушонок, сейчас мы расскажем про классные способы легко и без боли начать кодить. Для того, чтобы научиться программировать, абсолютно не важно, какой язык программирования ты выберешь. Везде логика работы одна и та же.
Спроси у близких, друзей, коллег или самого себя: “Какие задачи я могу автоматизировать, чтобы стало проще жить?”. Например, бот, который будет напоминать, что понедельник уже прошёл и пора сходить в спортзал. Или калькулятор, который будет считать налоги. Или даже таймер для того, чтобы вовремя вытащить курицу из духовки. Задач может быть великое множество.
Далее, в зависимости от того, какую задачу выбрал, почитай, в каких задачах используется каждый язык программирования. Например, Пайтон и ДжаваСкрипт часто используются в веб-разработке, и они достаточно простые. Так что подойдут, если ты захочешь сделать сайт про своего кота. А для разработки мобильных приложений нужны Котлин, Свифт или Дарт. И так далее. Так сможешь понять, что подходит тебе больше всего.
Ещё держи в голове, что язык программирования — это просто инструмент, с которым надо научиться работать. А вот навык программирования — это штука, благодаря которой ты сможешь писать код на языке программирования даже не задумываясь, как будто пишешь текст на естественных языках. Например, на русском и английском, если ты из Англии.
Наверняка в школе на уроках информатики ты уже изучал какой-нибудь язык программирования. Поэтому, когда открываешь классный курс на сайте Merion Academy, то пролистываешь начало. Ведь уже знаешь про всякие переменные, синтаксисы и прочее. Зачем это повторно изучать? И тут как раз происходит фатальная ошибка.
Во-первых, потому что все языки программирования всё-таки отличаются по части синтаксиса, то есть по написанию. И разновидности тех же типов данных могут быть разные. Во-вторых, начальная практика поможет привыкнуть к тому, как пишется код, и дальше станет проще. А в третьих, как говорили наши предки: “Повторенье — мать ученья”. Вот тебе и очередной совет, получается.
Важно не пропускать ни одной темы и не прекращать развиваться, чтобы кодить, не задумываясь о синтаксисе. В целом, изучение программирования — это не то, что можно делать только по выходным вечером раз в неделю. Как и любое занятие, например, спорт или игра на гитаре, оно требует практики.
Кстати, про программирование ходит много мифов, которые пугают и мешают начать изучение перспективной области. Например, говорят, что программирование только для технарей. То есть нужно хорошо знать математику и иметь алгоритмическое мышление. Но это не так. Всё это может подтянуться в процессе обучения.
А математика на первом этапе тебе и не понадобится, если только ты не решишь стать дата-сайнтистом и уйти в точные науки. В целом, считается, что никаких технарей и гуманитариев не существует. Точнее, неправильно так делить. У каждого человека есть способности к изучению чего угодно.
Чтобы не ошибаться, принимая мифы за чистую монету, посмотри наше видео про топ ошибок новичков в IT. Там мы тоже много советов дали. Хорошо, вот ты читаешь или смотришь теорию. И автор показывает в ней примеры кода. Думаешь, хочет выпендриться своими знаниями? Как бы не так. Это первое, что поможет прокачаться в навыках программирования.
Дело в том, что твои руки запоминают то, как по клавиатуре клацаются те или иные конструкции в коде. И чем больше ты пишешь код, тем больше начинаешь делать это на интуитивном уровне. Поэтому просто переписывай самостоятельно эти примеры каждый раз, когда видишь их. Не забудь только запустить и проверить, как это работает.
Да, переписывание не всегда плохо, особенно на старте. Но копировать нельзя, это уже ничего полезного не даст, ещё и время потратишь. Но это ещё не весь совет. Никакой Апокалипсис не произойдёт, если ты попробуешь поменять код, который переписал. Да, даже если допустишь ошибку.
Если так подумать — программа это самая легкоизменяемая штука. Можно изменить код и практически мгновенно получить результат. Это нужно для того, чтобы понять поведение программы и в случае чего её поменять. Благодаря этому ты ещё больше закрепишь материал, который изучаешь. Это, наверно, один из самых простых способов прокачивать свой навык программирования.
На самом деле, переписывание и изменения кода из учебного материала — это полдела. Это только один пример. А примеров может быть много, и каждый программист в целом пишет код по-своему. Поэтому, когда более-менее разберёшься с синтаксисом языка, начинай читать много чужого кода. Например, на сервисе, где программисты часто выкладывают исходный код своих программ, который называется GitHub.
В целом, GitHub — это одновременно сервис для хранения исходного кода, всех изменений в коде, сборник портфолио и социальная сеточка для прогеров. Можешь зарегистрироваться на нём, в будущем пригодится. Так вот, заходи туда, находи в поиске чужие программы и читай, как их пишут. Начни со всяких простых. Например, калькуляторов, игр камень-ножницы-бумага или найди сборники решения алгоритмических задач.
То есть просто каких-то небольших задачек, где нужно написать максимально эффективный кусок кода. Чем больше чужого кода ты видишь и пробуешь воспроизвести — тем лучше. “А весь ли этот код хороший? Как мне понять, какой код читать?” Не весь, конечно. Поэтому обращай внимание на наличие комментариев, то есть не влияющего на код текста, который помечает, как работает тот или иной участок кода.
Ещё обращай внимание на количество звёздочек и в целом на активность в проекте. Даже плохие примеры могут быть полезны. Они готовят к тому, что в настоящих проектах код совершенно отличается от того, который можно найти в учебных материалах. Нет, это не значит, что код в учебных материалах плох. Просто, как мы сказали ранее, все пишут код по-разному.
Пока что наши советы звучат так, как будто мы призываем к копипасту или вдохновлению чужими решениями. Но это не совсем так. Всё это нужно было для того, чтобы перейти к следующему совету — начни писать свой код как можно раньше. Даже если понятно совсем немного и всё ещё тяжело представить, как там эти итераторы внутри работают. Всё равно пиши.
От того, что ты много раз ошибёшься, ничего не сломается, и компухтер не сгорит. Программирование — это та дисциплина, которая изучается преимущественно через ошибки. Ты можешь воскликнуть: “А как же просто и без боли? Любые ошибки — это больно”. Просто запомни, что ошибки — это хорошо. Именно они учат тебя и дают возможность изучить больше.
Час писал код для вычисления того, как лучше всего поделить пиццу на кусочки, и он не заработал? Не переживай, загугли возникшие ошибки, посмотри, что их вызывает, и исправь. Мало того, что теперь ты вряд ли столкнёшься с такой ошибкой, так ещё и что-нибудь новое параллельно узнаешь. В целом, даже говорят, что джун от синьора отличается только количеством ошибок, с которыми они столкнулись.
Ещё один классный совет, который мы можем дать — смотри, как можно больше источников информации. Например, один наш курс, потом второй… ладно, шутка. Если не понимаешь один вариант объяснения — сразу смотри другой. В интернетах этих ваших куча информации. Да, такое бывает. Каждый воспринимает информацию по-своему, и не факт, что тот вариант объяснения, который ты нашёл, подойдёт.
Поэтому всегда можно посмотреть другие источники. Есть множество разных книг и статей, например, в нашей базе знаний. А если вдруг этот способ не сработал, то не страшно. У нас есть коммьюнити, где можно попросить совета. Только имей в виду, что вопросы по типу “я не понимаю, как это работает, объясните” не работают. Во-первых, что именно? Во-вторых, как пробовал решить проблему? Такой вопрос вызывает только больше вопросов.
Поэтому формулируй проблему правильно. Расскажи о том, как пробовал решить проблему. Обязательно покажи примеры решения. Можно добавить источники информации, которые изучались. Чем больше вопрос раскрывает проблему — тем лучше. Да, может показаться, что это долго. Но подумай о том, сколько времени ты потратишь на уточняющие вопросы, и сразу станет понятно, что лучше раскрывать суть проблемы максимально подробно.
Кстати, а как понять суть проблемы? Для начала научись читать ошибки. В большинстве современных языков вывод ошибок очень понятный. Например, так выглядят ошибки в Пайтон. Сначала указывается полный путь до файла и строчки, где произошла ошибка. А потом выводится причина и иногда даже то, как её исправить. В настоящих программах также можно использовать логирование. Это когда каждое действие в программе фиксируется, и во время её работы можно будет определить ошибки.
Во многих языках есть встроенные инструменты для удобного логирования. Окей, давай ещё несколько советов. Решай алгоритмические задачи! Что это такое? Если что, то алгоритмические задачи похожи на задачи в математике. Только нужно написать кусок кода максимально эффективно. Под эффективностью может подразумеваться скорость выполнения, количество потребляемой памяти или то, сколько действий, или, как говорят тру-кодеры, итераций, код должен выполнить, чтобы прийти к решению.
Начинай с простых задачек, типа найти наибольшее число в списке, и продолжай увеличивать сложность, пока не почуствуешь себя финальным боссом качалки. После решения парочки таких задач твой навык программирования заточится на +5. А ещё — скорее всего на собесе тебе тоже попадётся такой челлендж, потом нам спасибо скажешь.
Вот пример такой задачи на одном из сервисов. Есть два самых популярных сайта — LeetCode и CodeWars. На них ты найдёшь тренажёры с автопроверкой и разными уровнями задач, которые нужно решить, используя любые языки на выбор. Ещё там, кстати, можно посмотреть решения других людей, что отсылает к совету про чтение чужого кода. С этими задачами это особенно важно.
Кроме онлайн-сервисов для решения задачек есть редакторы кода, которые также открываются через браузер. Они простые, и их можно использовать на старте, чтобы не