Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree with the OP. Learning anything new is best done by noting down even small taken-for-granted things, things that you wouldn't care much about once you have mastered that thing.

I have been using this technique to learn the Nim programming language.

I write notes (semi-tutorial) about this language as I learn more about it. I explicitly mark things as "need to understand" or "todo" so that anyone browsing these notes knows that it's not written by a Nim expert but a Nim learner. And also the notes as strictly labelled "Notes" to make that explicit.

The notes: https://scripter.co/notes/nim/ (continuously work in progress)

This is the best experience I've had of learning so many other programming languages in the past.



I like to break down need of understanding into a few categories:

- no need to memorize or understand (some domain specific and infrequently-used portion of the API)

- memorize and understand later (it's better to just continue and get a holistic picture than to get off into the weeds analyzing how some framework magic works)

- you should comprehend this fully before continuing (general and recurring patterns for structuring your code)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: