Как лучше самостоятельно изучать программирование?

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

Для начала необходимо определить, что именно подразумевается под самостоятельным изучением. В данном случае речь идёт об изучении программирования путём самообразования. То есть, об освоении программирования полностью своими силами без посторонней помощи. Вне каких-либо учебных заведений и без помощи преподавателей, репетиторов, консультантов и т.д.

Основных доступных способов для самостоятельного изучения программирования три:

  • Учебные видеозаписи (видеоуроки и видеокурсы);
  • Форумы;
  • Книги.
Видеоуроки и видеокурсы

Один из наиболее современных и, пожалуй, самых популярных способов.

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

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

Достоинства видеоуроков и видеокурсов:

  • Наглядность и удобство восприятия.
    Зрителю не только показывают те или иные слайды, схемы или действия, но, часто, и комментируют их (в том числе голосом).
  • Многие видеоуроки и видеокурсы бесплатны и находятся в открытом доступе.
  • Процесс просмотра видеозаписи менее «трудозатратный» по сравнению с чтением (особенно книг).

Однако учебные видеоматериалы не лишены и целого ряда недостатков:

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

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

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

Форумы

Как говорил один мой коллега: «Лучший учебник по программированию это форум». Однако это далеко не совсем так.

Любой форум строится по принципу: «конкретный вопрос» (тема) – ответы на этот вопрос участников форума и его обсуждение с ними.

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

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

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

Так чем же всё-таки могут быть полезны форумы при самостоятельном изучении программирования?

  • Форум даёт возможность получить на свой вопрос ответ более опытного коллеги;
  • На форуме можно получить ответ на вопрос, который не описан в книгах, видеоуроках, статьях, а иногда даже в документации по используемой технологии;
  • Если форумное сообщество достаточно большое и его участники часто посещают форум, то ответ на вопрос можно получить достаточно быстро;
  • На некоторых форумах обсуждаются не только уже давно внедрённые, но и самые новые технологии. Иногда даже перспективные.
    Поэтому, если Вам повезёт с форумом, сможете узнать о новинках гораздо раньше, чем они дойдут до видеоуроков и книг.

К недостаткам форумов относятся:

  • Обращение на форумы оправдано главным образом для получения ответа на тот или иной конкретный вопрос;
  • Нет гарантий, что ответ на вопрос окажется полезным.
    Причин здесь много и они связаны как с отвечающими (в частности их квалификацией), так и самими задающими и их отношением к ответам.
    Отношение многих задающих к ответам заслуживает отдельного разговора. В своё время по этому поводу была даже написана целая статья (надеюсь, прочитавший сделает правильные выводы), которая, судя по тому, что сегодня имеет место быть на большинстве форумов, до сих пор не утратила своей актуальности.
    Кроме того, чтобы правильно задать вопрос и понять смысл ответа на него необходимо обладать хотя бы базовыми знаниями в области программирования. Иначе даже если на Ваш вопрос ответит профессионал с многолетним стажем, польза от этого будет, в лучшем случае, минимальной.
  • Оперативность ответа сильно зависит от количества постоянных участников форума, в особенности, тех из них, кто компетентен в данной проблеме. Поставить диск с видеоуроками, а, тем более, открыть книгу можно практически в любой момент.

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

Книги

Когда разговор заходит о книгах у многих почему-то возникает не однозначная реакция. Основные доводы: «есть же справка (или документация)», «есть же интернет» и т.п. Однако, несмотря на все аргументы «сторонников прогресса» и даже на появление, так называемых, «электронных книг», бумажные книги «не умирают» и по-прежнему остаются актуальными (
для удобства далее по тексту статьи под книгами будем подразумевать именно «бумажный» вариант).

Это не удивительно.

  • Для того чтобы прочитать книгу не нужно специальных устройств;
  • В книгах указываются сведения об авторе (авторах) и издательстве. Уже одно это приводит к тому, что процент книг по программированию «некачественного содержания» на порядок меньше, чем в случае тех же видеоуроков.
    Кроме того, в серьёзных издательствах, рукописи будущих книг до сих пор рецензируются.
  • Книга предполагает значительно более основательное и системное изложение информации. Это даёт возможность подробно осветить не только практические аспекты использования тех или иных технологий, но и их теоретические основы, в том числе фундаментальные.
    Поэтому, несмотря на то, что информационные технологии постоянно развиваются базовые принципы, изложенные в книгах, часто оказываются долговечнее сугубо практических советов из видеоуроков или форумов.
    Многие книги после прочтения становятся своего рода «справочниками» (иногда даже настольными).
  • Читая книгу человек, развивается интеллектуально за счёт умственного труда.

Но, и у книг есть «слабые» стороны.

  • Вследствие постоянного и интенсивного развития информационных технологий информация на бумажных носителях быстро устаревает;
  • Для того чтобы написать и издать книгу требуется время. Поэтому, выход литературы неизбежно отстаёт от выхода актуальных версий соответствующих технологий;
  • Далеко не все издательства утруждают себя рецензированием издаваемой литературы. С глубоким прискорбием, вынужден констатировать, что сильнее всех от этого пострадали именно книги для начинающих программистов.
    Во многих современных книгах адресованных начинающим разработчикам материал изложен не достаточно доступно и/или подробно, имеются грубые недочёты в содержании. В частности, не редко предлагаются не только не эффективные, но и напрямую ошибочные подходы.
    Это приводит к тому, что их читатель не только с трудом осваивает программирование (если вообще осваивает), но и запутывается благодаря тем недочётам, которые были в книге.
  • Чтение книг – это, как уже говорилось выше, интеллектуальный труд.
    Когда у одного начинающего программиста, который задавал на одном из форумов вопрос касательно основных принципов объектно-ориентированного программирования, спросили, почему он не хочет об этом прочитать, он прямо ответил – «Лень». Комментарии, как говорится, излишни.

Обращаться к книгам или нет? Ответ на этот вопрос во многом зависит от того насколько глубоко Вы намерены изучать программирование.

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

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

Как ни изучай программирование, всё равно нужна практика

В заключение хотелось бы сказать несколько слов о закреплении полученных знаний.

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

Научиться играть на фортепиано можно только играя на нём. В начале простые мелодии, потом произведения классиков.

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

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

Конечный результат во многом зависит от того какие цели Вы перед собой ставите и насколько Вы стремитесь к их достижению. Успехов!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *