Re:Memorizing a programming language using spaced repetition...
by nequo on Wednesday February 07, 2024 @10:57PM
(#39297890)
> There are always languages I use only occasionally (e.g. Emacs Lisp) So I'll never develop muscle memory.
This is a fantastic use case that I hadn’t thought of.
One big problem with DSLs is that unless you use them on a near daily basis, you’ll keep forgetting how to use them. They really need to be worth the memorization cost that they introduce to a system. But SRSs can help.
I'm fluent in Python, but had spent most of my time in 2.x. When I had to finally switch to 3.x, I went through all the 3.x release notes for new capabilities. One thing stood out: scandir was the preferred method compared to os.walk.
There's no way I'll remember that and I'd be too lazy to Google it. So it went into SRS.
Ditto for concurrent.futures (broke my habit of using multiprocessing directly).
The other use case for SRS and programming languages: There are always languages I use only occasionally (e.g. Emacs Lisp) So I'll never develop muscle memory. Using SRS significantly boosted my Elisp capabilities.
I don't code in JS, but I decided to take a course on it and put a lot of the stuff in SRS. I've almost never used JS since, but a coworker is using it in a project we're both working on. I was looking at his code, and pointed out to him various alternatives that he wasn't aware of (e.g. newer features since the time he learned it). Definitely would not have been able to do it without SRS. I can mostly read/understand his code. Again, almost entirely due to SRS.