|
|
|
|
|
by davekinkead
3316 days ago
|
|
While I think programming can be a good way to teach general thinking skills like perspective, clarity, precision, and abstraction, I'm dubious about the claim that it is the best way to do so (§2.1). Perspective - does learning multiple programming languages engender more awareness of different perspectives than say, learning multiple foreign natural languages? Abstraction - does learning programming languages develop better use of conceptual abstraction than say, mathematics? Precision and clarity - does learning programming languages develop better precision and clarity than studying philosophy and logic? These are all empirical questions and no empiric data is provided. The lack of support in the argument for the conclusion given also hints that maybe learning programming isn't _the best_ way to learn clarity & precision after all. Where I thinking learning to program stands out as superior is that it teaches a skill that is currently in high demand - programming. |
|
I'd definitely say programming will teach you precision and clarity way better than logic and philosophy, because it's grounded in reality. If you want to build something cool and/or get paid, you have to actually think things through; the compiler won't be impressed by your long paper loaded with smart-sounding words.
Also, a side benefit here is that some time spent thinking about representing real world in programs lets one discover just how imprecise, messy and ad hoc everything is - doubly so if it involves humans. I'm sure I wouldn't internalize ideas like "map != territory" as well as I did if not for spending time thinking about modelling real world concepts in a computer program, and in the process realizing the "territory" they taught me in school was just a map (and a pretty shitty one).
> Abstraction - does learning programming languages develop better use of conceptual abstraction than say, mathematics?
I don't know. I haven't done much mathematics at the level when it gets interesting. I know algebra feels to me to require very similar kind of thinking as a lot of programming work.
--
[0] - I say "can be", not "is", because I've seen plenty of people who write code for a living, and yet their thoughts are as precise and reasoning as subtle as the Tsar Bomba. Somehow, some people don't seem to realize that the cognitive discipline they use when programming can, and should be applied to "normal life" too.