The programming talent myth
The programming talent myth
Posted May 16, 2015 4:11 UTC (Sat) by neilbrown (subscriber, #359)In reply to: The programming talent myth by nix
Parent article: The programming talent myth
The thing that particularly stands out for me (and which I think I can make relevant) is that you present a highly reductionistic view. You focus on the details and deny (some aspects of) the big picture (there is no beauty in the Mona Lisa, only brush strokes).
I certainly agree there is no bright line between "instinctive" and "learnt" behaviours, but nor do I find the distinction completely useless. There is a continuum, and by naming the endpoints it makes it easier to talk about them.
I seem to think of brain activity at a more abstract level than you present it. This is neither right nor wrong, just different. One of the (I claim) particular abilities of the human brain is to work at different levels of abstraction. I do a little volunteer teaching and "youth group" type work. Primary school children (up to about 12 years) are *very* concrete thinkers. I try to present abstract ideas and I'm lucky when one gets through. Concrete stories are easily remembered.
Just a couple of years later, they are making the leaps to abstract implications themselves. But going beyond two or three levels seems to take focused training. Dan Myers and others talk a lot about the "abstraction ladder" which is particularly helpful for maths. http://blog.mrmeyer.com/2012/loa-the-ladder-of-abstractio...
I think that a key part of competence with software (that's where we started, isn't it?) is the ability to move up and down the abstraction levels comfortable. To know that the brain is about chemicals and about neurons and about perceptions and about ideas and about paradigms. Or to be able to think about cachelines and stack foot print, and about interface design and maintainability, and everything between and outside these points.
I believe that I was trained in this from an early age by my father who loved to play with words and mis-interpret things whenever possible. In doing so he taught me the difference between "words" and "meaning" and importantly that there *is* a difference. Each level of abstraction is valuable, but it is important to be able to tell them apart and not believe that any one is "right".
Edsger Dijkstra touched on this 27 years ago:
>By evoking the need for deep conceptual hierarchies, the automatic computer confronts us with a radically new intellectual challenge that has no precedent in our history.
https://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD...
Still very relevant.
The LWN site is currently under high scraper load, so comment display has been suppressed for anonymous users. If you are a human, you may read the comments by clicking the button below:
Note: you can avoid this step in the future by logging into your LWN account.
