5 ms·
> Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians. This is completely
by millstone 14y ago
> Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.
This is completely backwards. The majority of papers about programming are accessible to most good programmers, perhaps after a little study. The majority of pure mathematics papers are inaccessible to almost all mathematicians.
What programming achievement is comparable in difficulty, complexity, or scope to the Classification of Finite Simple Groups or the Poincaré conjecture?
- dinkumthinkum 14y agoThere are plenty of mathematicians that don't program very well. Keep in mind, there are many "programmers" that are not really the sort of programmers Dijkstra is talking about. He's not talking about whipping together WP sites with a little JQuery to make dynamic menus.
- eriksank 14y agoWhat looks the most like traditional mathematics in computing is the η-conversion in the lambda calculus. The η-conversion is any operation on expressions that yields an equivalent expression, on the condition that it is not just a rename, because that would amount to an α-conversion. It is also called mathematical derivation or what other people incorrectly call mathematical "proof". Without denying the merits of being proficient at showing that expressions are equivalent through η-conversion, we can easily see that quite a few mathematicians only use this method to show that the one meaningless and useless expression is equivalent to another not more meaningful one.
- dinkumthinkum 14y agoI'm not sure what this has to do with anything. I suppose you're trying to refute the notion that computing is related to mathematics because of this one trivial and somewhat strange example you bring up, which I suppose is to mean that you think this is really the only thing in computer science that resembles mathematics. I would just say that that is pretty odd.
- eriksank 14y agoWell, the mathematical method is pretty much typified by its propensity to engage in derivation of equivalent statements. This is simply what people do when they construct a "proof", which is of course not a proof, but that is another issue altogether. Alonzo Church says that derivation can entirely be done by (1) renaming (=alpha) (2) application (=beta) and (3) substitution (=eta). I think that Alonso Church is right. That summarizes the only technique that pure mathematicians seem to be capable of, which is indeed a bit poor. So, I agree with Dijkstra: don't go into computing if that is all you can do.
- rfurmani 14y agoJust like an artist only has the techniques: move pencil horizontally, move pencil vertically, move pencil toward or away from the paper. The art comes from knowing what to draw and how to combine these steps based on a vision in your head. And the real part of pure mathematics is envisioning new structures and new relations that nobody has used before, at which point the proof itself can become a detail. IT's not through lack of trying that formal computer proof systems haven't been able to touch a milli-part of modern mathematics This is also a point brought up in the great guide: Advice to a Young Mathematician, http://press.princeton.edu/chapters/gowers/gowers_VIII_6.pdf http://press.princeton.edu/chapters/gowers/gowers_VIII_6.pdf > We are all taught that “proof” is the central feature of mathematics, and Euclidean geometry with its careful array of axioms and propositions has provided the essential framework for modern thought since the Renaissance. Mathematicians pride themselves on absolute certainty, in comparison with the tentative steps of natural scientists, let alone the woolly thinking of other areas. > It is true that, since Gödel, absolute certainty has been undermined, and the more mundane assault of computer proofs of interminable length has induced some humility. Despite all this, proof retains its cardinal role in mathematics, and a serious gap in your argument will lead to your paper being rejected. > However, it is a mistake to identify research in mathematics with the process of producing proofs. In fact, one could say that all the really creative aspects of mathematical research precede the proof stage. To take the metaphor of the “stage” further, you have to start with the idea, develop the plot, write the dialogue, and provide the theatrical instructions. The actual production can be viewed as the “proof”: the implementation of an idea. > In mathematics, ideas and concepts come first, then come questions and problems. At this stage the search for solutions begins, one looks for a method or strategy. Once you have convinced yourself that the problem has been well-posed, and that you have the right tools for the job, you then begin to think hard about the technicalities of the proof"
- btilly 14y agoYou seem to be under the impression that being difficult to understand is a sign that you're working on difficult stuff. I disagree. It more often means that you've got so much jargon and such poor expository skills that you're not understandable. See http://bentilly.blogspot.com/2009/11/why-i-left-math.html http://bentilly.blogspot.com/2009/11/why-i-left-math.html for more on my perspective about math in particular. What programming achievement is comparable in difficulty, complexity, or scope to the Classification of Finite Simple Groups or the Poincaré conjecture? Let's compare the Classification of Finite Simple Groups with the Linux kernel. The classification spans tens of thousands of pages over decades, was done by about 100 mathematicians, in the end large key papers were so poorly reviewed that some of the most pivotal people in producing that classification came to the opinion that the whole cannot truly be trusted and began an attempt to redo the whole proof in a more understandable and verifiable form. The Linux kernel is about 15 million lines of code from a few thousand developers (most of whom, admittedly, only contributed one patch) over a period of 20 years which is widely tested in the real world on everything from phones to massive compute clusters. I agree, they are not comparable achievements. The Linux kernel is bigger, involved more people, and we have more assurance that it actually works.
- omra 14y agoI think the entire statement is silly in that it attempts to compare two entirely different branches of mathematics, it would be almost as arguing between physics and biology. Physics is the study of matter and energy. Biology is the study of life. Any attempt to assign some "order" to them or declare one "harder" than the other is subjective and pointless. However, there are some factual problems with your reply which I want to address. The Classification of Finite Simple Groups was a large endeavor spanning over an entire century. It was not made "by about 100 mathematicians". The fact that the current was not working is not sufficient enough to conclude that the result was a failure or that pure mathematics is somehow worse than computer science. It would be similar to writing some code, and then suddenly realizing that you have to rewrite it if you want to get acceptable performance or to stop it from becoming spaghetti code. Neither of this sheds bad light on the field of computer science. The key note errors you refer to are not much different from bugs, which of course are inevitable.
- eriksank 14y agoAn efficient algorithm to compute lookahead sets for a LALR1 grammar is seriously intricate. The closure computation algorithm is definitely non-trivial. I don't know about the "Classification of Finite Simple Groups" but LALR1 lookahead computation results go into everything. Every computer, tablet, or phone carries at least 10 different copies of such lookahead set-sets. Does the "Classification of Finite Simple Groups" actually lend itself to doing anything useful? Can it be applied?
- millstone 14y agoI would classify the discovery of these algorithms as computer science, not programming. Had Dijkstra said that computer science is harder than pure mathematics, I would have characterized his point as "arguable." Perhaps the CS term had not come into wide use when he said what he did. Regarding your question, some proofs have immediate applications, and some do not. The CoFSG falls into the latter category. But when you ask if a piece of mathematics is useful, the only two fair answers are "yes" and "not yet." For example, quantum mechanics relies on group representation theory, which had been worked out earlier, with few applications. Another example is Grassmann's work on abstract vector spaces, which was considered somewhere between incomprehensible and useless for decades after publication. Now it's taught in first year linear algebra, and is central to physics and many types of engineering. As for the two theorems I listed, the Monster Group (discovered during the CoFSG) has connections to string theory, and the Poincaré Conjecture may have implications for the allowable shapes of the universe. So, while it's unlikely, it may be that these mathematics end up telling us something about the very nature of reality itself.
- eriksank 14y agoI agree that there is requirement for research results to be useful immediately. That would probably be counter-productive. However, there should be some hope that we will be able to apply them some day, even in a rather distant future ...