Благодаря классическому образованию мы привыкли думать, что процесс обучения — это долгое сидение за учебниками, анализ и конспектирование важной информации, зубрёжка и лишь в конце — краткий миг воплощения теории на практике. Возможно, это самый короткий путь к просветлению, но точно не единственный. Далее несколько способов, как можно научиться программировать, не прибегая к нудному чтению технической информации.
Обучение через практику
IT-мир давно задался целью сделать программирование массовым явлением. Началось это во времена перехода от огромных вычислительных машин к персональным компьютерам. Тогда, в 1960-е годы появился язык Logo, позднее – Basic и Pascal, а сегодня балом правит яркий Scratch. У каждого из них свой подход, но суть одна – для создания рабочей программы вам хватит нескольких минут на ознакомление с синтаксисом и интерфейсом. Взглянем на пример Scratch.
Представим, что о программировании мы знаем ровно столько же, сколько про происхождение бозона Хиггса, и попробуем создать простую программу. Можете проделать все операции самостоятельно и даже включить таймер.
✔ Шаг 1. Регистрируемся на сайте. Регистрация не требует немедленного подтверждения, и уже через пару минут мы оказываемся за рабочим холстом.
✔ Шаг 2.
На ознакомление с интерфейсом ушло пара минут, на функциональные блоки ещё столько же. Для интереса вызвал справку — в ней на графическом примере объясняются действия. Скучными действиями пока и не пахнет.
✔ Шаг 3. Создаём простую программу, где наш кот-лиса пинает футбольный мяч. Таймер показывает +4 минуты.
✔ Шаг 4. Оформляем игровое поле, добавляем немного функций, и вот наш кот-лис забивает гол в ворота.
Итого: 15 минут. Просто вдумайтесь: наши родители тратили на программы часы и недели, а любой школьник способен создать такое за нескольких минут без всякой нудной теории.
Обучение через игры
Вы можете увидеть эффективность этого метода, наблюдая за маленькими детьми. Не умея читать, писать и даже выражать свои мысли, всего за несколько лет они становятся полноценными жителями социума. И всё благодаря играм.
Игры — это не обязательно компьютерная анимация и ограниченный набор функций. Использование карточек, ассоциаций, зрительных образов и любой другой нестандартный метод изучения – всё это игры. Главное — создать соревновательный эффект. Когда существует необходимость преодолеть себя или виртуального соперника, даже изучение функций в технической документации может стать увлекательным чтивом.
Чтобы убедиться в этом на практике, посетите и проведите несколько минут на следующих сайтах.
Codecombat — пожалуй, самая известная браузерная игра, связанная с программированием. В цене языки Python и JavaScript. |
|
Empire of Code — космическая стратегия, где программирование – не необходимый навык, но очень полезный. И именно поэтому у вас будет стимул изучить JavaScript или Python. |
|
Codingame — квест-головоломка, тоже на космическую тематику. Язык можно выбрать почти любой из популярных. В сравнении с предыдущими не отличается обилием графики. |
|
TopCoder — это платформа вообще без анимации, зато можно заработать денег на соревнованиях или решении особенных задач. |
|
Codewars — один из ведущих сайтов в области изучения и закрепления навыков программирования через задания и конкурсы. Поддерживаются языки Java, JavaScript, Ruby, Python, C#, Clojure, Haskell, CoffeeScript. |
Обучение через видеоролики
Интернет-обучение — хорошая альтернатива классическому образованию. Прежде всего это связано с форматом видеоуроков и тем, что преподаватели в большинстве своём – действующие специалисты. Но всё же, как и книги, интернет-курсы часто могут оказаться очень скучными и поверхностными.
Другое дело — вебинары. За минимум времени участник должен получить максимум информации, а ведущий должен удерживать внимание слушателя в течение всего мероприятия. Вебинары по определенному языку могут смотреть люди, которые не планируют его изучать. Вот, например, несколько свежих примеров из нашего раздела «Вебинары», которые с удовольствием бы посмотрел любой гик:
В таких интересных вебинарах и кроется их основная прелесть – заинтересовавшись темой, вы хотите глубже изучать язык и программировать, подыскивая что-то более классическое, вроде «Основы Python». Или записаться на курсы по языку к ведущему вебинара.
Обучение через «правильную» литературу
Недостаток большинства книг по программированию — нежелание их автора заинтересовать читателя случаями из жизни, прикладными примерами, упрощённой формулировкой сложных принципов. Однако есть книги, с которыми вы точно не заскучаете:
-
Coders at Work: Reflections on the Craft of Programming, Peter Seibel.
-
Cracking the Coding Interview: 150 Programming Questions and Solutions, Gayle Laakmann McDowell.
-
Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin.
-
Zero Bugs and Program Faster, Kate Thompson.
Каждая из этих книг рассказывает о программировании именно так, будто разработка ПО — интересное и увлекательное ремесло, которым она, безусловно, является.
Когда человек берётся за какое-то новое дело, самое главное — не растерять стартовый энтузиазм, а в перспективе — развить его. Поэтому для программирования в последнюю очередь надо применять подход, при котором вы будете себя заставлять учиться. Получайте знания с удовольствием, и вы сами не заметите, как станете крутым специалистом.