3 ms·
My mistake in using memorization in a different sense. Let me clarify; memory is intrinsic to learning. Everything we ever know is based on remembering things.
by kiba 9y ago
My mistake in using memorization in a different sense.
Let me clarify; memory is intrinsic to learning. Everything we ever know is based on remembering things.
If you mean rote memorization, to repeat something over and over again until you remember it but not necessary understand, then that is only one strategy for learning. It works but it is rather inefficient and may cause one to miss things.
Similarly, we cannot overemphasize learning concepts over practice and facts. A programmer do not look up syntax unless one is learning a new language. An even better example; quick bugfixing required a deep knowledge of the codebase, lot of experience with tons of different bugs and knowledge of debugging strategies.
To me, it seems wrong to separate facts from the concepts, and skills from intellectual knowledge.
- nxc18 9y agoIf you really need to know a fact, you will naturally memorize it in the course of your work. In reality, the amount of syntax to memorize in your programming language is tiny; there are probably several keywords you don't know particularly well that don't impact your day to day. Further, almost all common languages share huge amounts of their syntax and much of the semantics of their constructs. Many chemistry classes require students to memorize the periodic table up front. This is a mistake; by doing chemistry work, you naturally learn the table, and, crucially, the patterns involved. Contrast this to how I was taught multiplication: memorize this table. As a result, I was both bad at multiplication for a long time as a child, and I missed out on the beauty of mathematical patterns for a long time. It turns out multiplication is actually useful, so now I could produce a times table - not from memory, but from scratch from the concept. I see far too often students who try to memorize the code for an algorithm - or even just the algorithm - without the concept itself. This is useless, it leads to frustration, and it fucks you when it's time to rewrite it in another language or add a twist. Seriously, do yourself a favor and stop memorizing things. Do things, and if it turns out you remember it, then that's how you know its worth memorizing.
- oblio 9y ago> If you really need to know a fact, you will naturally memorize it in the course of your work. And then there's programming interviews for big companies, where they all want me to know minute details of things I'be never encountered in my day job, that I studied years ago in college, and that I will probably not need for my actual job (90% sure about this, seeing most products released by the big companies).
- nxc18 9y agoThat's a good point. I very fortunately left interview mode a few months ago, and have pretty deliberately blocked that part of my life out. As you might have guessed, I'm not great at it. You could argue that the fact that memorization is helpful illustrates how flawed those programming interviews are. It's just like any test in school, memorizing things for a short time before the test is effective, but it doesn't really help you in the long run. Good luck with your interviews :)
- theonemind 9y agoTo provide a different perspective, I got exponentially better at my job when I decided to embrace deliberate memorization. I sort of have these mental patterns of "irreducible complexity" built up--things I couldn't or wouldn't have gotten organically, because I memorized half-understood or not-immediately-useful-but-promising-looking things until I could lock them together, like holding up a two legged table until I could find a third leg. I came to think of them like mental scaffolding. The scaffolding ended up discarded in the end, but I wouldn't have the building without it.