Как стать автором
Обновить

Комментарии 20

Спасибо, подход интересный, я обычно просто веду конспект (вещи которые новые), либо на полях пометки делаю карандашом.
У меня нет чёткого алгоритма, при прочтении книг по программированию. Но всегда, когда я начинал учить разные языки, будь то С, GoLang или Swift, я всегда перепечатывал примеры (не копипаста) в свою IDE и тестировал как они работают. Если в книге были ошибки, то я вспоминал создателей книги и старался их исправить.

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

А зачем Вы просто перепечатываете пример? Его (каждый набранный пример) надо ещё и обязательно изменять самому — в итоге к концу книги все примеры превращаются в Франкенштейнов, взамен оставляя в голове запомненный язык программирования.

Я писал с телефона, поэтому не указал всех деталей. Да, вы правы, конечно я не только перепечатывал пример, но и экспериментировал. Например, когда проходишь std:cout, или printf (знаю, что это из разных библиотек), то приходилось тратить продолжительное время, чтобы протестировать всё то, что приходило в голову.

Просто перепечатывать тоже полезно, как я считаю, потому что развивает механическую память, и потом уже ты автоматом создаёшь функцию main не глядя на её объявление в книге. Если не перепечатывать, а сразу лепить своё, то когда тема новая, сразу же твой пример перестаёт работать и ты не понимаешь что к чему…

Зато придётся проявлять изобретательность, аналитические и лингвистические способности (в смысле как английского, так и С++)...:) Представьте себе, как прокачаются скилы, если таким способом поизучать что нибудь сложное — например, шаблоны в С++ — можно даже запретить себе искать готовые рецепты для исправления ошибок в сети, а разрешив пользоваться только, например, ISO/IEC 14882 1998, ISO/IEC 14882:2011, C++ ISO/IEC JTC1, draft C++17 и, в особо сложных случаях (в качестве "послабления") — документацией на компилятор и отладчиком. Такая прокачка скилов — отличная замена для взрослых прочитанных в юности историй о Шерлоке Холмсе — только тут есть возможность самому в него поиграть.

Если в книге были ошибки, то я вспоминал создателей книги
недобрым словом?
Да, это ужасно, единственная книга, которая попортила мне нервов, это какой-то там самоучитель С++ за 21 день (одна из моих первых книг), которая мне досталась нахаляву. И там практически каждый, каждый, чтоб их, пример был с дефектом. То точку с запятой потеряют, то один знак больше/меньше.
Главу с какой-то Борландовской гуи-библиотекой для Borland C++ 5.02 я решил пропустить. И хорошо. Всё равно этот фреймворк был вытеснен VCL, а потом и вовсе пропал где-то.
Примеры с ошибками на мой взгляд требуют большего и внимания и понимания того, что в них написано.
Поиски «почему не работает» эффективнее отложит информацию в голове, чем копипаста и небольшие правки в рабочем коде
Неоднократно встречал утверждение, что ошибки в листингах помогают в изучении языка.

Типа, человека заставляют думать, самостоятельно разбираться в языке (а не тупо «копипастить»).
Да, про перепечатывание совет хороший. Всегда так делал, когда только начинал программировать. Хотя и сейчас так делаю иногда.
Я сначала просто читаю, просто подряд не зацикливаясь особо понял или нет. Потом перечитываю, текст уже знаком. Бывает что-то рассматривается и никак в голове не указывается, а через пару глав это всё разъясняется и само встаёт на свои места. Поэтому сначала быстро прочитываю, не проглядываю, а прочитываю, а затем читаю внимательно. Бывает перечитываю больше двух раз.
аналогично) ибо если не в теме, даже не знаешь, какую задачу ставить.
1) читаю поверхностно, особо не вникая. Ток примечаю главные идеи. Отмечаю маркером, моменты, кот. показались важными. Понял, о чём вообще в книге, где что смотреть.
2) перечитываю несколько раз пока не пойму, спокойно и вдумчиво. Важные места уже отмечены маркером.

Вообще ещё обстановка при чтении важна. Чтоб никто не отвлекал и тп. Читаю в метро — никуда не деться, не отвлечься на удовольствия.
У меня так не получается. Если начинаю читать незнакомую тему бегло — теряю суть и мысли уходят в сторону. Через время ловлю себя на том, что часть текста просто «просмотрена».
Наиболее эффективно, с точки зрения «минимум времени-максимум эффективности», получается:
  • максимально вникая прочитать главу (или её подраздел). При этом отмечая что необходимо законспектировать;
  • второй заход — быстро пробежаться по прочитанному, останавливаясь на конспектирование важных моментов. Часто получается так, что при конспектировании разъясняются непонятые участки. А бывает, как вы написали, что-то разъясняется через несколько глав. Конспект в этом случае помогает, не отвлекаясь от текущей темы, вспомнить основные моменты необходимого участка текста.

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

Как ускорить алгоритм ухода ко сну :)
Как ускорить поход по магазинам на 10 минут.

и тп :)
Эти мысли — это ежедневность.

Хороший пример — смотрит настоящий программист "Побег из Шоушенка" или "Полёт над гнездом кукушки" читает и думает — ах, как бы оптимизировать и ускорить побег — ну там, ускорить рытьё туннеля изменив алгоритм копания, оптимизировать инструмент, применить социнженерию к охране и санитарам… так усиленно думает, что забывает даже про свою жену или девушку.)

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