3 ms·
When I was first starting as a programmer, I would have agreed with you. But over the years I've learned that it is 100% accurate that some people can program w
by silverbax88 15y ago
When I was first starting as a programmer, I would have agreed with you. But over the years I've learned that it is 100% accurate that some people can program while others simply cannot.
But it's not a matter of stupid/smart. It's actually the same reason why Paul Graham's 'Hackers and Painters' analogy is so apt. The reality is that some people can think in abstract terms, while others cannot.
Someone who can think in abstract terms can be a graphic artist or a programmer. Consider that even in mathematics, the most concrete things are numbers, which are completely abstract. If you understand that, then guess what? You can think in abstract terms.
- St-Clock 15y agoI completely agree with you that some people, right now, cannot think in abstract terms. My point though, is that they could learn it through deliberate practice, unless they have a severe medical condition that affect the way they think. Maybe they don't know they can learn it (possibly because others have told them that they would never get it), maybe they try hard but fail to do deliberate practice (which is different than programming every day), maybe they aren't interested and still want to have a programming job (that's a problem and they should be redirected to a more appropriate position). Another book I really like to recommend for people who hate maths or don't understand them is Innumeracy by John Allen Paulos. It really helps you get a more positive view on maths. The sequel, Beyond Numeracy, is less groundbreaking though.
- T-hawk 15y ago> The reality is that some people can think in abstract terms, while others cannot. This is true, although there's also a gray area of spectrum in between. I've worked with a few programmers who could write imperative-style code just fine, commented and clean, looping over arrays and FizzBuzz and such; but who never grokked first-class functions or SQL set-based operations. (I've replaced many a complex cursor-looping SQL procedure with a set-based query running ten or more times faster.) I think a more nuanced description of the question here is whether and how one can successfully drive oneself to think in progressively higher abstractions. It's not all black and white, abstract or concrete.
- philgo20 15y agoI totally agree with the 'thinking in abstract terms' thing but I would never reduce programming to that. It's not always so abstract. I tend to think that it'soften good rhetoric skills. A great ability with the three different types of rhetorical proof: ethos, logos, pathos. http://en.wikipedia.org/wiki/Rhetoric http://en.wikipedia.org/wiki/Rhetoric
- St-Clock 15y agoSince I'm recommending books today, I really liked "Thank You for Arguing" by Jay Heinrichs. Very fun and instructive intro to rhetoric. I can see how rhetoric (and religion!) can come into play in design meetings :-)