Здравствуйте!
Сегодня наш четвёртый день и сегодня мы начнём учиться. Но нужно понять как будет проходить процесс обучения, ведь в программировании он отличается от всех известных мне областей. Приступим.
Как учиться.
Прошу учитывать, что я описываю личный опыт, как процесс обучения проходит именно у меня, для вас всё может складываться по другому, но скорее всего будет складываться, как и у меня, учитывая, что в хороших книжках по программированию всё выстроено именно по принципу моего опыта.
Итак повторюсь, процесс обучения программированию кардинально отличается от всего, чему я учился ранее. Как, например, нас учат в институтах(ну или как предполагается, что нас учат в институтах) — сначала нам рассказывают теорию, потом мы дома её заучиваем и на семинарах рассказываем, а позже практикуем на работе/практике.
В программировании всё ровно наоборот: сначала вы пишете код, а потом вам объясняют для чего он нужен. Сначала практика, потом теория. В книгах по программированию, с, как я его называю, академическим подходом(подозреваю, что на самом деле это значит что-то другое), применяется традиционный подход теория>практика, и он очень неудобен. Почему?
Ну вот представьте, что вам рассказывает преподаватель/старший сотрудник/наставник: Вам нужно синхронизироваться с автоматом класса Б, интегрировать в него алгоритмы Иванова, Петрова и Сидорова, Петров, кстати, выявил погрешности на втором шаге интерполяции механического крана под порядковым номером 7В635...(это абсолютно бессмысленный текст для примера). А потом преподаватель заводит вас в комнату с кучей приборов и говорит: ну вот начинай работать, я тебе всё объяснил. А вы в глаза это первый раз видите и не понимаете даже, присутствует ли что-либо из рассказанного ранее в этой комнате, не говоря уже о том, что с этим нужно(и нужно ли?) делать.
Абсолютно так же происходит с книгами с "академическим" подходом. Вам около 60 страниц описывают какие-то процессы, понятия, даже демонстрируют какие-то разрозненные куски кода(а книга эта, я уточню, для начинающих), а спустя 60 страниц формата А4, говорят: а вот вам практические задания, а ты хорошо если запомнил названия пары терминов. И этот результат происходит не потому что ты тупой или программирование не твоё, а потому, что область эта для тебя новая и объяснять надо по другому. А не "кто выплыл тот выплыл, а остальные, если утонули, значит плавание это не для них". Да, я не исключаю, что есть люди, которые всё схватывают на лету, но есть и другие. Все люди разные.
Мы с вами будем учиться по принципу сначала практика потом теория.
Несколько советов по обучению:
1. Не покупайте бумажные книги по программированию, где демонстрируется код и где вам нужно повторять действия за автором книги. Люди, которые меня давно знают, могут удивиться такому моему совету, ведь я очень люблю бумажные книги. Так почему же такой совет? Бумажная книга с практическими примерами — безумно неудобная штука. Ну вот представьте: вы сели обучаться. На коленях/столе/в кровати на столике для ноутбука/ на подоконнике у вас ноутбук/компьютер/моноблок, на экране редактор кода, где-то сбоку, где осталось место, увесистый томик формата А4, куда нужно постоянно смотреть, чтобы переписывать код. Через час-полтора такого обучения шея у вас будет ужасно болеть, спине это тоже не пойдёт на пользу. Что же делать? Покупаете книгу в PDF формате, открываете её pdf-читалкой и переносите в правую/левую(тут как вам удобно) часть дисплея, а с другой стороны дисплея открываете редактор кода. Так вы будете читать и повторять не отводя никуда от компьютера взгляд в сторону. Данный совет касается исключительно книг, где нужно повторять код. Другие книги по программированию можно и нужно(чтобы отдыхать от монитора глазам) читать в бумаге, либо с электронной читалки.
2. Отдыхайте. Каждый час/полтора устраивайте себе перерыв. Отвлекитесь на что-нибудь на 15-20 минут, разомнитесь, попейте воды. Это очень важно, так как при долгом непрерывном обучении мозг будет уставать и хуже воспринимать информацию.
3. Не учите что-то связанное с программированием параллельно. Сейчас нам нужно сосредоточиться только на языке и работе с Терминалом. Потом, когда вы будете хорошо знать язык и печатать его команды на автомате, этим правилом можно будет пренебречь.
4. Обязательно. ОБЯЗАТЕЛЬНО. Это безумно важно. Перепечатывайте все примеры из книги вручную(те примеры, которые автор говорит вам перепечатывать), буква за буквой, слово за словом. НЕ пользуйтесь на этапе обучения автодополнением кода(такая функция есть в редакторах кода и средах разработки). Функция эта сделана для экономии времени разработчиков. Нам не нужно экономить сейчас время. Мы учимся и чем больше кода мы пишем руками тем лучше. Во-первых, это развитие механической памяти, во-вторых, и это, пожалуй, самое главное в этом процессе, вы будете допускать ошибки.
5. Зачем нам нужны ошибки? Не бойтесь ошибок, которые вы будете допускать во время обучения. Радуйтесь им. На данном этапе это ваши лучшие друзья. Во-первых, ошибки помогают нам лучше разобраться, как работает тот или иной инструмент, пока вы будете разбираться в чём ошибка, вы будете незаметно для себя изучать глубже ту или иную команду. Во-вторых, ошибки — это засечки в вашей памяти, которые помогают вам запоминать и возвращаться к полученному при ошибке знанию в нужный момент.
6. Переключите язык операционной системы на английский. Чтобы не заниматься переводом туда-обратно названий меню, приёмов, инструментов из книг статей и видеороликов по программированию.
Наша первая книга по программированию.
Вы долго этого ждали. Когда же ну когда же он уже расскажет, что это за книга, которую нужно начать читать. Дело в том, что я хотел добиться прошлыми тремя постами, чтобы ненужных ошибок вы не допускали и потратили меньше времени, на то, на что его тратить на этом этапе обучения вообще не нужно.
Итак книга. Зед Шоу написал абсолютно крутую книгу, где учит вас исключительно на практике, что как и где нужно делать, чтобы начать программировать, в данном случае на Python. Эта книга поможет вам, во-первых, освоиться, во-вторых, подготовиться к более сложным книгам, а, в-третьих, уже начнёт вас учить навыкам работы. Круто ведь?
Я настоятельно рекомендую найти и читать эту книжку на английском языке. Для этого есть две причины:
1. Вы будете читать оригинал и не бояться своеволия переводчика(я художник я так вижу).
2. Отступы в коде будут там, где нужно, а не там, где посчитало нужным русское издательство. (в Python отступы играют важную роль и вы можете совершить много ошибок, просто из-за ранее допушенных ошибок издателя. Ваш код не будет работать.)
Давайте я приведу здесь название книги на русском и английском, а окончательный выбор всё же оставлю вам. Надеюсь вы сможете найти хотя бы один из вариантов и уже сегодня(как раз выходной), засесть за обучение. А это, поверьте мне, очень затягивающая штука.
Английское название: Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code. Zed Shaw
Русское название: Легкий способ выучить Python 3. Зед Шоу
Ребята и девчата, если вам не понравился подход к обучению в данной книге, либо не понравился стиль автора, в данной статье я составил для вас список альтернативных источников, с которых можно начать изучать программирование.
На этом я свами прощаюсь до завтра. Завтра мы поговорим о важных и нужных для разработчика ресурсах и навыках.
Приятного вам обучения! Если вам понравилась статья, не забудьте поставить лайк(мне будет очень приятно) и подписаться(мне будет безумно приятно).
Предыдущая статья. ............................................................. Следующая статья.