5 ms·
“7.1. Don’t go for homebrew logics D&S is not the only example; in general computer people seem to have a penchant for whipping up homebrew logics. See E.F. Cod
by amacbride 8y ago
“7.1. Don’t go for homebrew logics
D&S is not the only example; in general computer people seem to have a penchant for whipping up homebrew logics. See E.F. Codd’s Relational Calculus [12], an obvious mess.”
An interesting perspective, and perhaps technically valid from a purely theoretical perspective; however, the field seems to have found a few practical uses for it: just ask Jim Gray and Mike Stonebraker, among others.
(keywords to search: System R, SQL, RDBMS, INGRES, Postgres)
- pjungwir 8y agoThat line stood out to me too, since relational theory has been such a success. I was surprised that [12] is just Codd's paper "Relational Completeness of Data Base Sublanguages," where he introduces first relational algebra and then relational calculus. I read that paper just last year, and it didn't seem like a mess to me. Perhaps he was thinking of three-valued logic (i.e. NULLs), which came later? I'd like to learn more about how the relational calculus is an obvious mess.
- AnimalMuppet 8y agoEWD has his own idea of the "right" ways to program, think, and do math. If your ideas don't fit in with his approach, then your ideas are obviously garbage (to EWD, and he will not be shy about making his view known), no matter how formally correct or useful they are.
- pjungwir 8y agoOkay, but this is the author's opinion here, not EWD's. It was quite a glib dismissal, and footnoting it seems a bit disingenuous even, hinting to casual readers that there is some substance to his "obvious mess", when really the footnote is just to Codd's own paper. (You find these cunning footnotes everywhere btw.) Did EWD feel the same way about the relational calculus? What are the criticisms? I know plenty of ways SQL doesn't live up to relational theory, but this is about relational theory itself: the paper suggests that there is something unsound about it, and that Codd could have invented something better if he had gotten help from a professional logician.
- AnimalMuppet 8y agoI find it hard to believe that the author is citing their own opinion here; I assumed the opinion to be Dijkstra's, for two reasons. First, to my mind it sounds like Dijkstra. Second, I would expect the author of such an article to be mostly presenting Dijkstra's ideas rather than their own.
- pjungwir 8y agoReally? He is saying that Dijkstra's own book Predicate Calculus and Program Semantics ("D&S") suffered because "in general computer people seem to have a penchant for whipping up homebrew logics," and Codd is another example. Anyway if he were giving Dijkstra's opinion that makes the lack of citation even more egregious. But anyway the "who" is boring. I'm more interested to know what makes relational calculus an "obvious mess"?
- AnimalMuppet 8y agoAh, you are correct, and my (GP) post deserves more downvotes than it got. As to your question: I don't know. I don't really understand the formal definition of all the terms in play. But it sounds like maybe he wants relational calculus to be just a formal logic, whereas it might be something more (an algebra, or even a "calculus", though I don't really understand what makes something a calculus in these areas).
- pjungwir 8y agoNone of the downvotes were mine btw. :-) He praises Prolog because it was influenced by a logician, so I'm curious what he thinks of Datalog. That is something on my radar to read about, but so far I know nothing about it. But I believe it is something like "Prolog for databases." I know Datomic uses it, but it has a long history. Personally I think relational theory is one of the greatest success stories in all Computer Science, but that doesn't mean it is problem-free. I'd be happy to hear more about its shortcomings, especially as a formal logic. Anyway, thanks for the conversation! :-)
- mcguire 8y agoLet's see, we have "classical" logic (propositional, 1st order predicate, and higher order), intuitionistic, constructive, and natural logic. There's naive set theory and the various fixes to it. And so on. I'm not sure what "mainstream logic" refers to, since most mathematicians don't use formal methods.
- zimablue 8y agoJust because those things are useful doesn't mean that they wouldn't be more useful/tractable if they'd stuck closer to logic. How do you know that their usefulness isn't a large part due to the closeness in logic and limited where they deviate, rather than the reverse?