3 ms·
I agree with the thrust of what you're saying (one discipline is not poorer or more valuable than the other) but I take exception to your "campus supremacist" t
by fusiongyro 14y ago
I agree with the thrust of what you're saying (one discipline is not poorer or more valuable than the other) but I take exception to your "campus supremacist" tone. True, organic chemistry and cooking serve different needs, but the organic chemist can appreciate cooking while the cook cannot appreciate organic chemistry, and the same superset implication is present in your second analogy (that programmers cannot appreciate N-dimensional spaces).
I'd be more worried about this attitude if I thought you had much comprehension of the overlap of these fields. To take your own example, many machine learning algorithms begin with N-dimensional spaces (you know, the kind programmers can't comprehend) and go from there—support vector machines are the obvious example ("a support vector machine constructs a hyperplane or set of hyperplanes in a high- or infinite-dimensional space"). But that's just the beginning; the Curry-Howard isomorphism shows that proofs and programs are the same thing. That theorem provers exist at all seems to undermine your original point. The category-extras package for Haskell, which is a set of abstract algebraic entities that, to my knowledge, are used exclusively for mathematical experimentation and not of any practical application at all.
On the other side of the coin, the only practical applications of number theory have been in cryptography, and the big name there (RSA) is simply modular arithmetic combined with things we expect to be true about large primes. This level of math produces practically applicable results roughly every thirty to fifty years. It's wonderful when it happens, but the idea that mathematicians are consistently churning out theories of practical import is laughable. We do have people doing that, and we call them applied mathematicians and computer scientists.
Are most programmers sufficiently mathematical? No—Dijkstra bemoaned this at great length. Does this mean that mathematicians are somehow a superset of programmers? Absolutely not.
Let me be clear. I'm arguing with your tone and the implication behind your ham-handed analogies. What you've simply stated (we need both), I agree with.
- tel 14y agoThe Curry-Howard isomorphism doesn't explain away mathematics. There are next to zero large and important theories of mathematics which have been formalized in a computer language. It's partly due to the difficulty of proof automation---the solvers are very young---but mostly because proofs are just the pickaxes for mathematics. Right now human-driven proofs are far more powerful tools. Programming benefits greatly from a tiny section of mathematics and the more deeply the connection between the fields grows the more we'll see strong justification for universal patterns in programming and strong realization of abstract mathematics. It's also a bit of a strawman to pick just number theory as the only field of mathematics to examine for practicality. Our world as we know it today would not exist without diffeq and your own example of machine learning really is just applications of optimization, statistics, probability, and abstract geometry. "We need them both" is an unrefined statement. They are apples and oranges, though a mathematical programmer might be uniquely powerful as might a programming mathematician (Djikstra?).
- fusiongyro 14y agoI'm absolutely not trying to explain away mathematics. I'm just not letting a "mathematics is superior to computer science" perspective slide in under the carpet, and I'm marshaling a variety of areas of overlap to illustrate that there is not a strict superset relationship between the two fields. I chose number theory specifically because that's the subject of the ABC conjecture whose proof spawned this whole debate.