5 ms·
Ask HN: 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 7y agoI 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 7y agoAwesome, 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 7y agoLeo Brodie's book Thinking Forth gives a powerful insight into ways to think. It's also about the RPN language Forth.
- n00bdude 7y agoGreat, just checked it out & am reading it right now. Thanks for the book tip!!