Hacker News new | past | comments | ask | show | jobs | submit login

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




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


>Simply not true.

Okay. What is a proof other than a step by step explanation for why something’s true? You’re getting caught up in “program” when it’s objectively the case that all math follows a series a steps. A lot of those steps are “handwavy” I’ll give you that. That’s not relevant to what I said though.

>there is nothing interesting about symbol manipulation

Cool. You missed my entire point again. Math education is geared towards a certain set of people who pick up on (and gain an interest in) the language of math. Only once you get to higher level math do you even start to get alternative visualizations etc (at which point you’ve weeded out a ton of people who would have benefited from e.g. visualizing numbers as groups of shapes). There are a million ways to teach math and we’re leaving a lot of people behind. That was my point


>Okay. What is a proof other than a step by step explanation for why something’s true?

Cooking instructions are a series of steps as well. Would you also claim cooking, mathematics and programming really are all the same thing?


The first part of your answer is incorrect about programming in a general sense (not the particular software programming most of HN does). I push it so far back as to call it programming in a computer science sense, which is very simply just proof theory encoded into a system.

There is a reason Turing is considered one of the greatest minds to ever live. He didn’t just invent a concept. He invented a completely new branch of science. We would’ve gotten there eventually but his idea to solve the Entscheidungsproblem using his machine was such a step ahead of the times that we christened him the father of an entire science.


Errr, Alonzo Church solved it first, Turing followed .. and both of their independent methods were heavily based upon similar earlier work by Kurt Gödel, with Church also incorporating ideas from Stephen Kleene.

There is no doubt that Turing was bright, very bright indeed, but next you'll be claiming he cracked the Enigma Code or something.


A constructive proof of existence is exactly a program. (It might not always be a program for a Turing machine, because "constructive" and "computable" are not exactly the same - but that's beside the point.) Even a non-constructive proof of existence for x can be significant in a programmatic context; it tells you that you can posit an oracle for x (e.g. asking for it to be input by the user, introducing further assumptions based on some special case, etc.) without thereby crashing the program or causing it to behave incorrectly.


>but that's beside the point

It seems to me that it is an important point though.

> Even a non-constructive proof of existence for x can be significant in a programmatic context

Which has no relation whatsover to proofs and programms being the same thing.


A type-level program is still a program. Non-constructive proofs are addressing the question "will this program crash or go wrong if I extend it to do X, regardless of how I achieve that?", which is exactly the domain of type-level programming.


Programs and proofs are the same thing though according to the Curry Howard Correspondence, if I'm not wrong.


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


I think the math you've been exposed to is mostly on the computational side (compute an integral, solve an equation, etc).

Much (most?) of math is quite different from it. Proving that there is a well ordering of the reals, and simultaneously proving that it is impossible to show you such an ordering: Very different from skills needed in programming.


I disagree. You’re only able to prove that ordering of the reals (and that it’s impossible to show) because you are computing the abstract structure underlying the reals (which is based on some lower level ideas etc.) Just because a problem is computationally hard with a step by step CPU doesn’t mean it isn’t computation.

This is actually a problem of interest to me, so I’ve definitely been exposed to it and the limits of modern computation. But I’m not speaking strictly about the modern day CPU.


> You’re only able to prove that ordering of the reals (and that it’s impossible to show) because you are computing the abstract structure underlying the reals (which is based on some lower level ideas etc.) Just because a problem is computationally hard with a step by step CPU doesn’t mean it isn’t computation.

The set of computable real numbers is countable and thus has measure zero. In other words, almost all real numbers are non-computable, and almost all has an exact definition.

So you can’t compute the real numbers unless you’re meaning something else by computing.


If you want to get technical then programming is also math, provably so.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: