
Ask HN: Do Any ‘Coding Paradigms’ Influence the Structure of Your Thinking? - n00bdude
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?<p>I am not a coder, (learning JavaScript) but want to improve at “Thinking like a programmer,” &amp; understanding the line of thought along which coders “think in terms of” which yields creative work.<p>Also, if you know any great books on thinking like a programmer, it’d be much appreciated.<p>Thanks for you time.
======
tgflynn
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.

~~~
n00bdude
Awesome, thanks for the examples. Debugging rings a bell for me, especially
with respects to Troubleshooting.

When I for the first time put Linux on my chromebook I had to troubleshoot
virtually everything that wasn’t working in order to learn how to make Linux
work. Debugging seems in the same vein, but for code.

And the instant feedback is a great point. I’ve been reading & watching
JavaScript videos, but seems that diving in & getting that hands-on experience
of trying things out will allow me to experience that instant-feedback the
computer has to offer.

Thanks again for your thoughts!

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

~~~
n00bdude
Great, just checked it out & am reading it right now. Thanks for the book
tip!!

