Comments 45
Спасибо за статью, а то я уже собирался изобретать велосипед и сам писать подобное, ибо все удержать в голове — ну просто никак.
Тут идет сильная подмена понятий.
В заголовке статьи говориться о изучении языков программирования, а в самой статье о методах запоминания информации.
Если я запомню все правила дорожного движения, я не стану хорошим водителем.
Если я запомню все базовые функции какого-то языка, я не стану от этого программистом.
Изучение языка программирования — это больше процесс понимания и осознания. Например, чтобы понять ООП, надо понять ООП. И учи тут что-то или не учи, пока не поймешь, не осознаешь, не прочувствуешь — ты не можешь эффективно использовать все возможности языка.
Чтобы стать програмистом на каком-то языке надо поработать на нем 100-500 часов, а не карточки зубрить.
В заголовке статьи говориться о изучении языков программирования, а в самой статье о методах запоминания информации.
Если я запомню все правила дорожного движения, я не стану хорошим водителем.
Если я запомню все базовые функции какого-то языка, я не стану от этого программистом.
Изучение языка программирования — это больше процесс понимания и осознания. Например, чтобы понять ООП, надо понять ООП. И учи тут что-то или не учи, пока не поймешь, не осознаешь, не прочувствуешь — ты не можешь эффективно использовать все возможности языка.
Чтобы стать програмистом на каком-то языке надо поработать на нем 100-500 часов, а не карточки зубрить.
Некоторые нюансы неплохо и запомнить, а порой не получается.
Мне все же кажется, что из понимания фундаментальных вещей следует принципиальная способность решить задачу, а вот запоминание каких-то приемов, идиом, синтаксических особенностей, как раз влияет на продуктивность. Грубо говоря, если я не понимаю прототипного ООП, то я вряд ли смогу хорошо спроектировать сложную систему на JS, о скорости решения задач тут речь не идет, а то что я помню, что элемент в массив вставляется с помощью arr.splice(index, 0, el) — это то, что влияет на скорость кодинга на конкретном языке программирования.
Если вы запомните все правила дорожного движения, вы станете более хорошим водителем.
«Если за конструктором нового массива следует простое число, то в результате создается пустой массив длиной в обозначенное этим числом количество элементов. Любая другая комбинация аргументов дает на выходе массив, содержащий эти самые аргументы.»Лучше написать «натуральное положительное», во избежание путаницы)
Довольно давно для изучения английского использую Anki. Как-то и не задумывался над тем, чтобы подобную практику использовать для улучшения своих навыков в программировании.
Спасибо за статью.
Спасибо за статью.
Anki отличная программа, недавно нашел, и очень ей доволен.
Хочется плугин, который бы сам подтягивал перевод со звуком из google translate, никому не попадался?
Хочется плугин, который бы сам подтягивал перевод со звуком из google translate, никому не попадался?
Спасибо за перевод!
Надеюсь, метод и программа помогут мне эффективнее изучать немецкий.
Надеюсь, метод и программа помогут мне эффективнее изучать немецкий.
Спасибо за Anki, раньше не встречал.
Посмотрим, что же из этого получится и на сколько эффективно такое обучение.
Посмотрим, что же из этого получится и на сколько эффективно такое обучение.
Не спорю, что программа, вероятно, очень полезна, но… все ваши знакомые НАСТОЯЩИЕ программисты думаете тоже ее используют или может practice makes perfect? :)
Теперь наконец-то изучение испанского пойдет быстрее. От всей души благодарю за чудесную статью!
Попробуйте Duolingo. Там похожая система, но не по словам, а по целым предложениям, которые предлагается переводить туда-обратно, проговаривать, записывать на слух и т.д.
Никто не запрещает в Anki записывать на карточку предложения вместо слов, переводить туда-обратно, использовать аудио и видео в карточках.
Duolingo всё же отличная штука — не надо ничего записывать, он сам всё предложит. И покажет, сколько в день вы назанимались.
Правда, пары русский-английский там нет. Есть английский-немецкий, английский-французский, ещё итальянский, испанский и португальский.
Правда, пары русский-английский там нет. Есть английский-немецкий, английский-французский, ещё итальянский, испанский и португальский.
Не даром говорят: «Повторение — мать учения»!
Чтобы быть программистом, не надо знать все функции.
Надо знать где и как их искать!
Надо знать где и как их искать!
Посмотрел на цену AnkiMobile для iPhone и ужаснулся, она реально того стоит?
Ну это вам решать, вы же купили iPhone, вас никто не заставлял. Версия для Android бесплатна. С пользователей iPhone разработчики традиционно денег хотят. Есть альтернативы:
iFlash: itunes.apple.com/ru/app/iflash-touch/id313198123?mt=8
Cram: itunes.apple.com/us/app/cram/id498843111?mt=8
но они тоже небесплатны. На suse есть сколько-то ещё: suse.me/soft/anki/iphone/
iFlash: itunes.apple.com/ru/app/iflash-touch/id313198123?mt=8
Cram: itunes.apple.com/us/app/cram/id498843111?mt=8
но они тоже небесплатны. На suse есть сколько-то ещё: suse.me/soft/anki/iphone/
Во-первых, web–версия вполне функциональна и не требует денег
Во-вторых, продажа версии Anki для iPhone — это способ поддержать разработку. Поначалу мне тоже казалось, что цена великовата, но после двух лет ежедневного использования Anki (web+десктоп) я с удовольствием её купил, так как полученный эффект стоит того.
Во-вторых, продажа версии Anki для iPhone — это способ поддержать разработку. Поначалу мне тоже казалось, что цена великовата, но после двух лет ежедневного использования Anki (web+десктоп) я с удовольствием её купил, так как полученный эффект стоит того.
Язык — это ладно, вот современный фреймворк на карточки придется долго резать. Правда, можно ограничится только непонятными моментами: столкнулся с чем-то неочевидным или новым — сделал карточку.
Все способы насильно заставить свой мозг что-то заучить — кажутся мне немного не естественными. У нас и так есть встроенный планировщик, который выбирает что запоминать, а что нет. В кэш мозга попадает только то, что нам нужно регулярно, остальное вытесняется. За редкими штуками можно ходить во внешнюю память (гугл / маны / etc). Если какая-то штука стала часто используемой — она сама подгрузится в кэш (и достаточно быстро — достаточно нескольких запросов к одному и тому-же). К тому-же, с современными скоростями доступа к информации, разница между кэшом и внешней памяти не такая и большая — сходить в кэш от десятков миллисекунд до нескольких секунд; сходить во внешнюю память => от нескольких секунд до нескольких минут.
Проблема в том, что планировщик априори считает, что менять род деятельности вам нужно не так часто и сопротивляется запоминанию большого количества информации «за один присест». А многие вещи иначе невозможно начать использовать.
Так-то да, все эти карточки помогают только «первый шаг» в какой-то области сделать.
Так-то да, все эти карточки помогают только «первый шаг» в какой-то области сделать.
Вот это, как мне кажется, готовый пример того, что память не создаёт программиста.
Современный программист, на JavaScript программирующий, никогда не станет набирать код«new Array('5')», потому что «['5']» набирается куда быстрее, и проще, и безошибочнее.
Не станет он набирать и код«new Array(5)», потому что создание пустого массива ненулевой длины — это извращение, которое очередным шагом доброго и полноценного решения какой-либо задачи послужить не сможет. Всем пустым массивам лучше иметь нулевую длину: во-первых, так проще опознавать их впоследствии, а во-вторых, «[]» набирается куда быстрее, и проще, и безошибочнее.
Так что помнить эти два примера не нужно; а запомнить нужно про необходимость избегать их.
(То же самое избегание, надо сказать,и «JavaScript Гарден» советует.)
Современный программист, на JavaScript программирующий, никогда не станет набирать код
Не станет он набирать и код
Так что помнить эти два примера не нужно; а запомнить нужно про необходимость избегать их.
(То же самое избегание, надо сказать,
Дерек… вспомнил сразу Мафию 2 :)
А кому-то удалось импортировать карты по JS? А то у меня анки повис на этапе импорта.
Но имхо, метод интервальных повторений для языков программирования — лишен смысла. Программирование надо понимать, а не зубрить.
А вот для иностранных языков — совсем другое дело, у меня например есть набор карт английских идиом, забавная вещь.
Но имхо, метод интервальных повторений для языков программирования — лишен смысла. Программирование надо понимать, а не зубрить.
А вот для иностранных языков — совсем другое дело, у меня например есть набор карт английских идиом, забавная вещь.
Кто активно пользуется для своих карточек, расскажите, пожалуйста, есть ли смысл сваливать все карточки в одну колоду, или на каждую тематику лучше создавать отдельную? Как лучше организовать систему? Много колод — забудешь в каждую зайти, и мало карточек в каждой колоде. Одна колода — система проще, но всё в куче (хотя не уверен, что это плохо). Где баланс?
Есть также прекрасная программа для iOS — Eductic.
Эти карточки отлично заменяются практикой. Если что-то встретилось вам раз в жизни и больше ни разу — можно и забыть. А потом вспомнить (с меньшими усилиями, потому что «уйдёт в интуицию»). Если встречаешься часто — запоминаешь.
Карточки напоминают «программиста-теоретика», то есть человека, который учит язык программирования без процесса программирования, запоминая при этом адовы конструкции «на память», а не пальцами.
Так же как с языком. Можно сколько угодно зубрить карточки, но погружения в языковую среду они не заменят.
Карточки напоминают «программиста-теоретика», то есть человека, который учит язык программирования без процесса программирования, запоминая при этом адовы конструкции «на память», а не пальцами.
Так же как с языком. Можно сколько угодно зубрить карточки, но погружения в языковую среду они не заменят.
И? сидеть перебирать карточки учить снипеты? А кодить когда?
Завел колоду с правилами из статьи habrahabr.ru/post/194752/
Для себя определённую целесообразность вижу — такой подход позволяет обойти грабли с которыми я ещё не сталкивался.
Для себя определённую целесообразность вижу — такой подход позволяет обойти грабли с которыми я ещё не сталкивался.
Sign up to leave a comment.
Дерек Сиверс: «Метод интервального повторения — лучший способ изучения языков программирования»