Subj : Re: Change Patterns (was: Polymorphism sucks) To : comp.programming,comp.object From : topmind Date : Wed Aug 10 2005 10:42 pm Robert Maas, see http://tinyurl.com/uh3t wrote: > > From: "topmind" > > the closest approach to the Ultimate Business Rule Machine that I > > have seen is a RDBMS. > > About ten or so years ago I read a book about SQL and thereby got a > general idea of it, basically COBOL-style fixed-length fixed-format > records stored in huge arrays on disk. I decided it was too limiting > for my uses which typically had hugely variable length data fields. For one, RDBMS generally *hide* the fact of whether something is on disk, in bubble memory, in RAM (cache), etc. This especially becomes appearent when concurrency issues arise. As far as fixed length columns, I agree that is a weakness of the current implementation of RDBMS. However, it is generally not a huge hinderance in practice. Generally you don't want people to give titles to stuff that are 500 characters anyhow, for example. Use a "note" column for so much info, not the title itself. And, most RDBMS have more-or-less open-ended "types" if needed. More on open-ended columns below. > > My only exposure to a real live RDBMS was within the past year, when > our Java classes had us play with one, MicroSoft ACCESS on the campus > machine and CloudScape/Derby on my Linux laptop that one of my Java > instructors gave to me in lieu of posting it for free on eBay. > > Do you know of any really good text/html document online which would > give me a more complete idea of what such a thingy might be used for > beyond storing the fixed-length fixed-format records that I've seen it > used with? I need to get a better "feel" for what good it is. For all > of my applications to-date, s-expressions seem better, since they can > handle arbitrary-length fields within arbitrary-organzed records, and > can easily nest records via pointers of various kinds That is the problem: it is "arbitrary". There is no guiding principle of organization: it is a huge tangled web of nestedness and pointers (references). Relational offers a discipline, or at least a consistency to how giants wods of information is organized, searched, and accessed. S-expressions are the "navigational structures" that relational fans will often fuss about. Early databases used navigational structures, and the messes they created prompted the invention of the relational model. Navigational is to data organzation what Goto's were to logic flow. Sure, goto's offer more "freedom", but at the cost of no consistency between developers and shops. > (direct nesting > of lists within single s-expression, cross-references to named globals, > cross-references to named tags within single structure, external > references by filename or URL, etc. Or have you written anything like > that yourself? I have cross-indexed lots of things. I have stored XML representations in RDBMS also (not that I think highly of XML). I have indexed code to cross-reference variables, table names, function definitions, etc. > > > I wish they would release dynamic RDBMS. The static Oracle model is a > > bit limiting. > > Would I be correct to guess that both MicroSoft ACCESS and > CloudScape/Derby are Oracle model, and that I've never seen any dynamic > RDBMS? Do you know of any online document (usascii/html) that tells the > difference, or if not then could you summarize the difference? Here is a draft of "dynamic relational": http://www.geocities.com/tablizer/dynrelat.htm [....] > > I have never seen a software engineering book that looks carefully at > > change patterns and their probabilities before offering solutions. > > They skip a big step and start with a lot of bad or unproven givens. > > It sounds like *you* should write that book. Perhaps start with an > informal "book" as a Web site to get feedback from people like myself > who might appreciate it and people like the unknown person you were > responding to (you didn't attribute the text you quoted, and the new > Google Groups doesn't provide any way to see where in the thread tree > your article is located in order to back up in the tree to find what > article you were replying to) who really seems to need your advice. Book publishing is highly hit-and-miss. I don't want to bust my tushie on a book draft only to be rejected. The web is the way to go for those without tons of acedemic accolades. I don't have all the answers for change patterns either. As far as I can tell, too much change is random, or at least unanticipatable. It does not take a thick book to point out that research is lacking in an area. The best solutions to dealing with chaos so far IMO are dynamic databases to better handle the change rather than hard-wire stuff into files and code. As far as reading earlier threads on this topic, google does appear to display it all (or at least most), it is just a biiiiiig tree of messages. It also has a sort-by-date option. Thanks for your feedback. -T- .