[HN Gopher] Did studying proof based math topics e.g. analysis m...
___________________________________________________________________
Did studying proof based math topics e.g. analysis make you a
better programmer?
Hello, Hope all is well. I love math but haven't studied much of
it. I have only studied up to real analysis. But definitely not a
whole semester worth; my experience with analysis has been
analogous to Poor performance in a quarter based analysis course. I
did some exercises but not many. I have heard from an mit
professor[1] that math is the way to learn to think rigorously. So
I'm curious about this and I'd like to improve my thinking skills
in the hope that I will become a better programmer. In an article
a math professor said that there was some evidence that math
improved logical skills[2]. So I'm wondering if any of you noticed
that your thinking skills improved thereby making you a better
programmer after studying analysis or topology or some other proof
based math course. Also which math other than the math required in
CS programs should one study to be a better programmer and thinker?
Thanks [1] https://m.youtube.com/watch?v=SZF0MFm9pqw&pp=ygUTQWR2aWN
lIHJ1c3MgdGVkcmFrZQ%3D%3D [2]
https://www.nytimes.com/2018/04/13/opinion/sunday/math-logic-
smarter.html
Author : jobhdez
Score : 13 points
Date : 2023-06-24 21:52 UTC (1 hours ago)
| sjruu wrote:
| They overlap so much that it doesn't matter too much. Computer
| science is based on formalist logic. You'd probably get more out
| of learning breadboard computer engineering.
| markus_zhang wrote:
| I'm following Ben Eater's building a 6502 computer casually and
| it has been a lot of fun. The thought that I can buuld my own
| computer! That's exciting.
| mathgeek wrote:
| Not generally, although proofs around set theory were useful in
| grokking databases.
| wisnesky wrote:
| Yes, in the sense that "math is programming paper instead of
| computers", being better at one translates to being better at the
| other. This intuition can even be made precise via the "Curry-
| Howard isomorphism", upon which "proof assistants" such as Coq
| are built.
| yazzku wrote:
| Propositional and first-order logic along with Algebra and basic
| proofs by induction, reduction to absurdity, etc, should beat the
| logical, pedantic motherfucker out from your inner self. At least
| that is what we did at uni -- along with physics, calculus,
| discrete mathematics, and theory of computation -- but I'd argue
| the first list should be a sufficient starting point.
|
| Not really sure about "better programmer", but I think it makes
| you at least more logical and helps develop a keener attention to
| detail. "Better programmer" entails an array of many other
| qualities outside of the scope of "better thinker".
| TillE wrote:
| I don't think so. I remember most of my required math (for a CS
| degree) was proofs, and I mostly hated it. Discrete math was
| great, and anything else with practical applications in CS would
| be good too.
|
| If you have a choice, I'd rather spend the time further studying
| algorithms and data structures instead of proofs. There's a ton
| to learn, and working through algorithms in pseudocode is always
| useful.
| Madmallard wrote:
| Programming is improved by programming. Work on things
| increasingly out of your comfort zone and slowly grind your way
| up. Consume all programming related content you can that is
| written by experts. 5 years later you're much better. It's going
| to be a lot of mental blood and sweat though.
| agomez314 wrote:
| It did not. Learning git in-depth beats any amount of proof-
| solving skills you might have in traditional, day-to-day software
| engineering. Doing proofs makes you a better thinker _in
| general_, but doing it in isolation (i.e without communication
| skills or team skills) can actually be detrimental.
| gmuslera wrote:
| Mathematical proofs are in some way algorithms put in practice.
| And another useful thing they have is not leaving possibilities
| out.
|
| I think that those two things are useful mental models to have
| when learning programming, things that would be useful to have
| more as built in patterns than thinking step by step. And in that
| sense is useful to have a background in math. Maybe it doesn't
| need to be too advanced, but at least at the level of thinking
| naturally in that way.
___________________________________________________________________
(page generated 2023-06-24 23:01 UTC)