3 ms·
My answer would be to memorize useful facts that can't be derived from other knowledge. But put the most effort in building up fundamentals that can synthsize m
by karmakaze 3y ago
My answer would be to memorize useful facts that can't be derived from other knowledge. But put the most effort in building up fundamentals that can synthsize most usages.
Arbitrary things like obscure names, weird parameter orderings, mutated inputs, etc are all the sorts of gotchas that can be learned up-front if you care to know them before being bitten.
An example for Python is the del statement `del d[key]` which I find arbitrary and non-intuitive.
Actually when learning any language I usually learn the collections usages early--these would be good to memorize rather than repeatedly looking up and learning case-by-case as a time saving (non flow state breaking) measure.
For Swift it was all the weird call forms with keyword/symbols that move around rather than being additional parts of a complete form.
- stared 3y agoLearning parameter ordering is precisely a thing that I advice against memorizing. Just use IDE. Other things - well, there is Google, there is StackOverflow, and now - also ChatGPT with GPT-4. Sure, it might not be enough for learning (at least, not for everyone), but well enough to avoid needless memorization. Memorization always comes at some opportunity cost of using time (and, well, brain capacity) for something more fruitful, e.g., learning good programming patterns, wise abstractions, etc.
- karmakaze 3y agoThe 'parameter ordering' bit was specifically from using PHP for a stint. The standard library goes out of its way to make parameter ordering non-standard and inconsistent. Having to look it up constantly was such a flow-kill. My text editor back then wasn't so smart.