9 ms·
In Steve Yegge’s linked post: > Math is a lot easier to pick up after you know how to program. In fact, if you're a halfway decent programmer, you'll find it's
by bmitc 4y ago
In Steve Yegge’s linked post:
> Math is a lot easier to pick up after you know how to program. In fact, if you're a halfway decent programmer, you'll find it's almost a snap.
This couldn’t be more wrong. Mathematics is the hardest thing I have ever done. I’m sorry, but mathematics is orders of magnitude more intensive and difficult than most programming. A simple fact that shows this is the amount of programmers who have no formal training in engineering or computer science but we’re able to self-teach the concepts. The same cannot be said of mathematics, which requires deep, dedicated study. Most programmers I know know very little mathematics, and it’s not like I’d claim I know a lot either. I’ve forgotten more than I know.
He even mentions how little math he took, so I’m not sure he’s an authority on the subject. Most of his post is just surface level platitudes. I’m generally confused why I see his posts referenced so frequently.
To be clear, this isn't some attempt at gatekeeping. It's just that mathematics is a very deep, difficult, and misunderstood subject. I think maybe only true philosophy is harder because there, it's usually not even clear what the questions are.
- strangattractor 4y agoImplementing numerical solutions for math concepts can give you insight into the math ex. Newton-Raphson Method or FFT. I would not sell yourself short on being able to understand. You may not be skilled at doing all the symbol manipulation required for what people consider typical "math" but that does not mean you cannot understand it.
- bmitc 4y agoI do agree that programming is very useful as a medium of exploration, a la what you said. I really like how the book Turtle Geometry approaches this. But that is really something different than what the quoted text is attempting to get at. > I would not sell yourself short on being able to understand. I have a master's in mathematics and have continued to take courses while working full-time. It's just that I'm more than aware of the amount of mathematics I do not know compared to an active graduate student in mathematics and above. Or maybe you meant the royal you.
- strangattractor 4y agoI am more a recreational mathematician. There seems to be a lot of unnecessary math phobia lurking about. Simply like to encourage people that sound like they fall into that category - obviously you are not one of them:)
- tombert 4y agoI think Yegge is actually completely correct. I started to learn to program when I was 14, and once I understood the concept of functions, I found it much easier to do my calculus and physics work. Fundamentally I understood how to break things down into computable steps. Granted, I think get the impression we might be overloading the term "mathematics".
- edgyquant 4y agoI grew up programming (from 10 or so) and couldn’t agree more. I have almost no formal education yet I’ve picked up enough math to do ML and (mediocre) cryptography and keep up with people who have scary sounding degrees. in the process I’ve fallen in love with math and think as programmers we haven’t been meeting mathematicians half way.
- bmitc 4y agoMathematics is not just functions and calculus. And it seems to me that you learned the concept of functions through programming first but that there's not evidence that you couldn't have learned it from mathematics at first. Functions are a pretty easy concept, so I think it's pretty easy to introduce it from a variety of points of view. So I'm not sure the anecdote backs up any argument about learning programming makes mathematics easy. I am of the opinion that programming can be used to explore and learn mathematical ideas and am a big proponent of that, but that is something different than "I know how to program so mathematics will be easy now".
- ngcc_hk 4y agoAlways wonder about this. Other than foundation of maths, the function abd calculus view … my wonder is about the data part of the maths. Not the process. Yes one can view matrix as a function but could it be data. One can real number line, complex or integer as data?
- dekhn 4y agofunctions in traditional programming and functions in math are two different things entirely. They should have been called procedures (I think there's historical debate about this but I can't find the reference). Obviously, functional programming is an attempt to address this.
- bee_rider 4y agoWhat do you mean by “learning Mathematics?” It should be notes that significantly less than 50% of the US population even has to learn calculus so getting into the stuff that most people would consider pretty advanced is not so hard, right? I’d be curious what people’s coolest math tricks are that they’ve used at work. I did like one Taylor Series expansion and felt cool for a week.
- zozbot234 4y agoNever mind calculus; a non-trivial fraction of the U.S. population has trouble learning elementary algebra. The fact that the U.S. K-12 educational system is notoriously a failure compared to otherwise similar countries should not be used to draw inferences about the inherent worth of any particular subject. Not least because that same system also often fails to teach functional literacy, or any amount of basic facts about society that may elsewhere be assumed to be known by any educated adult.
- subradios 4y agoThen why do all New England states outcompete most European countries? Why is most STEM research produced in Eastern Europe, the US, or China? This really depends on what metrics you are using and has infinite room for gaming. US undergrads (both native and foreign born) absolutely crush all of these nondescript places you are suggesting are better, and graduate programs make the gap even wider. A non trivial fraction of those are educated K12 in the US system.
- zozbot234 4y agoU.S. undergrads have to complete "general educational requirements" that are taken care of in high school in practically every other developed country. Why does that happen? Because U.S. colleges don't trust K-12 to provide a satisfactory education.
- texaslonghorn5 4y agoor that there's value in a college level comprehensive education as well
- kccqzy 4y agoI learned Haskell before I learned to write proofs. And yes it did help. But no I don't think experience doing boot camps and churning out React apps and gluing together APIs would help with learning mathematics. Go learn a language that seriously challenges you like Haskell.
- quantum_state 4y agoIf I may, would like to add that the statement is not even wrong …
- edgyquant 4y agoI disagree because Math is programming. All those symbols you see map to a set of steps (a program.). It’s just knowing what subroutine every esoteric symbol stands for that’s hard. I will agree it’s been more difficult learning math than programming for myself as well: but that’s because math is geared and targeted for people who like doing symbolic logic by hand. Math people think we’re a level below them (we are in some ways from a working perspective) so they tend to write off complaints like this as us just wanting to make math more like programming. The fact we don’t have a nice and intuitive way of writing math via a keyboard is proof that these two fields, which should be tightly coupled, are not on the same page.
- bmitc 4y ago> Math is programming. That doesn't make any sense. What do you mean by that? > I agree it’s been more difficult learning math than programming for myself as well: but that’s because math is geared and targeted for people who like doing symbolic logic by hand. Mathematics is not about symbolic logic. Mathematics is the study of idealized structures, their properties, and their relationships. Symbols are just a convenient shorthand. They are not the mathematics in and of themselves. > The fact we don’t have a nice and intuitive way of writing math via a keyboard is proof that these two fields are not on the same page. What does that have to do with anything? Although LaTeX and the like are pretty decent at it, there's a lot of things we can't do easily via a keyboard. Why is that a constraint on anything or relevant? Not trying to be provocative, but I honestly have little idea what you're talking about.
- constantcrying 4y ago>All those symbols you see map to a set of steps (a program.) Simply not true. Most mathematical statements, e.g. proofs of existence have no relation to a "program". >math is geared and targeted for people who like doing symbolic logic by hand. No, it is not. There is absolutely nothing interesting about symbol manipulation, it is always the least interesting part of a proof. It usually is the part the author handwaves away, while focusing on the actual interesting parts, the idea behind the proof and the possible intuitions for them. Textbook might include them, but as training and because you need to be more explicit when teaching.
- starwind 4y agoMath hard. Can confirm. Starwind have math degree. Starwind much better at programming than Starwind ever was at math.
- shankr 4y agoI spend 5 years doing mathematics and still can't wrap my head around lot of maths. If you really want to see the difficulty in Computer science you'll have to go explore the theoretical stuff which at the end is just maths.
- FiberBundle 4y agoSame here, I remember putting so much effort into a course on Riemannian geometry and still not really fully grasping the content on an intuitive level. That was by far the hardest thing I've ever tried to learn. The only areas in CS that come close to that in terms of difficulty are discrete math/algorithms related ones and the CS chairs that are involved in such research also tend more towards the applied side of those topics. Really theoretical discrete math stuff resides in math departments most of the time. Still, having also taken some discrete math classes, in terms of difficulty those somewhat paled in comparison to differential geometry/topology/abstract algebra kind of stuff. I can't even imagine how difficult it must be to be doing research in those areas.
- woopwoop 4y agoA copy of the classic "Mathematics Made Difficult" (which by the way is perhaps the pinnical of human literature) is saved to my desktop as mathhard.pdf
- constantcrying 4y agoFor me the opposite was true. My mathematical education made it incredibly easy to pick up programming and programming languages, everything was somewhat familiar and the concepts just came naturally.
- dekhn 4y agoHow did you feel when you first came across a global variable, or even a pointer? It seems to me that math-first people would probably find C to be an abomination.
- constantcrying 4y agoI believe one thing which came really natural was to think in virtual machines, to see a programming language as something which acts upon a fictitious environment, where certain instructions map to certain consequences. Of course programming and mathematics are very different activities, but one core principle that I always relied on was thinking in abstractions. What option do I have to manipulate the environment and what invariants are there? How are complex thing constructed out of others? >It seems to me that math-first people would probably find C to be an abomination. I certainly don't. You might do so if you wanted programming to be an expression of pure mathematics, but I do not think that is the right approach. C does well for what it is an abstraction over an underlying, real machine and thinking of it as an abstraction is the right thing.
- bmitc 4y agoMost definitely. For me, I have never used any specific mathematical concept in programming aside from some side projects for using programming to explore mathematical ideas. But my so-called training in mathematics taught me both highly abstract thinking and deep, concrete, in the weeds thinking, and that's what really comes in handy in programming.
- BeetleB 4y agoTechnically, that's the converse, not the opposite ;-) Someone may be led into thinking you're countering the OP.
- dysoco 4y ago> mathematics is orders of magnitude more intensive and difficult than most programming But what level of programming and mathematics are you comparing here though? because college-level algebra and calculus is really not that hard imho (once it "clicks" for you, but it's the same for programming), and if we are comparing math as in what you see in a BSc/Msc of Mathematics (or research-level) then I agree it's hard but you have to compare for an equivalent level of programming. > simple fact that shows this is the amount of programmers who have no formal training in engineering or computer science but we’re able to self-teach the concepts. The same cannot be said of mathematics I would blame it more on the fact that programming is a very useful tool for people outside Computer-Science, it has very direct applications and you can monetize it very easily, so it's very likely that they might want to learn it, however, rarely you see someone deciding to take Calculus just for the sake of it if they never bothered with it in College. Overall I agree with you, but personally I find math more difficult, most people probably do but I don't think it's inherently more difficult, it's just that people are less used to study it.
- nickelpro 4y agoI would hard disagree that undergrad level Analysis or even just the trickier corners of vector calculus are within the bounds of what programmers can easily pick up without dedicated and guided study. Everybody's gangster until they have to parameterize some bullshit helical structure in R3. Comparable levels of programming, what we expect of CS juniors, are regularly picked up by "the guy who is good with Excel" in office settings as it's mostly a function of experience and exposure, not theory. And now my worthless anecdotal evidence: I self taught myself into professional programming and it was a simple matter of banging my head against a wall until shit started working. The feedback loop, "did the thing crash or not", permitted me to learn on my own. I wouldn't even begin to understand how to self-teach myself Stokes Theorem or some shit, and have zero ability to author the proofs required to reach the conclusions higher level mathematics are built on.
- zozbot234 4y ago> I wouldn't even begin to understand how to self-teach myself Stokes Theorem or some shit Input it into a proof assistant, and rely on the same sort of feedback "does the computer accept your proof, or get stuck". The hard job of formalizing stuff for this purpose has seen significant progress, e.g. by the Lean mathlib project.
- jjtheblunt 4y agoHe might be describing one bifurcation in the world of math, where constructive proofs reign, but overlooking nonconstructive "existence" proofs.
- kvathupo 4y agoI'd agree: there's a common misconception that math is "objective." Even if one agrees on the axioms (Axiom of Choice [1]), one must reach consensus on definitions, which seem to be consciously chosen to allow generalization of theorems to more mathematical objects; that is, building connections between previously disparate fields of math, e.g. algebra and geometry, calculus and geometry, etc. Why have many domain-specific theorems when we can have one? One could have a valid proof to a theorem, but there's the human element of having people understand and accept the result. That said, I think when people speak of math, they speak of its application to the real-world, not the proofs. [1] - From the Wikipedia page for the axiom, Jerry Bona has an amusing quote: "The axiom of choice is obviously true, the well-ordering principle obviously false, and who can tell about Zorn's lemma?"
- JadeNB 4y ago> That said, I think when people speak of math, they speak of its application to the real-world, not the proofs. I think it very much depends on who the people are. I'm a math teacher, and, when I speak of math, I definitely don't just mean its applications to the real world. I definitely think programming—in the sense of thinking about the craft, not just cudgelling the computer into doing what one wants—is good preparation for learning the proof-theoretic arts of mathematics.
- j2kun 4y agoI wrote a book based on this premise: www.pimbook.org. The ebook is pay what you want.
- eternityforest 4y agoThe only thing comparable is maybe drawing or playing an instrument. Math can never be learned from a textbook. Anything that's just algorithmic steps would be done by a computer, so the useful math people want to learn requires some kind of insight or new mode of thought, or advanced methods that have not been made into an app yet. I suspect when people say math is easy, they mean arithmetic and pre-algebra, and they're not concerned with practical applications at all, just the idea of general education and new ways of thought, and who knows if the level of math they are talking about is even enough to indirectly do much in daily life.
- casey2 4y agoI agree, most modern academic mathematics is essentially a codebase with too much abstraction, impressive, but insane. It doesn't have to be harder, and programming is the out. So, in my opinion, you are just learning the wrong kind of math. Ideally, programming is exactly as hard as math. Closer to the right kind of math: https://sites.math.rutgers.edu/~zeilberg/GT.html https://sites.math.rutgers.edu/~zeilberg/GT.html
- 6451937099 4y agoSi