Как начать писать код
Перейти к содержимому

Как начать писать код

  • автор:

# 1 Обмани мозг с правилом 20 минут.

Обучение программированию немного похоже на поход в спортзал. Даже если вы потратите максимум сил и проведете целые выходные в спортзале, вы не увидите видимых изменений в своем теле. Чем более регулярно вы программируете тем больше вероятность того, что вы начнете видеть свои разорванные кодирующие мышцы.

Но проблема в том, где найти на это время? Между работой на полную ставку, проведением времени с семьей и с друзьями? Когда вы должны практиковать это «ежедневное кодирование»?

Пока я работал врачом, я проводил около 12 часов в больнице, 1 час в пути и примерно 2 часа на повседневных вещах, таких как еда. Так что у меня осталось всего 9 часов. Теоретически, 2 часа можно выделить на практику программирования и 7 часов на сон. Но нет ничего сложнее, чем попытаться убедить свой насыщенный работой мозг сесть и учиться, поэтому я выбирал смотреть «Игру престолов» с попкорном или мороженным.

Но потом я нашел трюк. У людей много инерции. Это может быть как плохо для нас («24» бокс-сет) так и хорошо, мы также можем использовать это в своих интересах. Я обнаружил, что как только я начал программировать, я настолько погружался в проект, что больше не заботился о (Netflix & Chill), еде или сне. Было довольно много выходных, когда я программировал до рассвета.

Так как же нам воспользоваться этой инерцией? Во-первых, вы должны понимать, что переключение с одной задачи на другую очень сложно. Это требует много мотивации. Если, как только вы вернетесь домой, вы упадете на диван и включите телевизор, вы уже потеряли этот вечер. Это связано с тем, что степень мотивации, необходимая для переключения задач и выполнения чего-либо, не обусловленного эволюцией в отличие от еды или сна, по-этому является задачей Геракла.

Вот почему момент перехода в новую среду является наиболее важным моментом. Если в этот момент вы скажете себе, что просто собираетесь заниматься 20-минутной практикой программирования, вы, скорее всего, добьетесь успеха и будете использовать свою собственную инерцию чтобы закончить обучение в течение часа или более. Ни один мозг не воспримет 20-минутное задание как большое усилие, и вы в конечном итоге, обманываете свой мозг, чтобы заниматься программированием весь вечер.

Следующим шагом является развитие привычки. Исследования показывают, что для того, чтобы выработать новую привычку, вы должны выполнять задачу ежедневно в течение месяца. Я использовал этот следующий трюк для множества разных вещей, от упражнений до кодирования, он неизменно работает как надо.
Чтобы понять этот трюк, я хочу, чтобы вы представили стену на которой висят пять картин, четыре из которых идеально выровнены, идеально горизонтальны, но одна изогнута. Теперь действительно представьте это, хотелось бы вам что бы они все были выровнены?

Теперь давайте представим ежемесячный календарь с полями, представляющими отдельные дни. Если вы выполняли новую задачу в определенный день, то вы проводите линию через этот день. Если вы продолжите свою серию на следующий день, вы продолжите эту линию и так далее, и так далее. Есть что-то в том, чтобы не нарушать непрерывную линию, которая побуждает большинство людей продолжать развивать привычку или исполнять задачу день за днем. Как бы странно это ни звучало, я много раз сдавался, но вынужден был продолжать из-за длинной непрерывной линии.

# 2 Программируй для цели.

Когда я впервые начал изучать, как кодировать, было много раз, когда я начинал, а потом снова и снова сдавался. Это обычная история среди программистов-самоучек. Многие новички начинают изучать код, выбирая произвольный язык, и следуют куче уроков. Копирование кода, строка за строкой, иногда написание кода для обработки простых чисел, в других случаях для поиска всех четных чисел. Но вы знаете, что? Я могу найти простые числа намного быстрее с помощью Google, и выбор четных чисел на самом деле не так уж интересен.

Правда в том, что если вы учитесь кодировать ради обучения кодированию, вам будет довольно сложно с этим справиться. Навыки, которые требуют много времени для оттачивания, как программирование, съедят ваш запас внутренней мотивации. Что-то изнутри заставляет вас забыть есть и спать. Я могу честно сказать, что программирование в моих собственных проектах — одна из самых приятных вещей, которые я делаю. Оно сочетает в себе логическое мышление с творчеством, и в конце вы видите конечный продукт. В большинстве случаев то, чего мир никогда не видел. Что-то, что может сделать вашу жизнь проще или приятнее. Что-то, что может сделать жизнь людей легче и приятнее. Это похоже на создание безумно красивого мотоцикла на заказ в вашем гараже, не нуждаясь в гараже и не тратя ни цента на компоненты.

Это то, что мотивирует большинство людей. Творение. Поэтому я призываю вас начать учиться программировать, следуя учебному пособию, которое делает что-то, что угодно. Конечно, маловероятно, что в начале вы сможете программировать Clash of Clans или League of Legends. Но вы сможете сделать что-то интересное. Это может быть игра в кости или приложение для флэш-карт. Но до тех пор, пока в конце урока вы не сделаете что-то, что сможете использовать и/или поиграть, у вас будет гораздо больше мотивации дописать код до конца.

Я советую придумать простое приложение, которое вы хотите сделать. То, что использует навыки, которые вы приобрели в ходе учебы.

Нет предела вашему воображению. Да, будет сложно, когда вы начнете работать над своим собственным приложением, поскольку в нем нет пошаговых инструкций, но это также приведет к самому большому улучшению ваших возможностей программирования.

# 3 Нет «идеального» языка для изучения.

Меня часто спрашивают: «Какой язык программирования я должен начать изучать первым»? Существует распространенное мнение, что где-то есть идеальный язык для начинающих программистов. Некоторые утверждают, что это Python, другие говорят, что это Swift.
Но я считаю что это не важно.

Язык программирования — это просто инструмент. Он ничем не отличается от любого другого инструмента в вашей аппаратной коробке. Если вы хотите забить гвоздь, вы должны использовать молоток. Если вы хотите починить свои водопроводные трубы, вам, вероятно, понадобится гаечный ключ. Да, можно забить гвоздь, используя боковую часть гаечного ключа, и один и тот же язык программирования можно использовать для решения различных типов задач. Плотник скажет вам, что его любимый инструмент — молоток, а сантехник скажет, что это гаечный ключ, но он все еще не делает его «лучшим инструментом для починки».
Веб-разработчик скажет вам, что JavaScript — лучший язык для начинающих. Статистик сообщит вам, что вам лучше подойдет язык программирования это R. Но, в конце концов, все, что имеет значение, это то, что вы пытаетесь сделать с помощью своего инструмента. Если вы хотите создавать приложения для iOS, то изучите Swift. Если вы хотите делать сайты, вам понадобится JavaScript. Но хорошая новость заключается в том, что основные концепции программирования: циклы, условные выражения, функции и т. Д. Все они одинаковы. Разница в основном синтаксическая. На английском языке у нас есть ‘Werewolves’, (Оборотни) на немецком языке — ‘Werwölfe’. Это все то же самое млекопитающее, которое разрывает рубашку, которое появляется в полнолуние, просто пишется по-другому.


консоль в Swift:
print(“Hello Werewolves”)
консоль в Java:
println(“Hello Werwölfe”)

Итак, сначала нужно определиться с задачей, которую вы пытаетесь выполнить, а затем выберите лучший инструмент для этой задачи.

# 4 Понимайте, что вы пишете.

У меня есть проблема с тем, как написаны большинство учебников по программированию. Существует слишком много учебных пособий, которые похожи на учебники по рисованию (смотри — копируй).

Это почти как если бы у программиста были благие намерения, и он начал с того, что показал вам, как все делать, шаг за шагом. Но затем, в какой-то момент, он понимает, что приступил к сизифову труду и сдается. Я видел учебники, где автор начинает с мучительного уровня детализации, а затем возвращается к «теперь вы просто настраиваете облачную базу данных». Помните, что это учебник для начинающих!

Это приводит к ряду проблем. Наиболее распространенная проблема — это студент, который просто копирует код из учебника и не имеет ни малейшего представления о том, что он делает. Почему он добавил эту дополнительную строку после анализа JSON? Почему он делает этот Array (Массив) отличным от предыдущего?

Но на полпути ни одна из вещей, которые вы печатаете, не имеет смысла, и вы начинаете видеть ошибки по всему экрану, много ошибок. Задаете себе вопросы: Зачем? Без понятия. Ничего не работает Последние 3 часа были потрачены на копирование кода, и вы не узнали ничего, кроме того, что, возможно, это отстой.

Не попадитесь в эту ловушку. Если вы видите учебник, в котором после 3-й строки переходят от новичка к продвинутому уровню, или там используется слово «просто» слишком часто или не объясняется ни один из их кодов, остановитесь. Верните этот учебник на полку.

В море много рыбы.

В других случаях автор пытается объяснить, что они делают. Но вы все еще не понимаете ничего, тогда вы находитесь в продвинутом учебнике, который не улучшит ваше программирование. Это может быть заманчиво для создания великих вещей, особенно когда автор обещает, что любой может сделать это. Но если вы не можете понять, что происходит, вам лучше сначала обучится основам.

Ключ к обучению программированию — это все об ошибках(линейное изменение). Вам нужно и выбудете ошибаться снова и снова. Ваши решения ошибок будут основой для новых знаний. Но если эта рампа слишком крутая, вы потеряетесь, а если эта рампа слишком мелкая, вам будет скучно. Подход у всех разный.

# 5 Не знать — это нормально.

Предполагается, что разработчики программного обеспечения — это профессия, которая имеет наибольшую популяцию страдающих ( Imposter syndrome). Синдром Самозванца — это психологический феномен, когда люди чувствуют себя обманщиками и в значительной степени недооценивают свои собственные навыки и способности.

Программисты склонны к самокритичности и постоянно чувствуют, что все остальные лучше программируют, чем они. Если вы когда-либо чувствовали себя так, вы не одиноки, как показывают исследования, у 70% людей так называемый синдром самозванца.
Недавно я увидел вопрос на сайте Q & A Quora, в котором кто-то спросил: «Меня уволят из Google (или из другой крупной технической фирмы, если меня поймают за использованием StackOverflow в качестве информационного ресурса?»)

Он получил кучу действительно хороших ответов от инженеров, работающих в Google, Amazon и других крупных технологических компаниях. Любой, кто работал инженером-программистом, скажет вам, что поиск информации- одобрительно. На самом деле, я призываю вас найти одного программиста Google, который ни раз не использовал StackOverflow. (Если вы не знакомы, StackOverflow — это совместный сайт вопросов и ответов для программистов).

Многие новые программисты боятся, что, проверяя ссылки и обращаясь к людям за помощью, они выдают себя за мошенников, которые не знают, как программировать. Никто не может держать всю необходимую информацию в своей голове. Например, это имя метода в iOS:

- (id)initWithBitmapDataPlanes:(unsigned char **)planes pixelsWide:(NSInteger)width pixelsHigh:(NSInteger)height bitsPerSample:(NSInteger)bps samplesPerPixel:(NSInteger)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpaceName:(NSString *)colorSpaceName bitmapFormat:(NSBitmapFormat)bitmapFormat bytesPerRow:(NSInteger)rowBytes bitsPerPixel:(NSInteger)pixelBits;

Это почти 400 символов.

В программировании на iOS существует более 800 классов, 9000 методов и с каждым днем их становиться все больше больше. В веб-разработке каждую неделю появляется новый фреймворк. Никто не будет ожидать, что вы сможете запомнить код. Это точная причина, почему мы программисты, мы можем заставить компьютер делать скучные вещи для нас. Например, код для записи звука находится всего в нескольких шагах, зачем вам его запоминать?

Навык, который большинство работодателей ищут при наборе, — это способность мыслить. Знания ценятся в мире, где трудно найти информацию. В 1800-х годах только богатые имели доступ к хорошим книгам и хорошим учителям. Теперь у всех есть вся информация, которую они имели, и даже больше, одним нажатием мыши. Информация теряет ценность, способность думать — вот что самое важное и ценное. Так что не бойтесь искать, спрашивать в StackOverflow или находить ресурсы, которые помогут вам решить ваши проблемы. Лучшие программисты делают это.

Умение, которое вам нужно оттачивать, состоит в том, чтобы задавать хорошие вопросы и понимать ответ. В ответе StackOverflow нет никакого смысла копировать код, если вы не знаете, как работает этот код. Поскольку StackOverflow работает в системе репутации, в их интересах быть максимально четкими в своем ответе, чтобы пометить их как правильные и собрать положительные отзывы.

В большинстве случаев не имеет смысла начинать поиск в StackOverflow, когда вы застряли. Вы всегда должны пытаться понять и разрешить проблему самостоятельно.

Если вы действительно не можете понять это, начните с Google. Найдите запрос или, если у вас есть ошибка, вставьте коды ошибок и сообщение об ошибке. Скорее всего, как новичок, ваши проблемы программирования будут очень распространены, и кто-то, возможно, даже нашел время, чтобы написать ясное и краткое руководство, чтобы помочь вам понять вашу ошибку. По мере того, как вы становитесь более опытным в программировании, проблемы, с которыми вы сталкиваетесь, становятся все более и более неясными, но, надеюсь, если вы будете следовать остальным 11 правилам, вы также станете более способным программистом и сами поймете это или будете точно знать, где можно найти помощь.

Другая причина, по которой вы должны начать с Google, заключается в том, что алгоритм поиска StackOverflow организует вопросы и ответы по времени, а не по популярности. Многие проблемы, с которыми вы столкнетесь, будут заданы несколько лет назад, но не смотря на это все еще пользуются огромной популярностью. Так что спрашивайте мудро, и вы будете пожинать плоды от сообщества. Однажды, когда вы сами станете мастером кода, вы вернетесь тому же сообществу и поможете программистам следующего поколения.

# 6 Подражайте.

В начале своего пути в программировании я думал, что прочитать целую кучу книг -это отличный способ научиться программировать. Я купил книги по C ++, C #, Java и так далее. Но они не сделали ничего, кроме того, как запутали меня еще больше.
Я читал. Я подчеркивал. Я забывал, Я засыпал.

Книги хороши как ссылки. Если вы хотите углубиться в предмет, прочитайте главу об этом. Но если ты хочешь учиться, создай какое нибудь приложение.

Но как это сделать?

Не хватает идей? Будь подражателем. Сделайте свой собственный блокнот, сделайте свой собственный MSPaint, сделайте свое собственное пианино. Если вы увлекаетесь играми, сделайте minesweeper, сделайте Тетрис, сделайте Flappy Bird. Они не только будут полезны, но и предоставят вам прекрасную возможность выяснить, как действовать, и получить опыт в поиске информации. Если это что-то новое для мира, например голографические проекции смартфонов, никто не сможет вам помочь. Создавая подражающие приложения или программы, вы будете идти по пути, который многие прошли до вас. Таким образом вы максимизирует шансы, что кто-то сможет вам помочь, когда вы запутались.

# 7 Будте ответственными.

Самая большая проблема с онлайн-курсами по программированию — это отсутствие ответственности. Без сомнения, есть масса отличных открытых онлайн-курсов (MOOC), таких как Coursera, Udacity, Udemy, Skillshare. Но каковы последствия того, что вы не делаете домашнее задание или пропускаете месячные лекции? Никаких последствий. Никому нет дела.
Посмотрим правде в глаза, внутренняя мотивация не сильна ни в одном из нас. Мы всегда можем найти причину чтобы посмотреть сериалы на«Netflix». Я даже не могу сосчитать, сколько онлайн-курсов я купил и впоследствии не прослушал ни одной лекции или не закончил ни одной части курсовой работы.
Вам нужна ответственность и приверженность к обучению. Вспомните свои университетские времена, не потрудились бы закончить сочинение в 3 часа утра, если бы от этого ничего не зависело?
Поэтому необходимо особенно в самом начале найти кого-нибудь кто будет учится с вами (Study buddy). Поскольку по больше части эта система является полностью добровольной, существует определенная степень самоотбора людей, которые хорошо работают в командах и достаточно мотивированы.

Где же можно найти партнера по учебе? Есть много групп в Facebook, посвященных тем, кто учится программированию. Для этого есть целый (subreddit) субреддит (r / learnprogramming), я уверен, что вы найдете единомышленников где-нибудь в сети.

Следующее, о чем я скажу вам, будет спорным. Мы считаем, что люди не ценят вещи, которые не имеют ценности. Это причина, почему Coursera убирает большое количество своих бесплатных курсов. На эти бесплатные курсы подписались миллионы людей, но никто не посещал занятия, не говоря уже о завершении любого из проектов. Это было фактически вредно для обучения студентов предлагать бесплатный курс.

Поэтому, если вы руководствуетесь внешней мотивацией, а не внутренней, постарайтесь использовать немного финансовой мотивации для стимулирования вашего обучения.
Подумайте о том, сколько стоят эти навыки для вас и инвестируйте ваши деньги туда, где ваши намерения. Посмотрите, будете ли вы больше заниматься содержанием курса с финансовыми обязательствами или без них.

Последняя часть этого правила — попытаться найти верные способы оценки.

Изучая что-либо, всегда важно получать обратную связь на регулярной основе. Вы должна получать объективную оценку вашего текущего уровня навыков, вместо того, чтобы чувствовать себя обманщиком или наполняться ложной уверенностью.

В Coursera есть система, в которой студенты отмечают работы друг друга. В App Brewery мы используем обучение на Github для проверки вашего кода и поиска ошибок и проблем с вашим кодом. Но если вы посещаете курс по программированию, в котором нет такой системы, то вам стоит найти наставника по коду, который сможет просмотреть ваш код и дать вам обратную связь. Только то, что измерено, может быть улучшено.

# 8 Продолжайте учиться.

Быть хорошим программистом это как быть Мадонной.
Не бегите покупать бюстгальтеры в форме конуса! Это не что что я имею ввиду. Я имею в виду, что программирование всегда развивается. Чтобы оставаться актуальным, вы должны заново изобретать себя и безостановочно развиваться.

В мире программирования всегда новые тенденции, новые технологии и новые языки. Великие программисты получают удовольствие от изучения новых вещей, даже если это означает, что они снова становятся новичками.

Мир будет продолжать двигаться, и если вы останетесь в одном месте, вы в конце концов останетесь позади. Я знаю программистов, которые никогда не изучали ничего кроме Fortran. Я знаю программистов Objective-C, которые не могут убедить себя совершить скачок и изучить Swift, хотя Apple говорит разработчикам, что Objective-C скоро не будет актуальным. Все мы знаем, что Apple никогда не делает угроз, которые они не выполняют, просто посмотрите на оптический привод (и скоро на разъем для наушников?).

Не будь оптическим приводом. Вернее, не будь ноутбуком который все еще пытается проигрывать CD. Если ваши потребности изменятся, научитесь использовать новый инструмент. Продолжайте учиться, оставайтесь актуальными.

Вы веб-разработчик, который всегда хотел заняться разработкой мобильных приложений? Выберите платформу и изучите iOS или Android. Вы разработчик front-end, которого соблазняет full-stack ? Возьмите веб-разработку с Node. Если вы уже понимаете основные концепции программирования, подобрать еще несколько языков будет намного проще, чем начинать с нуля.

«Learn x in y minutes» — отличный ресурс для существующих программистов по изучению новых языков программирования. Ресурс: learnxinyminutes.com

# 9 Играйте в настольный футболл.

Когда вы смотрите голливудские фильмы о программистах, они обычно сидят перед ноутбуком, нажимая на клавиатуру как сумасшедшие. Но на самом деле они выглядят так:

Да, Да. Не печатают. Просто смотрят. Много смотрят на экран.
В компании работники, как правило, жалуются, что программисты всегда играют в настольный футбол или занимаются чем-то другим, что не похоже на работу. Люди не понимают, но на самом деле они работают.

Другие люди могут не понимать, но иногда следует отдохнуть от своего кода и дать работе время и расстояние. Если у вас есть ошибка в коде, которую вы не можете устранить — поспите, поиграйте в настольный футбол, погуляйте. В 9 из 10 случаев решение станет очевидным. В оставшихся 1 из 10 случаев вам понадобиться внешняя помощь.

Это может показаться не интуитивным, я советую меньше кодировать- больше думать. После того, как плохо продуманный код написан и представлен в мире, вам неизбежно придется возвращаться и перечитывать код, построчно, рефакторить и менять его.
Это всегда болезненный опыт.

Запомните, что самый простой код, от который не нужно исправлять- это код, который никогда не был написан.

# 10 Найдите наставника.

Когда я изучал французский язык, я столкнулся с методом, который привел к огромному скачку в моих разговорных способностях. Это были языковые уроки по скайпу. Я подружился с носителем французского языка, который хотел выучить английский. Мы тратили полчаса на французский и полчаса на английский. Мы оба просвещали час в неделю улучшению языка, который мы пытались выучить.
Парное программирование — это метод гибкой разработки программного обеспечения, основанный на очень похожих принципах. Например, ученик и наставник садятся за одну рабочую станцию и работают над проблемой. Ученик отвечает за написание кода, а наставник просматривает код построчно, как он написан.
Поначалу это может быть неудобно, потому что немного неловко делать ошибки на которые сразу же указывают. Но если у вас есть наставник, который является хорошим учителем, он предложит вам накопленную за десятилетия мудрость, которая может привести к значительному улучшению ваших способностей, и все это в течение нескольких часов.

Хорошие наставники не решают ваши проблемы, они практикуют Сократовский метод постановки хороших вопросов, которые заставляют вас думать самостоятельно. Если вы спросите меня, как написать сетевой вызов, конечно, я могу просто напечатать все это и заставить вас скопировать код. Но это вам не поможет. Лучше спросить какой ваш подход к проблеме и обсудить варианты речения что бы выбрать самый оптимальный.

В следующий раз, когда вы столкнетесь с другой проблемой, вы можете применить тот же подход и начать решать его самостоятельно. Помните, что информация дешевая. Столетие назад, если бы я хотел узнать о причинах болезней, я, вероятно, должен был быть аристократом. В настоящее время я могу найти в Google ответ за несколько секунд.

Так что не зацикливайтесь на информации. Учись думать вместо этого. Как подойти к проблеме. Как решить проблему. Как правильно сформулировать проблему. Эти навыки помогут вам больше, чем простое запоминание и репетиция.

Но где найти наставника?

Встречи, связанные с программированием, происходят практически в каждом городе мира. Пример: www.meetup.com

Посещайте встречи, знакомьтесь с людьми. Обменивайтесь своими знаниями и опытом. Может быть, кому-то нужен бухгалтер, а кому-то нужна юридическая консультация. Обменяйте время на время.
Не стоит спрашивать кого-нибудь: «Ты будешь моим наставником?». Никто не хочет тратить свое свободное время для какого-то незнакомца. Вместо этого предложите свою помощь в обмен на их помощь, и вы сможете найти наставника в 95% случаев.

# 11 Научитесь разбивать проблему на маленькие кусочки.

Итак, у вас есть отличная идея и вы хотите создать приложение. Но это слишком сложно для вашего текущего уровня квалификации.

Допустим, вы пытаетесь сделать робота, который может поджаривать тосты. (Если кто-то работает над одним из них, я с радостью пополню ваш Kickstarter!) Робот ничего не знает о тостах, масле или ножах. Хотите верьте, хотите нет, но на самом деле в нашем мозгу нужны довольно сложные схемы, чтобы достичь чего-то такого простого, как смазать кусочек тоста. (Возможно, поэтому я не могу сделать это без кофе).

Поэтому создание робота, который делает все это автономно, действительно сложная задача. Но так как мы хорошие программисты, мы можем немного разобраться и решить проблему.
Роботу на самом деле не нужно знать, что такое тосты и что такое масло, мы не будем делать здесь Skynet, поэтому давайте просто придерживаться практических вещей. Робот должен сделать три вещи:
• 1. Поднять и расположить кусочки тоста в идеальное положение для намазывания.
• 2. Подобрать порцию сливочного масла.
• 3. Поместить масло на тост с приличным покрытием (это часть, которую я считаю наиболее сложной).

Далее вы разбиваете каждый модуль еще дальше. В процессе вы можете подумать об альтернативных способах решения проблемы. Например, должен ли робот «намазать» масло? Или просто растопить масло на тосте? Нужно ли ему учиться подбирать нож? Или у него может быть какая-то встроенная ножевая рука, как у какого-то тюремного пирата?

Очень важно уметь разделить проблему на маленькие кусочки.

# 12 Взломайте чужой код.

Одним из наиболее важных шагов, которые необходимо предпринять, чтобы перейти от ученика-программиста к полноценному программисту, является понимание того, как получить помощь. Всем нужна помощь. Все, включая так называемых «Программистов уровня Бога».

На сайте, подобном StackOverflow, может быть очень заманчиво просто скопировать и вставить код, предоставленный кем-то. Ваша программа работает точно так, как вы надеялись, и вы продолжаете идти своим путем веселого программирования. Это упражнение не научило вас ничему, кроме уверенности в коде. Потому что в следующий раз, когда вы столкнетесь с той же проблемой, но в другой ситуации, тот же фрагмент кода, который предоставил кто-то, может больше не работать.

Вот почему в программировании существует правило, которое гласит: «никогда не копируйте код, который вы не понимаете». Итак, что вы должны делать, когда сталкиваетесь с блоком кода, который решает вашу проблему, но вы не знаете, как он работает? Разбейте проблему на кусочки.

• Шаг 1 — Скопируйте и вставьте код в вашу программу. (да, да, я знаю, я только что сказал не делать этого, но терпение, терпение…)
• Шаг 2 — Убедитесь, что ваша программа или приложение работает должным образом. То есть подтвердите, что блок кода действительно решил вашу проблему.
• Шаг 3 — Удалить копию и вставленный блок кода построчно.
• Шаг 4 — Каждый раз, когда вы удаляете строку, проверяйте, что было сломано. Приложение все еще работает? Какие коды ошибок?
• Шаг 5 — Даже если вы думаете, что знаете, что делает строка кода, все равно удалите ее. Самая важная задача для программиста — всегда проверять свои предположения относительно результата. Для программиста самое приятное чувство — для реального мира подтвердить свои предположения. Вы знаете, как приятно, когда ваш парень / девушка / муж / жена произносят эти волшебные три слова? “Ты был прав”. Это также, но лучше.
• Шаг 6 — Поменяйте местами несколько линий. Можно ли достичь той же функциональности с другим порядком линий? Почему они были написаны в том порядке, в котором они были написаны?

Разбивая код решения построчно, вы узнаете и поймете, что делает каждая строка и почему она написана. Это гораздо лучший способ использовать код от других людей, чем просто вставлять его и надеяться на лучшее. Как только вы поймете, почему каждая из этих строк была необходима, в следующий раз, когда вы столкнетесь с подобной проблемой, вы сможете выявить проблему и решить ее самостоятельно.

После того, как вы освоите код из StackOverflow, следующим целевым ресурсом будет GitHub. Это инструмент, используемый программистами для совместной работы, но он также является одним из крупнейших хранилищ открытого исходного кода.

Итак, как вы можете использовать его, чтобы стать лучшим программистом? Допустим, вы хотите сделать клон Instagram. Но, к сожалению, вы не знаете, как это сделать. Таким образом, вы заходите на github.com и ищете «Instagram» или «приложение для фотографий».
Что-то будет написано на Swift / Objective-C / Java, которое вы можете скачать и посмотреть. Подумайте о структуре их программы. Посмотрите на все классы, константы, взаимодействие. Сделайте некоторые изменения в коде. Это все еще работает или вы сломали код? Почему он сломался? Задайте себе кучу вопросов, изучите через метод Сократа. Когда вы начнете добиваться хороших результатов, вы можете попробовать обратный инжиниринг. Найдите небольшой проект на GitHub, сделанный известным программистом, скачайте приложение. Запустите его и посмотрите все его функциональные возможности.

Затем создайте этот проект с нуля, и когда вы закончите, сравните ваш код с оригинальным кодом. Проанализируйте проблемы и их решени. Когда вы достигните этой фазы вы вы действительно попадаете в высшую лигу.

5 способов быстрее научиться программировать

Как быстро научиться программировать: 5 простых шагов, которые помогут вам начать изучение профессии программиста. Изучайте и запускайте примеры кода, используйте отладчик, пишите свой код и не бойтесь спрашивать.

Обложка поста 5 способов быстрее научиться программировать

Изучение программирования — не то, чем можно заниматься между делом. Но не нужно тратить всю жизнь, чтобы понять основы. Есть множество способов облегчить себе обучение.

Нередко бывает, что новички начинают учиться, уже зная что-то о программировании. Сначала всё идёт хорошо, но по мере дальнейшего изучения начинаются проблемы. Почему? Новички быстро пробегают вступительную часть, думая, что и так всё знают, но на деле это бывает редко. Они знают часть материала, но этого недостаточно, чтобы хорошо понять основы.

В то же время нельзя прекращать развиваться. Вы можете двигаться медленно или быстро, но не пропускайте ни одну тему. Осваивая больше материалов, вы создаёте себе фундамент для будущего.

1. Изучайте примеры кода

Говоря о чтении, мы обычно подразумеваем чтение слов на странице, но программирование — это про чтение кода. Когда вы только учитесь программировать, вы должны изучать и пытаться понять каждый пример. Можно даже сперва читать и пытаться понять примеры кода, а уже потом читать текст. Это не всегда срабатывает, но зато учит смотреть код внимательно и вникать в каждую деталь.

2. Не просто читайте примеры кода — запускайте их!

Когда вы читаете обучающее руководство или учебник, легко посмотреть на пример и сказать: «Я понял, я понял. Да, в этом есть смысл». Конечно, вы могли понять его, но вы не знаете наверняка действительно ли вы поняли его правильно. Есть лишь один способ выяснить — сделать что-то с кодом.

Если вы до сих пор не сделали этого, установите среду разработки (IDE), которая поддерживает ваш язык программирования.

Затем перенесите пример в IDE — если вы набьёте его вместо того чтобы просто скопировать, вы действительно пройдётесь по нему от начала до конца. Ввод кода заставит вас уделять внимание деталям синтаксиса языка, например точкам с запятыми, которыми должна заканчиваться каждая строка.

Теперь скомпилируйте и запустите код. Убедитесь, что он делает именно то, что должен.

И наконец, измените его. Программа — самый легко изменяемый механизм на Земле. Вы можете экспериментировать и смотреть, что происходит. Изменения будут происходить мгновенно, без риска смерти или получения увечий. Самый простой способ изучить язык программирования — взять работающий код и изменить его.

3. Начните писать свой код как можно раньше

Как только вы что-то поймёте про язык — даже если от него у вас уже кружится голова — начните писать программы на нём. Иногда трудно найти идеи для программ. Это нормально, в самом начале вам не надо придумывать свою идею.

Вы можете также воспроизвести упражнения из руководства или книги, которую вы читаете, не заглядывая в примеры. Это не так легко, как кажется. Ещё эта техника работает хорошо, если вы слегка измените код из примеров.

Если вы не хотите думать о маленьких программах, а хотите сразу писать нечто большее, вроде игр, вам надо начинать с маленьких кусочков, которые вы затем сможете использовать для создания игры. Независимо от того, будете вы их использовать или нет, вы получите ценнейший опыт.

4. Научитесь использовать отладчик

Отладчик позволит вам двигаться по коду строка за строкой. Вы сможете наблюдать значения переменных и видеть, выполнилось ли условие.

Отладчик позволяет быстро ответить на вопросы о том, что делает код.

Первое время исправление ошибок с отладчиком будет занимать много времени. Но по мере того, как количество ошибок в вашем коде будет расти, отладчик начнёт экономить уйму вашего времени. А количество ошибок, поверьте, будет измеряться десятками.

Новички часто не желают использовать отладчик. На самом деле, они усложняют жизнь самим себе, тратя годы на исправление очень простых ошибок. Чем раньше вы изучите отладчик, тем раньше это вам воздастся.

5. Ищите больше источников

Если вы что-то не понимаете, в первую очередь посмотрите альтернативные объяснения — интернет полон информации о программировании. Мы все воспринимаем новую информацию по-разному: может быть, вам для понимания нужны картинки, а кому-то другому — подробные инструкции или множество книг с детальными объяснениями.

Но если это не работает, то лучший способ разобраться с проблемой — спросить кого-то другого. Однако, если вы скажете «я не понимаю, пожалуйста, объясни», то, скорее всего, получите в ответ ссылку на тот же текст, который вы не поняли. Вместо этого, своими словами перескажите, как вы поняли текст. Чем больше вопрос раскрывает ваши мысли, тем легче будет знающему эксперту ответить на него. Программисты иногда кажутся раздражительными при ответе на вопросы. Но причина скорее в том, что они хотят продвинуться в диалоге, а это требует усилий от обеих сторон. Если вы зададите умный, подробный вопрос, который продемонстрирует, что вы думаете, то получите хорошие результаты.

На основе статьи «5 Ways To Learn Programming Faster».

С чего начать изучение Python и как написать на нем первый код

С чего начать изучение Python и как написать на нем первый код главное изображение

Python — самый популярный язык программирования по данным индекса TIOBE на октябрь 2022 года. Востребованность Python можно объяснить тем, что его применяют во многих сферах: веб-разработка (чаще всего серверная часть), машинное обучение и анализ больших данных.

Также на Python создают:

  • Видеоигры
  • Десктопные приложения
  • 3D-графику
  • Программ для обработки изображений, видео и аудио.

В сфере мобильной разработки язык Python используют очень редко.

Python — высокоуровневый язык с динамической типизацией. Это значит, что код на нем прост для чтения и понимания, а разработка быстрая, так как Python сам классифицирует вводимые данные.

Посмотрите, как можно вывести на экран фразу «Hello, World!» в одну строчку с помощью одной понятной команды:

И как это можно сделать с помощью языка Java:

Python также известен своей философией — правилами, которые разработчики стараются соблюдать при написании кода. Они сформулированы в списке из 19 пунктов под названием « The Zen of Python ». Вот несколько правил из этого списка:

  • Явное лучше, чем неявное
  • Простое лучше, чем сложное
  • Читаемость имеет значение.

У Python есть более сотни библиотек кода — наборов инструментов для решения программистских задач. Также есть много фреймворков: возможно, вы что-то слышали о Django, Pyramid или Flask. Каждый из этих инструментов можно освоить, чтобы выйти на новый уровень программирования на Python.

Python применяют для создания и поддержания своих продуктов такие компании, как Google, Yandex, Spotify, Microsoft, Pinterest, Quora, Intel и другие.

Профессия «Python-разработчик»

  • Изучите Python — язык с простым и понятным синтаксисом
  • Научитесь создавать полноценные сайты и веб-приложения
  • Освойте популярный фреймворк Python — Django
  • Разберитесь в базах данных и научитесь управлять ими с помощью SQL

С чего начать изучение языка Python

Определитесь с целью

Изучать любой язык программирования с нуля легче, когда вы понимаете, где применять полученные знания. От вашего выбора также зависит стек технологий, который вы будете использовать в будущем.

Разберитесь в синтаксисе языка

Синтаксис — это набор правил, по которым разработчики пишут код на любом языке программирования. Основа, без которой невозможно программировать.

Многие хотят начинать изучение программирования с Python, потому что у этого языка достаточно простой синтаксис. Код на нем можно понять без особых знаний за счет лаконичности языковых конструкций.

Вот примерный список тем, которые нужно изучить и понять перед тем, как начать кодить на Python:

  1. Строки — как их выводить, извлекать из них символы
  2. Переменные и типы — для чего они нужны, как облегчают разработку
  3. Операторы — какие они бывают в Python и как работают
  4. Условия — что такое условные конструкции и как их задавать
  5. Циклы — для чего нужны и как использовать
  6. Структуры данных — для чего используют, сколько всего структур и какие они бывают
  7. Функции — в чем особенность, как их вызывать и где искать документацию по ним
  8. Классы и объекты — что это такое и как они обозначаются.

Изучить основы языка вам поможет бесплатный курс «Python для начинающих» на проекте Codebasics. Обучение там начинается с азов, информация структурирована и подается от простого к сложному.

Читайте также: Программирование на Python: особенности обучения, перспективы, ситуация на рынке труда

Ознакомьтесь с документацией

Документация дает представление о работе языка и показывает примеры его использования. Это как огромная библиотека или справочная, в которую разработчик может прийти за нужным документом или ответом в спорных ситуациях. Документацию Python можно посмотреть на официальном сайте .

Как начать программировать на Python

Установите среду разработки

После того, как вы изучите синтаксис, попробуйте написать первый код. Это можно сделать в интегрированной среде разработки — IDE, которая включает в себя редактор кода, инструменты для его выполнения и отладки, а также систему контроля версий.

Среда разработки помогает разработчику ориентироваться в коде и искать в нем ошибки. Самые популярные IDE для Python: Python IDLE, PyCharm, Spyder, Thonny.

Еще можно установить редактор кода — это более легковесная программа, аналог текстовых редакторов. Она сохраняет проекты в правильном расширении, автоматически проверяет отступы в коде и подсвечивает синтаксис. Самые популярные редакторы кода для Python: Visual Studio Code, Sublime Text, Vim.

Также существует онлайн-IDE, с помощью которой можно писать код на Python прямо в браузере. Replit подойдет для первого знакомства с Python и создания небольших проектов.

Решайте задачи

Существует много разных сайтов, на которых питонисты выкладывают и решают задачи по Python. Это, например:

  • okpython.net
  • Проект Эйлера
  • CheckiO
  • LeetCode
  • Codewars
  • Exercism

Платформа Kaggle подойдет для тех, кто выбрал для дальнейшего развития сферу машинного обучения. На ней проходят групповые соревнования, где организаторы дают разные задачи по Data Science. Участники решают задачи с помощью языка Python. Лучшие решения можно будет положить в портфолио.

Участвуйте в играх

Изучать Python по играм не менее эффективно, чем штудировать теорию курсов и учебников. На игровых турнирах можно прокачиваться в написании кода и даже знакомиться с единомышленниками.

В какие игры можно поиграть:

  • Code Monkey — пожалуй, самая популярная игра по Python. В ней нужно помогать обезьянке собирать бананы с помощью цепочки команд.
  • CodeCombat — игра учит базовым навыкам программирования и написанию кода. В ней нужно захватывать земли и уничтожать врагов.
  • Codebattle — это платформа, на которой проходят игры и турниры для разработчиков. Они развивают алгоритмическое мышление и дают полезные связи с разработчиками. Хекслет проводит соревнования разработчиков разных уровней на Codebattle каждый месяц — участвуйте, чтобы приобрести новый опыт и разнообразить свое обучение.

Сколько времени нужно, чтобы выучить Python

Судя по опыту многих разработчиков, базовые знания по Python можно получить чуть меньше, чем за месяц, если заниматься до пяти часов в неделю.

Если вы хотите стать Python-разработчиком, то готовьтесь уделять учебе от десяти часов в неделю. Занимаясь такое количество времени, вы сможете освоить Python на уровне джуна примерно в течение года.

Основы языка можно выучить самостоятельно с помощью книг, видеолекций и онлайн-курсов. Но на более поздних этапах обучения рекомендуем вам обращаться по всем вопросам к опытным разработчикам или менторам.

Полезные материалы для изучения Python

Есть много хороших книг по изучению Python. Будет здорово, если вы прочитаете некоторые из них:

  • Пол Бэрри «Изучаем программирование на Python»
  • Марк Лутц «Изучаем Python»
  • Эрик Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения».

Также у Хекслета есть свой список рекомендованной литературы. Ознакомьтесь с этими книгами — они полезны для программистов любых направлений.

На YouTube-канале Хекслета есть рубрика « Публичные собеседования », в которой наши студенты проходят учебные интервью у специалистов разных компаний. Посмотрите видео из этой рубрики, чтобы иметь понимание о том, как проходят собеседования и какие знания нужны разработчикам, чтобы успешно их проходить.

Если в процессе обучения вы почувствуете, что вам не хватает поддержки единомышленников и более опытных разработчиков, присоединяйтесь к Хекслет Комьюнити . Там вы сможете обсуждать трудные моменты в учебе, получать помощь и поддержку.

Профессия «Python-разработчик»

  • Изучите Python — язык с простым и понятным синтаксисом
  • Научитесь создавать полноценные сайты и веб-приложения
  • Освойте популярный фреймворк Python — Django
  • Разберитесь в базах данных и научитесь управлять ими с помощью SQL

Как правильно изучать программирование и начать писать код

Как самостоятельно обучиться и стать программистом – минимум знаний, правильный выбор учебных материалов, какой язык изучить первым, чтобы быстро начать писать код.

Те, кто изучал программирование, в начале своего пути часто сталкиваются с ситуацией, когда ты уже много прочел книг, посмотрел видео и вроде бы все понятно, но садишься писать код и ничего не можешь написать.

В этой небольшой статье мы расскажем вам почему так происходит, поделимся секретами как уже имея какую-то профессию, работу, семью начать самостоятельно изучать программирование и писать код.

Лучше всего учиться по тщательно составленным и продуманным курсам с тестовыми заданиями и возможностью общения с преподавателями. Можем порекомендовать пройти обучение в ITEA – https://itea.ua/courses-itea/python-dev/python-advanced/ программированию на Python.

Обучение программированию на Python

Минимум знаний

Первое, что вы должны усвоить, есть такое понятие как минимум знаний – это обязательный теоретический запас для написания того или иного функционала. Для каждой задачи он свой и вы должны уметь определять хватает ли вам тех знаний, которые у вас есть в текущий момент, чтобы написать тот или иной код.

Например, есть большая разница между тем чтобы создать кнопку и написать приложение, которое будет отправлять запрос при нажатии этой кнопки и получать результат. Там и там есть какой-то свой минимум знаний, но не зная того, как сделать кнопку, не нужно пытаться сразу создать целое приложение.

Начинайте с малого – сначала создавать кнопки, потом отправлять запросы и уже в конце получать результат. Разбив одну большую сложную задачу на несколько более мелких, вы легко и быстро будете продвигаться в процессе обучения.

Теория и практика

Прежде чем начинать писать код, вы должны изучить теорию и понять, что имеющихся знаний уже достаточно для решения той или иной задачи или каких именно знаний не хватает.

Все знания мы можем разделить на две части – теория и практика. Вы не можете написать практику, если у вас нет теории. Поэтому очень важным моментом является то какую теорию вы изучаете и какие теоретические материалы вы впитываете.

Признаком хорошего теоретического материала является то, что в конце он дает понятное и ценное с точки зрения реального применения практическое задание. Другими словами, есть задачи, которые непонятно зачем нужны, а есть понятные для нас как для пользователя и зачем вообще это делать.

Например, в первом случае вам говорят сделать бота для Telegram, который будет искать и показывать новости, релевантные запросу пользователя. А во втором случае вам предлагают написать функцию, которая принимает какие-то переменные и рассчитывает какой-то результат.

Пример хорошего практического задания

Очевидно, что первое задание имеет вполне понятную практическую ценность – это может быть реализовано и востребовано на практике. Второе же задание оторвано от реальности, вы не понимаете зачем это вообще нужно. Очевидно, что для обучения лучше выбрать первый вариант учебных материалов, так вы сразу же будете учиться тому, на чем потом сможете зарабатывать.

Прежде всего просмотрите разделы с практическими заданиями – если вам в принципе понятно что от вас требуется и зачем это нужно, то приступайте к изучению теоретической части. Если вам вообще ничего не понятно или после изучения теории вы не можете пройти практику – откажитесь от этого курса и поищите другой.

Главное не стойте на месте, не стопоритесь в глухом тупике, продолжайте движение в направлении, которое у вас будет получаться, вызывать живой интерес и приносить моральное удовлетворение, иначе ваше будущие в качестве программиста будет обречено.

Языки программирования

Не рекомендуем начинать изучение программирования со сложных языков, таких как C++ или PHP, так как это довольно объемный пласт, на освоение которого уйдут годы, если вы еще очень упорны и дойдете до конца.

Исключение составляют случаи, когда вы точно знаете, чего хотите. Например, для создания игр и сложных приложений вам все равно придется учить C++. А вот в веб-разработку можно войти более плавно, начинайте с HTML и CSS – это просто и осилит каждый, уже через несколько месяцев вы сможете реально что-то зарабатывать.

Когда верстка пойдет на автомате, в какой-то момент от вас наверняка потребуют использовать Java Script, его изучение также не является сложной задачей – это повысит вашу квалификацию и доход. Затем можно перейти к PHP – зная фронтенд, гораздо проще будет освоить бэкенд. А это уже совсем другой уровень и другие деньги, так как это настоящий мощный язык программирования, в отличие от предыдущих довольно примитивных и узко прикладных языков разметки и скриптов.

Довольно универсальным и сравнительно простым является язык Python.

Преимущества языка Python

На нем можно делать много чего и такие специалисты востребованы во множестве сфер, найти себе применение не составит труда.

Где используется Python

Вы можете начать с заданий на фрилансе, а потом устроиться в приличную компанию на постоянную работу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *