Сериал, состоящий из двух частей, написанный совместно Шоном Тарвером и Оскаром Лопесом

под редакцией Джейн Нгуен

Недавно у нас с Оскаром состоялся интересный разговор о том, в каком направлении двигаться дальше. Мы только что закончили книгу по программированию на Python.

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

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

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

Практика

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

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

Я хочу задать вам всем вопрос: разве программирование не является любопытством? Удовлетворить внутреннее любопытство, которое побуждает вас исследовать и понимать через действие, а не просто чтение книги? Именно этот драйв движет мной. Не только в том, как я изучаю Python, но и в том, как я стараюсь учиться в целом. Значит ли это, что у меня не будет какой-то структуры? Нет. Но практическое обучение сослужило мне хорошую службу и позволяет учиться на ошибках, которые могут возникнуть. Кроме того, я могу дисциплинировать себя, чтобы не попасть в определенные ловушки или сделать что-то, что сделает мой код непонятным для других. Это подводит меня к следующему пункту, на котором я сосредоточусь на практичности.

Практичность

Я придаю большое значение практичности. Почему? Хорошо, я объясню.

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

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

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