Remember Rust with Anki
argpar.se
argpar.se
Using a pre-made deck just feels like a barrage of random information like this: https://twitter.com/zbgolia/status/1138489910757920769
The other thing that helps is if you first read the source from which the anki cards were made. In my case, it's a specific set of books/questions.
You can go either way; you can take a sort of vague, weak web you've already started building and use the stakes to fortify it. You can lay out a lot of stakes to help you build the web later. You can do any hybrid thing you want.
But either way, Anki may help you memorize things, but it doesn't really help you learn things. I think it's important to understand that when using Anki, so you don't accidentally convince yourself you're "learning" when you aren't. But it can greatly accelerate the learning, to the point that the memorization+learning time << learning time, depending on the circumstances.
(For human language learning, a common Anki task, I suggest an "all of the above" approach; some pre-made cards that probably are higher quality than what you can assemble yourself, some cards you make yourself based on your own learning and reading material, some raw vocabulary cards that doesn't much matter where they come from, non-Anki sources like textbooks, a little bit of everything. In most endeavors in life that's a recipe for diffusion of effort and a lot of wasted effort but it seems to me to be the way to go for human language. A single type of Anki card on its own may let you lay down a truly glorious set of stakes, but you still won't have "learned" much of anything.)
The one thing that actually helped me to jump between languages and platforms is Haxe. Just use the same syntax and API for the basic stuff, and put the focus on actually building the program. I still have to understand and know well about the target (be it C++, JS, or Python), but the time and the mental effort saved from googling about basic syntax and standard APIs is massive.
Also, when you're just starting out it's helpful, you've got the information collected in one place and won't need to hunt it down via google.
Example: I am almost never in need of grep. But sometimes I want to know which files in my project contain some string. Never could remember the right flags and order of arguments until I made it a flashcard--now I don't have to Google it anymore on those rare occasions when I need to know. Using flashcards for lots of little things like that really speeds up development; my cognitive switching costs are greatly diminished.
In the end, trying to remember everything would be silly and largely a waste. But memorizing those things that are common (but not daily) pain points would probably be an improvement over not. OTOH, I'm not going to quantify my time sufficiently to be able to provide clear evidence that it really speeds up my work.
Something like grep can easily meet the mark.
The XKCD comic you're thinking of is much more general^: https://xkcd.com/1205/
^ and not too helpful here because it assumes you know how much time something saves/costs - which isn't obvious for spaced repetition because the entire point is to dynamically adjust the timing & number of repetitions over the long run.
What you know is a Turing-complete subset with all the platform escape hatches you need, so you're able to get your stuff working.
My performance isn't any better on the deck I made myself.
You are right, if you code frequently, it becomes much more retained. Not everyone who wants to learn to code has time, that is, a full time job, or a dedicated course of study within which to build that repetition.
I'm managing now and when I go home I like to spend time with my family, but I still like to learn new things and play with new ideas/languages on hobby projects, but I am very time constrained. Things like flash cards help me a lot, especially if I have a large gap of time between the last time I touched something.
I assume the author is in a similar position to me, or that they learn better with flash cards. I went back to Rust to play around a bit and found myself having to re-read the Rust book to get my head wrapped around a few things that were really obvious, but lost in the prose of the book after being away for a few months.
I strongly encourage you to think about how others learn, especially if you're ever in a position to teach or mentor anyone in your field.
I've never used flashcards for remembering anything related to programming, but I know how effective it is for foreign language learning, so I wouldn't jump to the conclusion that for programming it would be no better than just working with code.
Languages don't just have syntax but standard library and API functions. It seems like spaced repetition would be an efficient way to remember the synopses of 5000 functions, compared to just spending years reading and writing code.