On Fri, 30 Mar 2012 00:38:26 -0400, Nathan Rice wrote: >>>> He did no such thing. I challenge you to find me one place where Joel >>>> has *ever* claimed that "the very notion of abstraction" is >>>> meaningless or without use. >> [snip quote] >>> To me, this directly indicates he views higher order abstractions >>> skeptically, >> >> Yes he does, and so we all should, but that's not the claim you made. >> You stated that he "fired the broadsides at the very notion of >> abstraction". He did no such thing. He fired a broadside at (1) >> software hype based on (2) hyper-abstractions which either don't solve >> any problems that people care about, or don't solve them any better >> than more concrete solutions. > > Mathematics is all about abstraction. There are theories and structures > in mathematics that have probably gone over a hundred years before being > applied. As an analogy, just because a spear isn't useful while farming > doesn't mean it won't save your life when you venture into the woods and > come upon a bear.
A spear is a concrete application of the principle of leverage, not an abstraction. I also point out leverage was discovered experimentally long before anyone had an abstraction for it. In any case, so what? Who is saying that mathematics is useless? Not me, and not Joel Spolksy. You are hunting strawmen with your non-abstract spear. Spolsky has written at least three times about Architecture Astronauts, and made it abundantly clear that the problem with them is that they don't solve problems, they invent overarching abstractions that don't do anything useful or important, and hype them everywhere. http://www.joelonsoftware.com/articles/fog0000000018.html http://www.joelonsoftware.com/items/2005/10/21.html http://www.joelonsoftware.com/items/2008/05/01.html Jeff Attwood provides a simple test for the difference between a useful abstraction and an Architecture Astronaut hyper-abstraction: Does it solve a useful problem? http://www.codinghorror.com/blog/2004/12/it-came-from-planet-architecture.html You keep reading this as an assault on abstract mathematics, science and knowledge for its on sake. It isn't any of these things. If I'm paid to solve a problem, and instead I build an abstraction that doesn't help solve the problem, then I'm guilty of doing architecture astronauting. >>> and assumes because he does not see meaning in them, they don't hold >>> any meaning. >> >> You are making assumptions about his mindset that not only aren't >> justified by his comments, but are *contradicted* by his comments. He >> repeatedly describes the people coming up with these hyper-abstractions >> as "great thinkers", "clever thinkers", etc. who are seeing patterns in >> what people do. He's not saying that they're dummies. He's saying that >> they're seeing patterns that don't mean anything, not that the patterns >> aren't there. > > He is basically saying they are too clever for their own good, as a > result of being fixated upon purely intellectual constructs. Yes, and he is right to do so, because that is the characteristic of the Architecture Astronaut: being so fixated on over-arching abstract concepts that, far from those abstractions making it easier to solve the problems they are being paid to solve, they actually make them harder. Good abstractions enable problems to be solved. Bad abstractions don't. If I ask you to build me a website, I probably don't want a website- builder, I certainly don't want a website-builder-generator, and I absolutely do not want you to generalise the concept of a compiler and create a whole new abstract language for describing meta-compilers so that I can create a brand new programming language for generating meta- compilers that build compilers that will build factories for building website generators so I can make my own website in just three easy steps (the simplest one of which is about twice as difficult as just building the website would have been). If you are being paid to build abstractions in the ivory tower, on the chance that one in a thousand abstractions turns out to be a game changer, or just because of a love of pure knowledge, that's great. I love abstract mathematics too. I read maths in my free time, you won't find me saying that it is bad or useless or harmful. But does it solve real problems? Well, of course it does, and often in a most surprising places. But that's because out of the hundred thousand abstractions, we see the hundred that actually solve concrete problems. The other 99,999 exist only in forgotten journals, or perhaps the odd book here or there. This is all well and good. It's not meant as an attack on mathematics. You can't tell ahead of time which abstractions will solve real problems. *Somebody* has to be thinking about ways that spherical camels can pass through the eye of a 17-dimensional needle, because you never know when somebody else will say, "Hey, that's just what we need to make low-fat chocolate ice cream that doesn't taste like crap!" and then you'll be richer beyond all the dreams of avarice. But that doesn't mean that you have to turn every one of those abstractions into software. I don't really care if checking my email and deleting a file are both special cases of some abstract file operation, I don't need to see it in my file manager. [...] > The electronic properties of silicon (among other compounds) is an > obvious example of where quantum theory provides for us. We might have > basic circuits, but we wouldn't have semiconductors. A poor example. The existence of semiconductors was demonstrated, not predicted: Michael Faraday discovered the existence of semiconductors in 1833, *long* before quantum theory: http://sites.google.com/site/transistorhistory/faraday-to-shockley The existence of photoconductivity was one of the experimental discoveries which eventually led to QM, via Einstein's explanation of the photoelectric effect. But what's your point here? We started off talking about abstractions. Quantum mechanics is not an abstraction, or at least no more than any other physical theory. It is a *description* of reality (a model), not a generalisation. To counter Spolksy, you need to show the great practical discoveries and inventions, not of quantum mechanics, but of a *generalisation* of quantum mechanics that encompasses QM as a special, concrete, example. [...] > The stochastic method, while useful, is many orders of magnitude less > efficient than analytically closed solutions. Not having access to > closed form solutions would have put us back hundreds of years at least. We don't have closed-form solutions. At best we have closed-form solutions of simplified and idealised problems. E.g. we don't have a closed-form solution for the actual hydrogen atom, only of a simplified model of that atom: http://en.wikipedia.org/wiki/Hydrogen_atom#Features_going_beyond_the_Schr.C3.B6dinger_solution And likewise for helium, e.g. one simplifying approximation is to ignore the electron-electron repulsion. And that's hardly the only one. As for closed-form solutions of real devices like a CPU? Forget it. As the famous saying goes, the more advanced the theory, the fewer entities it can solve exactly. Newtonian physics can't solve the three body problem exactly; Einsteinian physics can't solve the two body problem; quantum mechanics can't solve the one body problem; and quantum gravity can't solve the zero body problem (the vacuum). -- Steven -- http://mail.python.org/mailman/listinfo/python-list