3 ms·
> Can you hand-code a solver for Maxwells equations or Navier-Stokes (lid-driven cavity flow)? For my undergrad, I mostly focussed on number theory and differe
by jordigh 9y ago
> Can you hand-code a solver for Maxwells equations or Navier-Stokes (lid-driven cavity flow)?
For my undergrad, I mostly focussed on number theory and differential geometry. These topics are mostly useless unless you want to work at the NSA, which only works for the US. Most of my undergraduate curriculum is absolutely useless except for the art of mathematics itself.
For my Masters I wanted to learn more about numerical analysis, hoping to land a job this way. I suppose that did help me understand topics like machine learning, which really seems to me like numerical analysis rebranded, but I didn't end working on anything like it. In fact, what happened is that I started contributing to Octave and used the experience from working on that to justify getting other programming, non-mathematical jobs.
The reason I'm telling this story is just to emphasise that most mathematics is useless, always has been, always will be, just like most art is useless. You mentioned very specific areas and applications of mathematics, but mathematician in general will always have difficult finding jobs pertaining to their mathematical interests and need to diversify towards the need of the job market.
- Myrmornis 9y agoI think the comments here could do with being put in a little perspective. There are programmers reading HN (well, all programmers) for whom one important way they can improve as a software engineer is to improve their powers of abstract thinking. You people who have studied advanced mathematics, any of it, are exceptionally skilled at thinking abstractly. I think there’s a risk of underestimating how useful that is in software engineering.
- jordigh 9y agoI think it's a bit superstitious how we think that being good at math means you'll be good at programming. I'm not complaining, because that superstition helped me. Like I said, my math degree did give recruiters an initial good impression of me. Other than that, I don't think it translates into much of a benefit when writing code. I have personally witnessed many mathematicians write the most atrocious code, myself included. Also, if it really were about that kind of structured thinking, maybe just teaching chess to kids would be just as well.
- JoeAltmaier 9y agoYes! Remember, FORTRAN survives because mathematicians still use it...
- Myrmornis 9y agoWouldn’t you say there’s a difference between structured thinking (say, a kind of breadth-first search of ideas with pruning) and abstract thinking (which allows a programmer to, say, identify the need for a Form class on the backend to model and process POST data)? Bad programmers will just keep writing similar code to process the POST data with no abstraction about what is being done and why. Related, mathematicians use lemmas and theorems to reuse thought.
- jordigh 9y agoI think the relationship is as tenuous as being a good cook or a good chess player. Coming up with a unique recipe for cake or a good strategy for checkmate is about equally comparable to writing good code.
- Myrmornis 9y agoOK, I don't think I agree. In the area I work in, writing good code isn't so much about coming up with a clever sequence of moves; a large part of it is being adept at modeling real life situations with abstractions in software, and being adept at manipulating and combining those abstractions, and seeing when and to what extent they can be used more broadly, and knowing how to assess whether the end product is correct to the required degree.