Invasion Of The Relational Weenies

This wiki is becoming infested with comments from RelationalWeenies. I can't stand it any more! Their convoluted logic is just too wacky to fight. I don't know what to do. Should we declare wiki an OO-only-zone and boot them and their content out of the place? I wish DrCodd was never born. He created an evil cult.

It's starting to remind me of comp.object, where every posting about objects(!) triggers a flood of posts about tables and relations.

I think it's great to finally get the relational perspective well-represented in Wiki. As long as the edits are not destructive (DisagreeByDeleting, trolling, IntellectualDishonesty, AdHominem, etc.), then they are OnTopic and good. Of course, in the short term, it may look like an invasion, but in the long term, Wiki will have much more balanced content. That's the difference between Wiki and a newsgroup. Keep refactoring, keep the ThreadMode polite, keep the exploration going, and Wiki will keep being Wiki. Sure it's not easy, but how many worthwhile things really are? -- an ObjectWeenie

I don't think anybody's objecting to the relational perspective being represented here, but there is a question of appropriateness. More than once I've come upon a relation-centric comment and asked myself "What exactly does that have to do with this page?" It leaves you with the feeling that the people involved are interested in only tubthumping for their own agendas, regardless of whether or not those issues actually belong to the page in question. I'm half expecting somebody to post on QualityWithoutaName about whether or not QWAN is biased towards OO or not. -- francis

Perhaps cajole the author to reveal in more detail why they think there is a connection. Just because you may not see a topic connection does not mean that there is none. Both parties might learn something if the topic connection is explored deeper. -- AnonymousDonor

That is a matter of the relational perspective being mostly newcomers to Wiki, and stomping loudly without realizing that they don't need to (and that it's not much appreciated). Blame UseNet culture, and try to open up a dialogue about contributing to Wiki. It would be nice if the RelationalWeenies revealed their names so we could discuss this with them on their HomePages, but in the absence of home pages, we could leave comments on the RelationalWeenie page. Or heck, this is a good page to hold such discussion. Are there any relational proponents who would like to comment?
What is their motivation?

Second-guessing motivations is playing with FlameWar dynamite in my opinion. Focus on herding content, not motivations.

I have no interest in herding content. I do not understand their motivations so I'm curious.

Do they think there are a large number of ObjectWeenies who don't know about RDBMSs and query languages waiting to be enlightened? Do they imagine we can use SQL as a programming language?

As a RelationalWeenie, I find it strange that people would rather reinvent stuff in OO code that the DB could readily take care of for them, simplifying the code and saving work. (ReinventingTheDatabaseInApplication) Plus, MartinFowler has agreed that many OO'ers avoid databases because either they don't understand them, or SQL confuses them. I agree that SQL is confusing, but SQL is not the best relational can get. See SqlFlaws and DomainLogicAndSqlArticle.

I don't reinvent databases. I use a database when I need one. Don't change the subject. What is your motivation for inserting pro-relational arguments throughout a wiki devoted to programming patterns?

Programming patterns/methodologies are not just OO. Any given topic often has an OO viewpoint and a functional/LISP viewpoint at least. Why not a relational viewpoint also?

"Also" is fine. You argue for "instead of", which is impossible. Relational query languages are not a viable alternative to OO programming languages for the work I do.

Could be. But I cannot inspect your stuff to see why they would not allegedly do well. InternalEvidence.

Why do you RelationalWeenies always feel that if you could only inspect someone's stuff you could show them the errors of their ways? What makes you think your knowledge and experience is superior to the knowledge and experience of the rest of this WikiCommunity that you've suddenly elbowed your way into?

Unless you could describe the reason behind your design/coding decisions, it is nothing more than a "my experience is better than yours" claim battle.

This is a community here - please respect its WikiSocialNorms.

What norm are you referring to? UseSignatures, for example. -- RandyStafford

[A RelationalWeenie once stated that they did not want to reveal their real name because criticizing OOP was possibly harmful to one's career. A long debate ensued about whether a pseudonym was appropriate. In the end the pseudonym was outvoted and it was suggested that this person stay anonymous instead. Remember, this is the age of buzzword-sensitive HR departments.]

And you're right - patterns can describe solutions involving relational databases just as well as they can describe solutions involving object technologies. So if you want to take a meaningful step towards advancing your arguments, why don't you submit some patterns to http://jerry.cs.uiuc.edu/~plop/plop2003/focus-enterprise.html.

Most usages of the "patterns" I have seen are in proprietary systems. Custom software is an area where relational shines, but custom == proprietary for the most part.
Unless you could describe the reason behind your design/coding decisions, it is nothing more than a "my experience is better than yours" claim battle.

There is no battle. We're not saying our experience is better than yours. We use relational technologies and OO technologies. We talk about patterns that can be applied to OO code. I'm sure we'd talk about patterns that can be applied to relational queries and/or tables if you suggested some.

I would probably implement many of the algorithms in the GOF book using some relational versions of them.

Most usages of the "patterns" I have seen are in proprietary systems. Custom software is an area where relational shines, but custom == proprietary for the most part.

Surely there are some relational patterns that aren't proprietary, even if they are used in proprietary systems. What good is a pattern if no one can apply it?

One has to demonstrate actual usage to pass the "hall of patterns" test. That is a bit tough with proprietary software. BTW, You can informally read about some at RelationalPatterns.
This above thread is just sparking more debate without actually solving anything. Forget about trying to find the faults in the other side's ideas. Focus instead on what we really want, which is a happy, healthy, constructive Wiki. Forget the argument, it is irrelevant. What is it about the relational contributions that is stirring your emotions, and why are your emotions stirred? Is it simply that you don't agree with/understand their point of view? Do you feel like they are tresspassing on your territory? Is it the style of the contributions, or maybe where and how they are placed in existing pages?

It is the style of the contributions. One of the RelationalWeenies mentioned above has a demonstrated history of being caustic towards other contributors on WardsWiki, and denigrating towards OO thought leaders and/or their work, without provocation.

{Should wiki care if a given person has a heated history on other discussion forums?}

Notice, that these issues have nothing to do with whether or not relational/OO is a good thing. This is irrelevant. The debate is on topic as far as InformalHistoryOfProgrammingIdeas is concerned. Therefore, the right thing to do is to figure out how we can have this debate without turning Wiki into UseNet.

Granted. So why can't we UseSignatures and have respectful discourse, with the intent to understand and educate, instead of criticize and dominate? -- RandyStafford

AnonymousDonor: It might have to be gritty for a while until cleaner patterns emerge.

Please clarify "gritty" and "cleaner patterns", AnonymousDonor, and why "it might have to be gritty". And please identify yourself. -- RandyStafford
I personally wish that these new proponents of relational technology could restrain themselves rather than fighting the same battle of attrition on every page. I also wish they would learn not to keep inventing new terms and creating new pages as it causes a walled garden effect. I'd also be happy if they could state the case for their ideas without denigrating other ideas, that way they might persuade rather than infuriate others. It might also help if everyone started using RealNamesPlease. -- AdewaleOshineye

Do you have some specific suggestions or examples of non-deserving topics? Such persons may not realize that they are doing harm.
Maybe I am considered a relational weenie. I usually use my signature. I try not to pollute pages. Creating a group designation for the purposes of apartheid is not helpful, albeit traditional. -- RichardHenderson.
No, it's pretty much all Bryce. He came in as TabliZer, and after about a month of DisagreeByDeleting and resisting RealNamesPlease, changed the TabliZer page to claim it's the nickname of his site, then started posting anonymously. After a while, he started posting as "a RelationalWeenie". He claims it would harm his career for his name to be associated with his postings. He's been posting on these same topics for many years now.

These statements are as factual as I know and unbiased as I can phrase them.

I did NOT delete anything, except for personal attacks. I adamantly deny deleting legitimate content. The claimant is mistaking bigtime. Anything dealing directly with technology and software engineering I left alone. Regarding RealNamesPlease, see above. Regarding the existence of other RelationalWeenies, I believe there are roughly two others besides me, but I cannot verify this. I have been accused of a lot of nasty stuff here that is not true or highly exaggerated. Yes, I have been involved in some nasty flamewars on other forums, but I never intentionally start them. You treat me with respect, I will do the same to you. If I do something that bothers you, then please state clearly what it is rather than make sweeping generalizations of the format, "you always blah blah....". That is not usable information. Give 3 specific examples instead. - Tablizer

If with "you always" you're referring to my comment above, Tablizer, or BryceJacobs?, or whoever you are, I wasn't referring to you. I was referring to someone else. If you want three specific examples, browse the fanout from ObjectRelationalImpedanceMismatch. -- RandyStafford
CostinCozianu has also been known to complain about excessive use of OO when a RDBMS would allegedly be more appropriate.

That's a gross misrepresentation of my contributions to wiki and it is, I believe, incorrect. Actually my position is that if OO weenies get to know their OO better (a very toll order to meet, given that the popularity of OO has literally littered the field with pseudo-scientific and pseudo-engineering amateurism ), and if they also get to a better understanding of mathematics and computing in general (by studying complementary discipline ) they will finally come to realize that among other things ObjectRelationalImpedanceMismatchDoesNotExist. And by the way, what's this threaded nonsense on this page -- can anybody make a sense of it anymore? -- CostinCozianu

I rest my case. -- RandyStafford

Randy, if it is not too much to ask, can you reiterate what was your case?
Focus instead on what we really want, which is a happy, healthy, constructive Wiki.

Can we all at least agree that this is a goal that both sides have in common? Please vote below and identify yourself (at least by IP). If you answer 'no', please comment as to why you disagree.

Yes No
For further exploration of common ground, I propose that most developers would accept both of the following statements as being true:
  1. The relational database model is a simple, elegant, and powerful way to organize and manipulate data.
  2. Existing off-the-shelf relational database products, development tools, and the predominant query language (SQL) leave a lot to be desired in terms of realizing the benefits of the theoretical relational model. Powerful they may be, but simplicity and elegance are missing.
It seems that the RelationalWeenies focus on the first point, dismissing the second as "implementation details", whereas the relational-haters focus on the second and dismiss the first as impractical idealism. But can each side see the other's point? -- KrisJohnson

Tips for improving RDBMS: SimplifyingRdbms

Some of us RelationalWeenies still think the existing imperfect relational tools are better than non-relational alternatives, I would note.

I agree with those 2 points, and would add a third:
  1. The behaviors provided by the theoretical relational model are only a subset of the behaviors needed by software in general.
  2. Nobody has suggested that RDBMS carry the entire load. It is a matter of partitioning properly to get the best of DivideAndConquer.

Are there really relational haters out there? I've met people who hate RelationalWeenies, and people who aren't suitably impressed by relational theory, but never anyone who actually hated the theory itself.

Many OODBMS fans seem to prefer NavigationalDatabases over relational for a wider range of aplications. There is a continuum here. Some people try to let the database and data drive as much as possible, and some prefer a more code-heavy approach, with many in between. For example, some would prefer the GUI model be defined in code, others in meta-data such as XML (a navigational structure), and others would like to see it in a relational database.
I've noticed more pro-relational posters battling OOP affectionados on UseNet of late. I don't know if it is a blip or a trend. Maybe only once a year I used to be joined by another pro-relational person in the old days. It is nice to not feel so alone. Hope it lasts. --top
See: WikiIceberg, MissingWikiBeforeXp, AreLispersTakingOverThisWiki, RelationalPatterns

CategoryRelationalDatabase, CategoryWeenie

EditText of this page (last edited June 13, 2011) or FindPage with title or text search