5 ms·
Spaced Repetition to Increase Programmer Productivity (1993)
- vinceguidry 11y agoOh jeez, if I ever needed spaced repetition to be a programmer, I'd find a new profession, stat.
- copperx 11y agoTruth be told, our only saving grace is having documentation at the touch of a key. Remembering the API calls of a single framework is a monumental task.
- vinceguidry 11y agoI'd write my own documentation in that case.
- segmondy 11y agoEvery programmer needs to memorize the core of their language and framework. Sure, you can use documentation and IDE suggestions, but having plenty in your memory will make you much more productive, and if it need be the case that you need space repetition to memorize, then it's worth the effort.
- vinceguidry 11y agoI feel that using spaced repetition is counter-productive to learning a language / framework, meaning that using it would be worse than not using it. That is directly counter to the article's argument, though I'll admit to not having actually read it. But even if it wasn't, then the time trying to memorize things would assuredly be better spent solving problems using whatever recall you already have and referring to the documentation when you come up short.
- knight17 11y agoI have seen 'Janki method' earlier: - http://www.jackkinsella.ie/2011/12/05/janki-method.html http://www.jackkinsella.ie/2011/12/05/janki-method.html
- mietek 11y agoThis paper was published in 1993, and not 1998, as the HN title currently says. You may wish to read the excellent Wired article from 2008 about the somewhat eccentric author of this paper, Piotr Woźniak. http://www.wired.com/2008/04/ff-wozniak/ http://www.wired.com/2008/04/ff-wozniak/
- dang 11y agoThanks; year fixed.
- rwallace 11y agoI can see how a memorization aid like spaced repetition could actually improve your productivity in 1993, but in 2015, it's neither feasible nor necessary for programmers to memorize all the stuff we use, so I'm not seeing this as terribly useful nowadays.
- copperx 11y agoBut wouldn't spaced repetition be useful to master C++?
- rwallace 11y agoFair enough, that might actually be a counterexample; C++ has a lot of rules, which aren't quite so easy to look up as you need them compared to API calls.
- CaRDiaK 11y agoIf I took my OO components and looked up how to make it functional while changing it, does that mean I can do functional? No. Too many devs I work with would say so though. However if I spent 30 minutes each day turning one of my OO components into a functional equivalent, then after 6 months or so I'd have a good handle on it. When you combine spaced repetition with something like chunking, it becomes very powerful.
- segmondy 11y agoYou don't need to memorize ALL the stuff you work with. But it will help to memorize the CORE of the stuff you work with. If you are a Swift or C++ programmer. Knowing/Mastering the core of the language is very doable. it's worth doing it. If you write network programming, memorizing most of the socket functions will help. Improved memory capacity improves productivity.
- lsc 11y agoSo, I'm a SysAdmin, and compared to my UNIX knowledge, I'm a terrible programmer, so it's possible that everyone else is just using better tools than I am, but I've had jobs that were more programming than systems. My impression was that in the '90s, when I started my career, everyone used IDEs where you could type your object and it would bring up a menu showing you the methods and the options to that method. I mean, with something like FoxPro or Borland Delphi, even 16 year old me could whip out CRUD apps with very little programming knowledge at all, and without spending too much time looking shit up in the documentation. It was easy But... my impression is that nearly everyone has switched away from the IDE, and especially has switched away from editors that reduce the need for memorization. Most of the programmers I know spend most of their time in text editors that only do a very minimal amount of the programming work, meaning they've gotta memorize (or look up) a lot more than I had to when I was writing CRUD apps in the '90s. I spend a lot more time in documentation now than I did then, when I'm learning a new language or writing in a language I haven't used recently. I mean, this is just my impression... maybe I'm just not watching the right programmers. But yeah; my impression is that the need for memorization is growing, not shrinking.
- xiaoma 11y agoI actually made an Anki deck when I was learning CSS two and a half years ago and I found it was well worth the effort. Since CSS isn't something I'm nearly as interested as programming, I didn't go that far with it—just the basics of the flow, the box model, display, positioning and the most frequently used portions of CSS. Absolutely everything I memorized, I could have just looked up. I still did have to look things up sometimes. But it really is a lot better to know something than to have to Google it. Not only is it faster, but it also lets you start grouping the things you know well together and think in larger chunks. Just SRS isn't enough to learn anything, or especially how to apply it. But SRS is super efficient at improving you on one dimension that has a positive effect on others. In that sense, it's much like weightlifting is for sports.