Нужно ли программистам читать книги?

Мне тут прилетело письмо, в котором автор рассказал о рекомендации, что язык нужно учить практикой и книги читать ненужно. Я тут согласен и не согласен с таким утверждением. Да, язык нужно изучать практикой, тут я на 100% согласен и всегда это рекомендую делать. Я практик и считаю, что практика помогает запоминать. Пока вы сами не увидите результат, не попробуете его лично, теория будет бесполезна. 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Уже после того, как я написал эту заметку в чате ютуберов так же начался спор - нужны книги или нет. 



Внимание!!! Если ты копируешь эту статью себе на сайт, то оставляй ссылку непосредственно на эту страницу. Спасибо за понимание

Комментарии

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

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

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне