СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

| сохранено

H Программирование — это сложно; именно поэтому ему и стоит учиться в черновиках Recovery Mode Перевод

Стояла глубокая ночь. Жена с детьми уже давно легли спать, но я о сне даже и не задумывался. Мне обязательно надо было разобраться. Поэтому я в пятисотый раз подправил код и нажал на кнопку «Запустить».

Хм, выглядит многообещающе.

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



Блин.

Новые правки. Новые ошибки. Часы пролетают один за другим.

«Освоить программирование — дело непростое», — подумал я. А потом подумал: «Потому-то мне и нравится».

Как я увлекся программированием


Я начал учиться кодить на Java Script четыре месяца назад, первым шагом стал курс для фронт-енд разработчиков на freeCodeCamp. Программирование превратилось для меня в хобби.

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

Ничего плохого в перечисленных занятиях, конечно, нет, но все они настроены только на «приём». Даже чтение хорошей книги является актом потребления. Конечно, я создавал большое количество контента для работы (по профессии я журналист), но мне стала претить мысль, что я готов прилагать усилия только ради денег.

Семья, карьера и другие обязательства оставляли мне не так много свободного времени. И львиную его долю я растрачивал на то, чтобы поглощать разные типы информации. Я чувствовал себя свиньей.

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

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

Чем труднее, тем лучше


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

Девиз этой группы: «Возможно, проще не всегда значит лучше».

Я полностью с ними согласен. Эти дальнепаркующиеся лифтоненавистники правильно рассуждают. Само собой, я не о том, что написание приложений улучшает здоровье. В JavaScript проще прокачаться, чем подкачаться. Но, думаю, не будет натяжкой сказать, что обучение программированию полезно для мозга. По крайней мере, полезнее, чем смотреть все серии «Железного Кулака» в один приём или листать страницы знаменитостей на Instagram.

В моём случае даже теперь, когда я стал заниматься написанием кода, в свободное время мой первый инстинкт всё равно «полениться». Скажем, в этом месяце я уже убил десятки часов, наблюдая, как genetic outliers забрасывают мяч в металлическое кольцо — в широких массах это называют плей-офф NBA. Учитывая, что я фанат «Торонто Рэпторс», такое времяпровождение также можно назвать добровольной пыткой.

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

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

Зато это просто. Проще некуда. Плюхнулся на диван, открыл банку пива, устроился поудобнее и сиди себе три часа.

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

Как полюбить трудности


Фильм «Скрытые фигуры» в очередной раз напомнил мне, почему это важно — полюбить трудности. Там цитировался фрагмент из выступления Джона Кеннеди, начинающийся словами «Мы решили лететь на Луну»:

«Мы решили полететь на Луну в этом десятилетии и сделать другие вещи не потому, что это легко, а потому что это трудно, потому что эта цель заставит нас собрать и оценить свои силы и способности, потому что это вызов, который мы готовы принять, это задача, которую мы не хотим откладывать и с которой мы намерены успешно справиться также, как со всеми остальными… »

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

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

Если по ходу дела вам посчастливится создать что-то невероятное, и пользователи сбегутся к вашему приложению с распахнутыми кошельками — прекрасно. Не посчастливилось? Всё равно продолжайте. Если вы освоите JavaScript до такой степени, что станете гуру, у которого подписчиков на Youtube больше, чем у New York Times — прекрасно. Не стали? Всё равно продолжайте.

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

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

комментарии (2)

0
den_golub ,   * (был изменён)
Мне одному кажется что КДПВ с большими буквами HTML немного не укладывается в заголовок, да и в смысл статьи?

UPD: хитрый автор поменял картинку.
+1
WildZero ,