I often wonder about the neurology of memory regarding thinking. Often I think intelligence main parameter is size of L0 cache in the brain (sorry for the cheap metaphor). Normal people can solve problem, but it will require dozens of round trip between making up ideas / theories, checking them, pruning what was good or not, inferring new ideas from that. While a smart guy will probably do the same steps.. but in one shot. No pause, no gaps..
I wish each language, framework and library had a manual on HOW to read their docs.<p>I have a very hard time with reading the official PHP docs. Very hard time.<p>The official JavaScript docs are not bad, but they throw too much information about each operation. I don't want to know every single possible way to use an operation. I want a Pareto Principle-based categorization of most common use-cases so that I can prioritize what to look at.
I was hoping to also find mentions of how to effectively reduce these.<p>When reading code, I break things down differently.<p><pre><code> 1. Domain knowledge
2. Programming knowledge (e.g. recursion)
3. What is being done
4. How is it being done
5. Where/when is it being done
</code></pre>
Wherever possible I try to stay with strong opinions and alignment on the first three. The last two should try to be as simple and clear as possible. Reading code in this day and age should not so much be about 'playing computer' in your head, but rather using well-known/tested patterns that allow for factoring/composition and accurate reasoning <i>without</i> requiring deep context.
Fascinating stuff. For anyone interested in learning more and also technics for working with code, the Programmer's Brain [0] is an excellent book.<p>[0] <a href="https://www.goodreads.com/book/show/57196550-the-programmer-s-brain" rel="nofollow">https://www.goodreads.com/book/show/57196550-the-programmer-...</a>
Raymond Hettinger gave an entertaining talk [0] on a related topic. He taled about how the working memory limits are reflected in code, and how we can reduce the necessary cognitive load of understanding a piece of code.<p>[0] <a href="https://youtube.com/watch?v=Uwuv05aZ6ug" rel="nofollow">https://youtube.com/watch?v=Uwuv05aZ6ug</a>
This is a good article on the 'states' of knowledge, and how you float between them, and how to examine your (true) understanding of a specific piece of context. Great read.