4 ms·
All right, so this article can be probably condensed to these two points: 1. "Mathematics is hard and inconsistent, but so is programming". Well, yes, but thi
by atemerev 11y ago
All right, so this article can be probably condensed to these two points:
1. "Mathematics is hard and inconsistent, but so is programming".
Well, yes, but this is exactly the problem! I pity poor souls who started their journey into programming with, say, C++ — the champion of consistency and elegancy. But there are other ways and other languages. And, with some effort, it _is_ possible to provide gentle introduction into programming world. The same should apply for mathematics.
2. "You can't learn mathematics on your own, but it's the same with programming".
And here I deeply disagree. Programming as activity is _the_ perfect learning environment. Find some coding sample, compile and run it (or paste to REPL), see if it gets you the same result. Try to change some variables in the code, see how behaviour changes. Can you run it without this function? What this method does? (A quick look to the documentation reveals everything, including additional arguments to try). You can tinker and hack and play and learn with every language and environment out there, it's like a perfect experimental setup where experiments are cheap, and everything is perfectly reproducible, at least on your own machine. ;)
With math, there are no docs, no playground, no explanations, no nothing. Either you are the part of mathematical community and can hope for explanations and knowledge transfer, or you are not. In programmers parlance, it's like being the part of a huge legacy project with long compile times and cryptic documentation, where the only way you can learn is ask your senior colleagues questions like "what this class is doing?" and get answers like "oh, we are not doing _that_ anymore, this is an artefact from like 15 years ago, still widely referred in the docs, though. Here is the right way instead". Sounds familiar?
This is why learning math is way harder than it should be.
- choosername 11y ago> With math, there are no docs, no playground, no explanations, no nothing. Either you are the part of mathematical community and can hope for explanations and knowledge transfer, or you are not what's the difference to CS here, where did you get that coding sample you mentioned? The playground is your mind, pebbles or pen and paper, maths are a projection of the real world. Mathematics is not inconsistent. Isn't this the premisses of rigor? Math has mathematical consistency and that's not the same as literal consistency, but maybe that's a problem in semiotics and language. The language and the literature is inconsistent.
- atemerev 11y ago> where did you get that coding sample you mentioned I learned programming by reading books and trying samples from there, then, step by step, beginning to understand how parts play together and why some things are faster than another. I could _feel_ loops and recursion, tinker with them, before trying to understand them theoretically. I can't do that in learning math (yet; Wolfram Alpha is changing it). It's either I understand the exact meaning of symbols, or I don't. There are no intermediary steps. And being rigorous is not the same with being consistent. (There isn't much consistency in programming, either, but this is a minor problem).
- j2kun 11y agoI wrote the article, and I'm confused because I agree with your objections but I don't recall that I wrote any of the things you're objecting to. IIRC I even said math has no docs or compiler that you can test your programs with. > With a program, you can always write test cases and run them to ensure they all pass. > There is no compiler to tell you that it’s nonsensical to construct the set of all sets > In mathematics there is no unified documentation, just a collective understanding, scattered references, and spoken folk lore. You’re lucky if a textbook has a table of notation in the appendix.