Live data from Hacker News

The Mathematical Hacker (2012)

evanmiller.org

61–70 of 186 posts

Re: The Mathematical Hacker (2012)

#61
post #9

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…

He might be describing one bifurcation in the world of math, where constructive proofs reign, but overlooking nonconstructive "existence" proofs.

Re: The Mathematical Hacker (2012)

#62
post #9

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…

For 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.

How 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.

Re: The Mathematical Hacker (2012)

#63
post #12

The suggested "efficient" solutions for fibonacci and factorial only work on small inputs as they return the result as a long int. For these small instances the use of floating point functions like pow, sqrt, and exp is likely less efficient than a simple iterative solution. For larger instances using bignums as output, floating point computations do not even offer an alternative. It's true though that mathematics of…

Indeed, I kind of stopped reading the article there.

The other issue is his picking on Lisp programmers with this example. If you open books on programming using C, it almost always will have either the iterative or the recursive solution - not the closed for one. So why is he picking on Lisp programmers in particular?

Re: The Mathematical Hacker (2012)

#64
post #9

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…

I'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?"

Re: The Mathematical Hacker (2012)

#65
post #15

"Writing software" = "writing down math". Consider: * "Writing software" means arranging symbols (bits in a machine language, UTF or ASCII characters in a high-level language) in certain permitted ways, to transform an input sequence of symbols (e.g., a stream of byte values representing user actions from a video game controller) into an output sequence of symbols (e.g., byte values representing pixel RGB colors for…

Mathematics is not about computation. Certain means of arranging computation are entirely irrelevant to mathematics, computation is a mathematical tool, not an end.

I never said that mathematics "is about computation."

What I did say is that writing down mathematics is equivalent to writing software.

Both require the use of a formal system.

Re: The Mathematical Hacker (2012)

#66

Earlier quoted context omitted.

U.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.

or that there's value in a college level comprehensive education as well

All other things being equal (including quality), high school is actually better than college at doing the "comprehensive education" thing. College level gen-eds are almost universally reviled as a pointless box-ticking exercise that gets in the way of specialized education. This particular dysfunction has effects even further out; U.S. college education pushes things out to the grad school level that are elsewhere part of the later years of undergrad.

Re: The Mathematical Hacker (2012)

#67
post #58
post #22

Earlier quoted context omitted.

I 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".

For most mathematicians, calculus as is often taught in typical undergrads is not "true" mathematics. It's just a tool for computation. For them, calculus is analysis (theorems/proofs that are used to build up calculus). So my question is: Did you study analysis and would you credit programming in helping you get good at it?

+1 for this comment. Calculus, i.e., Calculating with mostly finite numbers and (usually) a known set of well defined rules is only a part of mathematics.

As a student that currently learns Analysis and linear algebra, it is far more complex and abstract than calculus. It is not neccessarily harder to learn but different. And adapting to this paradigma takes time (and effort).

It is similiar to learning Assembley as a Python developer. Knowing Python will help with Assembley. But the levels of abstraction are obviously different and will require a lot of learning.

Re: The Mathematical Hacker (2012)

#68
post #65

Earlier quoted context omitted.

Mathematics is not about computation. Certain means of arranging computation are entirely irrelevant to mathematics, computation is a mathematical tool, not an end.

I never said that mathematics "is about computation." What I did say is that writing down mathematics is equivalent to writing software. Both require the use of a formal system .

>I never said that mathematics "is about computation."

But programming is about computation. If mathematics isn't about computation as well, then they are not alike.

>What I did say is that writing down mathematics is equivalent to writing software.

It is not. That is plainly false. E.g. mathematics considers objects which are not computable and makes non-computable calculations with those objects. I am aware that you can encode certain formal mathematics into certain software, but that is like saying cooking is like programming because you can encode recipes as a program.

>Both require the use of a formal system.

So what?

Re: The Mathematical Hacker (2012)

#69
post #53
post #9

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…

> 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 b…

I 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.

Re: The Mathematical Hacker (2012)

#70
> They seem to agree on one thing: from a workaday perspective, math is essentially useless.

The creator of Dilbert advocates stacking, namely learning multiple skills and combining them to achieve better results than any single skill can. His advice applies to maths as well. I work on distributed systems as a generalist, yet I find maths, time and time again, career changing. A few typical examples: queuing theory that helps improving latency of my services by more than 10x. Statistics to identify patterns in data, which led to a new product. Time series analysis that led to a new system. Data mining and information retrieval in search and recommendation for continuous improvement of my search product. Linear algebra, calculus, and combinatorics as foundations to identify or prove certain properties of my systems for later optimization. And in general, the ability to understand papers (or at least know what to learn to unblock myself) to stay on top of what's going on in exciting fields.

One does not necessary need maths to build systems, but boy it is satisfying and career-rewarding when I actively look for real problems that scream for some maths. What's most amazing is that we don't even need graduate-level maths. Entry-level college maths play wonders most of the time.

Post reply on HN