HACKER Q&A
📣 n00bdude

Do Any ‘Coding Paradigms’ Influence the Structure of Your Thinking?


Are there any coding paradigms or principles anyone in the HN community applies to daily life, in terms of how you look at a situation, or solve a problem not directly-related to Computer Programming?

I am not a coder, (learning JavaScript) but want to improve at “Thinking like a programmer,” & understanding the line of thought along which coders “think in terms of” which yields creative work.

Also, if you know any great books on thinking like a programmer, it’d be much appreciated.

Thanks for you time.


  👤 tgflynn Accepted Answer ✓
I think getting good at debugging software problems is a skill much of which should transfer well to just about any technical problem. The key is to be clear about what you really know, what you only think, or assume, you know and what you don't know. Then to perform experiments which move elements from the latter two sets to the first until you find the source of the problem.

A second thing about programming that is somewhat unique and can influence one's learning style is that the computer can provide you instant feedback on what works and what doesn't. Very few other disciplines have that characteristic. For example I was never very good at proving theorems in math classes because it was always hard for me to be sure my reasoning was valid and I wasn't missing some loophole in my proof. Doing formal proofs in a proof assistant like Coq is much more like programming, the computer is always there to tell you what you've really shown to be true and what you haven't. I suspect that I might be a lot more effective at writing proofs that way, though it's not something I've yet had the time to explore to any great extent.


👤 gardenfelder
Leo Brodie's book Thinking Forth gives a powerful insight into ways to think. It's also about the RPN language Forth.