I'd add one more: I think it helped me be a better writer. All of college and the closing out of adolescent cognitive development probably contributed some of that too, but I noticed that by the time I'd made my way through analysis classes that I was getting better responses to my written communication and that I could detect a tightness in some of it that was familiar. I think it came from spending so much time trying to clearly articulate details of abstract concepts that I was struggling to come to grips with. A proof is arguably a (very specialized) form of a persuasive essay designed first to illuminate and convince oneself.
Perhaps it contributed to the author becoming a better writer too.
You mean "non-empty but finite"?
"There exists a member of the Committee that is not active"
> 1. I expect to not get the answer on the first try
> 2. I can tolerate ungodly amounts of frustration
> 3. I attack problems from multiple angles
> 4. I check my goddamn work
> 5. I practice persistence
I happen to be one of those engineers/persons who thrives working alone, values quality over quantity, and tries to be as self sufficient as possible, so I can really relate to the above points very much.
So when I made a mistake, I'd just crush myself with doubt and anxiety. It literally would hurt my brain and give me the sinking feeling that I'd never be able to do this because I can't code anything without screwing up somewhere.
But now, after about 6 years of doing it, I've developed an entirely different attitude. The correct attitude towards machines is that they do not work. They are broken by default. So if they work, something went terribly right.
Now, when I write a line of code, and it breaks, it's just business as usual.
For me its the point 2 that is most relatable. Every time I have to use a library, even C++ STL beyond the oft used portions, or learn a new framework or language, my heart sinks a little anticipating the impending path of thorns. I have had so many encounters where it is literally a pain in the neck from all the peering into the screen trying to see just what the heck is not working, or eye burn from staring into the monitor squinting at the debugger window with small fonts, or both of this along with sore and sweaty fingers out of frantic googling that I shudder just writing about it. I call this "wrestling with the API". Its an occupational hazard for us to deal with all the man made pieces of software that are as different as their creators, and I have made my peace with it.
It usually turns out that I missed a fine detail in the documentation. Sometimes its my fault where I wouldn't have read the docs properly or have made uncalled for assumptions, and other times its squarely the documentation's fault for being unhelpful. When its my fault, I feel really disappointed with myself for having been so careless despite being an experienced dev. That adds to the frustration. Almost every time, stackoverflow has bailed me out, and invariably it would be an old post. (At times when I find a solution to something seemingly insurmountable, I have even mused about donating some money to them.) I take solace in the fact that someone had faced similar problem long before me and I need not be so harsh on myself. That until it happens again.
This can be difficult to inculcate in new programmers as they try to tweak their way past error messages.
In my experience, those who say programming isn’t mathematics are usually mistaken about what math actually is. Or at least I know I was. I used to think math was about calculation, because that’s most of what I was exposed to in school—virtually every problem, even in higher-level mathematics, was brought back around to work with concrete values, perhaps in an effort to tie the problems to something “real-world” and get kids interested in it. But it had the opposite effect on me—that’s like saying programming is about making a machine do calculations! Yes, in a literal sense, but there are much higher-level, more abstract and interesting things at work there.
To me, a computer’s value is that it’s an automated proving machine. You can make useful, entertaining, or interesting things happen in the real world—just by writing a proof that you can!
I'd be slightly leery about taking advice from someone who admits they actually didn't do well learning math. Looking at the points, most of the advice sounds good but a couple seem a bit off.
Especially: "I can tolerate ungodly amounts of frustration".
Math isn't always easy but my hunch is that if it feels hard, you're on the wrong track. The best moments in math for me are the "it's obvious" times, points where everything just flows from first principles.
I've always "found math easy" and occasionally tutored people who had trouble with it. It always seemed like those who got stuck would make the mistake of thinking math was a grind, that if they pushed through enough frustration they'd get there. I think that attitude might help some fieds but I don't think it helps math.
This isn't to say math really is easy. Rather, I think the appropriate approach is to spend a lot of time and approach from multiple angles until it feels easy (and fun and creative). Work really "hard" to attain a state of productive laziness. But that work shouldn't be a continuous grind either, rather a careful survey of all the ways one can approach the topic.
And certainly being able to tolerate frustration is certainly useful in many fields, programming among them. But I'd say that intellectual problems that benefit from overt are problems where a person has all the knowledge necessary for the solution and merely has to engage in a long, frustrating process of putting them together - like a large but not hugely sophisticated, computer program.
Technically speaking every mathematical proof is a proof "from first principles" - but if I teach you analysis and linear algebra, you're not going to just derive vector and tensor analysis easily, no matter what first principles you're working from. Beyond the first few years of undergrad math everything is so far removed from first principles that it's virtually certain you will struggle with some of the material unless you have significant prior exposure to it. There isn't really a way around that. You have the exposure or you don't, but math you haven't learned never just "falls into place", so to speak, even if it's relatively easier for some than others.
In fact, every former math graduate student I can think of has told me the first year or so felt like wallowing in confusion. Likewise "working at the edges until it feels easy" seems like a distinction without a difference, in my opinion (but reminds me of Grothendieck). I don't see a meaningful difference between the frustration of software engineering and the frustration of math, either. If you're not doing research mathematics, day to day applied math work becomes just as much about routine, "grab your toolkit and put things together" work as programming.
What I hear you saying can be seen as a gym analogy: no pain, no gain. The hidden part here is that gym rats actually enjoy the experience, whatever words you use to describe it, and for many others who are after the results it's merely painful.
If you are in grad school: in my opinion, graduate schools are supremely successful in sucking all the joy out of doing mathematics (and life). The whole system needs to be scrapped.
I agree that one should not avoid taking advice on math from someone who struggled with it - because, as you note, that's all of us.
However, I would not take advice on a subject from someone who's never really enjoyed doing it.
The point of a proof (at least one that isn't a terribly contrived homework problem) is that there is no "correct tool" to solve it. You're developing the theory that creates (or demonstrates the validity of) the "correct tool." It's a very good training for a research mindset (research is similarly notorious for causing frustration, among many other similarities) and that's evidenced by the premium that great school admissions programs put on students with a track record of pure math success.
Maths is hard for everybody, including the people who excel at it. I've never met anybody who has spent serious time on a math education suggest anything else.
If you get a sadistic pleasure out of torturing your mind with numbing puzzles and like the reward of finally figuring something out that you had to ponder for days (or longer) then you have a good chance of doing maths at the university level. But it never really comes naturally to anybody, it's not the kind of thing we're build for.
math is hard, but it shouldn't be painful.
Mathematicians, contrary to the opinion of the article writer, anre't masochists. We do math because it's rewarding and fun. Being hard doesn't make it necessarily painful.
An analogy: to some, going to a gym is a painful experience. But a lot of people do enjoy it! Of course lifting weights is never easy - but that doesn't mean going to gym is inherently a masochistic experience. Only if one makes it so.
Learning math (and other subjects in a similar spirit, like physics) is often a frustrating endeavor while you're leveling up to new concepts. IMHO, most of that is because you're thrashing around trying to find the correct perspective that opens up the subject and makes everything obvious. By obvious, I mean not just "this procedure solves this problem" but "this procedure must solve this problem... it couldn't be any other way". Once you're at that level, doing math at that level can be pretty easy. It's mostly conceptual, and doesn't have the tedious procedure that some other fields might involve.
The emotional high of that clarity is what keeps a lot of people going through the frustrations along the way. Describing the painful journey without describing what makes it worthwhile is a disservice to readers.
This person has not been doing math. What he was doing - that's not what mathematics is.
To understand why I say this, read Lockhart's Lament.
In short: the true joy of doing mathematics is asking interesting questions and exploring. It's telling a good story. It's being the only person in the entire world who knows a spoiler or two for the upcoming series (even if it's anticipated by only a handful). It's about noticing something simple which makes a hard thing easy. It's about that a-ha moment, and about being surprised - sometimes by what you say.
All the tedium, frustration, being stuck, etc are not the end goal, they just sometimes happen on the way there.
The poor sap never got to do math. He's got to eat the crust off a pizza - and never got to the delicious part.
And he never got to learn how social math is - because, as an advisor of mine once said: mathematics, like food, is beat shared.
Lockhart's lament is thrown around here a lot around here, and it does make a valid criticism of math education. On the other hand, I think we're justified treating math differently than art. We tell students that math will be useful because it's true. Math teaches you that viewing problems more abstractly will make it possible to gain more insights into them, and math provides frameworks for making those insights. This skill takes practice. More than most skills, it's clear when you're doing it well, which makes practicing it all the more effective.
Math is beautiful, sometimes. I see this article saying the mundane parts are worth fighting through, too.
It's just that the most people who encounter mathematics in some shape of form (before college for most) aren't even aware of the non-mundane parts.
Their only problem is that their interesting post fell prey to the usual "dismissive top HN comment" though...
The way most people know math is the way it is presented in the article: "Math is pain. Studying math is masochistic." (literal quote).
There are many ways to appreciate math, but perhaps the ones described as "masochistic" aren't the ways we should actively spread, in my opinion. And yet, we do.
Compare this to doing original work. Here, when you get stuck it is frustrating because you want progress, but there is no reason to presume that what you are doing is feasible. Therefore, it is not painful that you make no progress, for it is not expected of you to be able to progress.
This is of course a big difference between undergraduate mathematics and doing mathematics research.
I think that the system has failed the author, and deprived them of fun.
If I met them, I'd tell them the same thing I'd tell you: come back to math! There's fun and beauty in it, and suffering is not a necessary component of that.
As far as your math grad friends go: the school, most likely, is failing them. Statistically, about half of them are depressed. Most have no job prospects that will allow them to keep doing what they are trained to do (simple matter of #students >> #positions). Ask them how often they considered suicide (not if), the answers may surprise you. Graduate school does make mathematics (amd life) a funless process way too often - and that's a problem. But that's not how things should and can be.
Please read Lockhart's Lament I linked to in order to understand my point better.
What I ultimately am saying is that what is being pushed onto people as math is way to often isn't really, in a way that a cheese product isn't cheese.
He is wrong in that painters and musicians tend to get rigorous instruction in the basics before they become independently creative. Picasso's realism phase. Musical theory etc.
They still get to do it: they get to paint, play, sing, etc. Most math students don't get to do math. They learn about it until a year or two into grad school sometimes.
>maths is one of the few arts that is actually taught in school.
His point is that what is taught is mathematics as much as the names of notes is music.
That's kinda like returning home after a long day, because algebraically closed fields are about the nicest structure you can hope to find yourself working in!
Personally I'd posit finitely generated abelian groups as the nicest structures. Perhaps there is also something to be said for finite algebraically closed fields.
That you can't communicate a particular piece of math suggests that it has no tangible relation to physical phenomena. To me, that's a major red flag.
A lot of mathematics is that way, and there's nothing wrong with that.
Sometimes mathematical concepts do find tangible physical phenomena that demonstrate them - but sometimes, centuries after they've been invented.
Mathematics is often about what one can imagine. Our imagination can be inspired by the world around us, but it is not limited by it.
It's not a red flag that some concepts don't have short explanations. Sometimes you really just have to know the full joke to get the punchline.
it was correct by construction
we wrote numbers in the sand
watched the glass dance of entropy
against tired eyes
until our vision blurred
remaining only feeling
legs crossed in a field
blade of grass
simplification is hard work
it's clear there is no enemy
it's clear there is no enemy
I’m not perfect at this, but am trying to get better at not telling others what is “real” programming or math or OO or anything.
I think I understand what you're saying, and thanks for clarifying.
"Math isn't for me", "The truth is, math didn’t move me.", etc. - I wish I had a dollar every time I heard that.
Imagine someone saying "Meat isn't for me, it just didn't move me, and I'll never have it again" after having a tofu burger. That's what it sounds like.
That being said, the author was studying applied mathematics. It's kind of their job to not get excited and instead ask the boring question of "how will I ever use this in real life".
It's related in the following way: if you are advancing the state of the art, you are really doing mathematics. The converse is not true, there are many ways to do math without advancing the state of the art.
>So in theory, at any point in time you could remove the books with the spoilers, lock up the classroom and let the students rediscover on their own. That might confer the excitement, but it would be glacial.
Essentially, yes! What you described is called Inquiry-Based Learning , and is a very well established (and woefully underutilized) educational practice.
You are correct that on the surface, it appears that IBL is slow. However, I would argue that students learn more in the same timespan.
Why? Simply put, you don't measure a house by the number of bricks. A shed you build on your own is a house, but a pile of bricks accumulated over 10 years is not.
Perhaps a student who understands the Fundamental Theorem of Calculus and the notion of limits has learned more Calculus than the one who has learned 100 ad-hoc symbolic integration techniques. It's a travesty that today's education emphasizes the latter.
>So you add a teacher, to nudge the students into the direction of the fastest path. That quickly turns into full-on spoilers...
...and it really doesn't have to be this way.
>Is there any place in the world that teaches math in a different way?
Yes, the US. In some places. Personally, my spouse designed and taught an IBL university-level math course; it's something that exists and is (very slowly) spreading.
>That being said, the author was studying applied mathematics. It's kind of their job to not get excited and instead ask the boring question of "how will I ever use this in real life".
True, but the applied mathematicians I've seen still have a lot of fun with it. That's my complaint - that the author didn't get to enjoy the kind of math he was doing. I don't think that it's because his math was applied.
7. Most problems have no solution. Doing undergraduate mathematics you can always be sure that every question is well posed and has an answer somewhere. Once you start doing research, this is not the case at all. Problems without solutions are so prevalent, that asking the right question becomes the interesting thing, not the finding of the answer.
I’d rather have basic arithmetic treated as a separate subject, and then some form of “problem solving math” which can incorporate concepts from calculus, algebra, and especially probability and statistics. The best three math classes I’ve ever taken were a combination of physics and calculus in a small group taught by two teachers who worked closely together, a weird MIT ESG seminar with a postdoc and 3 students covering the broad expanse of everything post 18.03, and number theory and crypto at the same time (a grad class I snuck into without prereqs and spent the first month essentially 30h/wk catching up on those.). What was consistent with two of these was having a clear problem to solve; with the third it was just high interactivity with an expert for an extended period.
Providing students with exposure to the problem space addressed by a certain form of math, then letting them discover some of the truths and techniques on their own in the same way they were originally discovered, is going to take more time and far more skilled instructors than just repeating facts, but will be more engaging and produce better understanding.
I also add to the list a deep appreciation for elegant solutions (Mathematicians do not like kludges).
But I was like an addict solving every question I could find. I got a kick from solving it before anyone else, completing the whole book before others opened the first chapter.
I was looking at my wristwatch all time and solving it like my life would simply end if I stopped or wasted even a moment.
I was never burned out, never felt tired.
(That said, it would be very interesting to see the same article written by someone with a PhD in math. That's a completely different animal, and might be much more interesting to discuss.)
I've read a lot of high level descriptions of math including some from some famous mathematicians that I regard as total BS. In strong contrast, the quora link was pretty good. Some of the best parts in that quora link I had to discover for myself, and the quora link is the first explanation I've seen by others.
For the OP, naw, I can't go along with much of that. In strong contrast, I loved learning, using, creating, publishing, teaching math and still do. Most of what I learned was from what I studied from outside a formal academic course; I studied the material because I wanted to understand it and did like learning it. The work was great fun, not frustrating or unpleasant in any sense. Even in courses, mostly I just wanted to learn the material and often ignored the class and teacher, concentrated on one or a few books, studied alone, and learned the material, generally for the course standards, quite well.
Sorry the OP had a tough time multiplying matrices and understanding eigen values -- I had no such problems. To me, matrix multiplication is glorious because it is an associative operation and from what we can see from that -- amazing when think about it a little. For eigen values and eigen vectors, those are astounding, the keys to the polar decomposition which IMHO is the crown jewel of linear algebra and one of the more amazing results in all of math.
The most difficult material studied was just from writing that didn't explain very well. One example was most of the explanations I read for the simplex algorithm of linear programming. Really, a super nice way to approach the subject is that it's just a nice, nearly obvious, tweak of Gauss elimination.
Now, as I program more, I'm starting to appreciate what math has to offer. Especially when I dig through a library or framework and break down what its doing on a step by step process.
I find the people I look up to most, whether its in engineering, programming ,etc - are also great mathmaticians.
Math for me has helped me in the following ways
1. Its helped me write better. Math is like writing. Its all about expressing the most amount of "oompf" in the fewest syntax possible.
2. It has helped me program better. Learning discrete math helps me draw parallels on what an array foundationally is (set theory), and why low level logic works the way it does.
3. It helps me write better notes. I used to use thousands of annotated images for taking notes. Then I realize how poorly that turned out. Over the years I've learned to take better notes by writing more in fewer words. Eventually, this led me to math. Math is the simplest way of expressing complex logic.
4. It has helped my understanding of 3D and 2D processing. Learning linear algebra from 3blue1brown has made it much easier to understand why and how 3D rendering / imaging programs work at the most basic level. How a box is shaded, how a 3D item is modeled when you apply a fillet to it.
I intend to learn ML / AI , so knowing statistics comes in handy, which at its core is still math.
Just learning and knowing math makes everything so much easier to pick up after.
A trait probably shared with most proficient software developers. The diamond of high skill must be formed by the stresses and pressures of persistent frustration and failure.