4 ms·
> you have to be able to hold very large completely abstract systems in your brain. That's a different skill/aptitude than, for example, holding all the working
by stuartd 6y ago
> you have to be able to hold very large completely abstract systems in your brain. That's a different skill/aptitude than, for example, holding all the working parts of an internal combustion engine in your mind.
Is it really different though? “Why isn’t this engine working?” [traces through combustion path to find problem] doesn’t require ‘holding all the steps in you mind’ but it does require knowing them and how they interact, whereas “how do I make this engine more efficient?” does require a mental model of the whole engine and how the parts interact?
These seem broadly to me as analogous to respectively maintenance programming and systems development.
Edit: I think the part I don’t understand is why you think the abstract system (the code) is qualitatively different from the concrete system (the engine).
- Consultant32452 6y agoYes, abstract thinking is different than concrete thinking. Thinking about an engine part is concrete thinking. Manipulating that part in imaginary 3d space in your mind is abstract thinking. 100% of programming is abstract thinking. Abstract and concrete thinking are done in different parts of the brain. Here's the first google result I found on the topic. I think this stuff is really interesting. https://www.goodtherapy.org/blog/psychpedia/abstract-thinking https://www.goodtherapy.org/blog/psychpedia/abstract-thinkin...