ON “BAD STUFF” AND THE THIRD MANIFESTO
with H. Darwen and C. J. Date

 

 

 

From: SP

To: Editor

Date: 5 Apr 2004

 

I've got THE THIRD MANIFESTO on my desk at home, and it’s been pretty well read.  I'm getting ready to start my third reading of it - very good stuff, I have to thank you for writing it.

 

I stumbled on this stupid paper today on the web, and found where the author has horribly misrepresented THE THIRD MANIFESTO.  Note that reference [3] is Date's THIRD MANIFESTO book in his "References" section.

 

I don't think it’s worth the bits to even attempt to reply to this guy's article, but thought you might like to know your work is being misrepresented in the "oh-so-well-regarded" Journal of Object Technology.

 

 

Hugh Darwen Responds: The mistake in Dave Thomas's paper (which I downloaded to see the whole thing in all its glory) is bizarre.  Item number [3] in the REFERENCES section gives the title of a book by me and Chris Date, this book being, as many people know, the follow-on from our paper entitled THE THIRD MANIFESTO, which was first published in 1995 (in the ACM journal "SIGMOD Record").  But the text Shawn cites seems to assume that reference [3] is in fact a reference to what Chris and I would probably call "the second manifesto", the one entitled The Third Generation Database Systems Manifesto.  I find no fault with the text Shawn cites apart from that "[3]"!

 

I couldn't find any other reference to [3] in the paper, nor did I see any text acknowledging the existence of THE THIRD MANIFESTO apart from that third entry in REFERENCES.

 

The misrepresentation of me and Chris, then, is in "the DBMS vendors replied with the Third Generation Database Manifesto [3]", combined with:

 

[3] C. J. Date, Hugh Darwen, Foundation for Future Database Systems: The Third Manifesto, Second Edition, Addison-Wesley, 2000 (ISBN: 0-201-70928-7). </quote>

 

I suppose that people who happen to know that I work for IBM might think that the appellation "DBMS vendors" is very roughly justified (for me, that is), though of course my books with Chris Date have nothing to do with my work for IBM.  Thus, Dave Thomas's mistake does run the risk of seriously misleading some casual readers.  It's even more serious, if any readers might conclude that Chris and I would advocate the use of SQL and extending that language as the best way forward.  I see that one can click on "Write a letter to the editor" at www.jot.fm/issues/issue_2003_09, though I'm not sure if I'll bother myself.

 

I think that the real authors of The Third Generation Database Manifesto might have a grievance or two about this bungled citation.  For one thing, I'm not sure that they would like to be classified as "DBMS vendors".  I can't remember the entire list of authors, but I doubt very much if the IBM and Oracle employees among them (for example) were acting in any kind of representative capacity for their employers.

 

As for Dave Thomas's paper, all I can say is that this kind of stuff makes me shudder.  I found the term "tuple land" rather revealing, completely missing the point of what Relationland is all about!  The last two sentences of the paper are:

 

We need to apply our considerable efforts to developing languages/tools as simple and useful for business users as 4GLs have been and continue to be. We need a computationally complete end user programming language, which will allows [sic] a mere mortal to create and deploy applications across a federated collection of semi-structured information.

 

Apart from the fact that I don't know what it means for information to be "semi-structured" (or even "structured", for that matter, given the normal distinction we try to foster between "data" and "information"), and apart from the fact that I don't really know what a federated collection is, and apart from the fact that I don't know what it means to deploy an application across a collection of information, it seems to me that THE THIRD MANIFESTO was an attempt to address the stated requirement.  Or at least, to propose a method of addressing it.  Still, I'm glad that the author chose to ignore it (apart from the mistaken entry in REFERENCES), because otherwise I can see that Chris and I might have had to respond to some genuine misrepresentation of a more serious kind.

 

 

From: SP

To: Hugh Darwen

 

I'm guessing that Thomas must be trying to refer to a concept similar to federated simulators in a discrete event simulation.  The DOD came up with this concept at least 6 years ago (probably more) where the DOD wanted to tie unrelated warfare simulators together into a larger battlefield simulation.  Different branches of the military (and different research projects within them) had their own simulators, which were incompatible with each other, with each simulating some part of a larger battlefield.  The brainstorm idea was to run them together to see what an actual battle would be like when different branches were cooperating on the battlefield.  For the most part it worked, but the combined system is horribly slow and extremely complex.  The different simulators never had the same data model, or calculated simulated time the same, used the same network protocols for communication, etc.

 

Thomas, or someone he is trying to emulate, must have read about the federated simulators concept, stolen the term, and made it into one of the newest buzzwords.  At least some academic research is still heading out of the labs and into the world of corporate insanity.  Unfortunately in this case its just one word out of two, which simulation researchers have come to accept as a term (federated simulators).  *Sigh*

 

I fell on Thomas's paper while doing a Google search on an unrelated topic. After reading it, I felt a little dumber, and wondered what just happened to the last 15 minutes.  I wish I could get them back!

 

After reading Date's INTRODUCTION TO DATABASE SYSTEMS (7th or 8th edition, I forget which edition I have at home) twice, and your/Date's THE THIRD MANIFESTO (doing my third reading now), as well as reading the dbdebunk.com website, I've learned to at least look for the bulls--and dig a little deeper into the topic.  Thankfully, I've also learned a little bit more about what Codd meant, and I'm quite annoyed the SQL vendors have deviated so much from it.  Our commercially available tools just flat out stink. I've started to notice this in the world of object-oriented programming to... C++, Java, C#...  *sigh*

 

I have to thank you, Date and Pascal for putting forward the effort you do, it has at least changed this practitioner. But then of course I have at least been considering working on a PhD in database management, so I wasn't the average practitioner when I started reading your work.

 

 

C. J. Date Responds: My attention was recently drawn by two correspondents--to whom I owe thanks (I suppose)--to the article The Impedance Imperative--Tuples + Objects + Infosets = Too Much Stuff, by Dave Thomas in Journal of Object Technology 2, No. 5, September-October 2003. I have many problems with this article in general, but I want to respond to just one issue here.  The article includes a section called Minimal Affordances for Objects and Content [sic].  Here is the whole of that section: 

 

In order to accommodate the increasing demand for objects and content, the DBMS vendors replied with the Third Generation Database Manifesto [3].  In particular they added new native types to the database to support objects (called user defined data types) and large text types.  Both of these extended types were syntactic extensions on Blobs, which were added largely to support images, and documents.  SQL was extended to allow query operations over Blobs using special content selector objects.  Recently text types have been enhanced to support XML schemas or DTDs. 

 

Now, Thomas's reference [3] is in fact not a reference to the Third-Generation Database System Manifesto at all--which is a paper by Mike Stonebraker et al.--but rather to the book by Hugh Darwen and myself called FOUNDATION FOR FUTURE DATABASE SYSTEMS: THE THIRD MANIFESTO (2nd edition, Addison-Wesley, 2000).  So I have to assume that, despite what he actually says, Thomas is talking here about the work by Darwen and myself.  Given that premise, here are a few comments on Thomas's text: 

 

In order to accommodate the increasing demand for objects and content, the DBMS vendors replied with the Third Generation Database Manifesto [3]. 

 

First, Darwen and I can hardly be accused of being "the DBMS vendors"!  Second, our work had and continues to have absolutely nothing to do with "accommodating the increasing demand for objects and content".  Third, what on Earth does the phrase "objects and content" mean, anyway?  I thought it was a mantra that "everything's an object"--so what isn't an object?  What database doesn't contain objects?  And what database doesn't contain content? 

 

In particular they added new native types to the database to support objects (called user defined data types) and large text types. 

 

First, is "they" here supposed to refer to Darwen and myself?  We certainly did nothing of the kind alleged.  Perhaps more to the point, I don't think the DBMS vendors did, either.  Second, "to the database" makes no sense; types don't belong to databases at all.  (Which database does type INTEGER belong to?)  Third, objects aren't types--not of any kind.  Fourth, native types aren't user-defined data types and user-defined data types aren't native types, so there seems to be some confusion here.  Fifth, that "and large text types" adds nothing; presumably, a large-text type (that large must qualify text and not type!) is just a special case of the category "object type" (as, presumably, is every other type also).  Perhaps Thomas meant "including large-text types in particular." 

 

Both of these extended types were syntactic extensions on Blobs, which were added largely to support images, and documents.

 

Confusion here (regrettably all too common) over syntax vs. semantics!  If the extensions were only syntactic, they wouldn't have been much use.  In fact BLOBs have nothing to do with the issue; while it's probably true that BLOBs are used to implement the new types, we mustn't confuse model and implementation again, must we?  Note too that we now apparently have another kind of type (an extended type) as well as native and user-defined types.  What others are there? 

 

SQL was extended to allow query operations over Blobs using special content selector objects.

 

No, the new data types were (necessarily and by definition) accompanied by new operators, and those new operators became invokable (if that's a word) from SQL.  But those new operators are operators on values and variables of the new types, not on values and variables of type BLOB.  And I can't make any sense of the phrase "using content selector objects," if "content selector objects" are supposed to be things that are used in "query operations over Blobs." 

 

Recently text types have been enhanced to support XML schemas or DTDs.

 

Possibly.  But I think it's much more likely that still more new types would have been defined (with all that that entails).  Certainly this latter is what the SQL standard has done.  And I don't really know what it would mean for a type to "support" XML schemas, anyway. 

 

I have many, many additional criticisms of Thomas's paper, but to spell them out in detail here would result in a document much longer than Thomas's original.  So I'll stop.

 

 

Posted 6/18/04