Everything is a CrudScreen application. All of the behavior that will ever be needed from computers has already been implemented in some form of relational database. A few SQL queries are all that is needed to utilize it. A 7-table join with a computed having clause is correct by implication. (<-- That's sarcasm, for those that didn't get it.)
And don't forget that generating ad-hoc reports is THE most important thing for an application to do! If your application cannot do that now, it will have to sooner or later. (Meant as sarcasm?) Yeah, right. That's just what's missing from Word, Excel, ..., my compiler, my operating system etc.
There is some large number of projects that could be solved with an RDBMS but OoWeenies actively avoid databases so they can practice their favorite black art, ReinventingTheDatabaseInApplication.
{Not just any database, but a NavigationalDatabase, and these drive relational fans nuts.}
That is starting to sound more like a mantra than a real argument for every time I hear it.
This is sounding more and more like a typical HolyWar.
There may be topics that cover this already, such as RelationalWeenie, DbasGoneBad, WhenAreDatabasesNotAppropriate, InvasionOfTheRelationalWeenies. However, none of them go, as this page does, to the heart of the matter: there are developers out there whose mental model of an IT system (any IT system) is a huge bunch of stuff in an RDBMS with a thin layer of presentation code on top of it. Not dumb developers, either. This seems to be the worldview underlying much of ChrisDate's recent writing, for instance.
My reading of ChrisDate's work is advancing a much more powerful query language than SQL - more akin to HaskellLanguage. It seems like it is OrthogonalPersistence arrived at from the other direction.
It is true that some large number of IT solutions are one or more RDBMSs behind a presentation layer. The flaw lies in extrapolating these solutions to software development in general.
A topic for WhenAreDatabasesNotAppropriate.
Re: there are developers out there whose mental model of an IT system (any IT system) is a huge bunch of stuff in an RDBMS with a thin layer of presentation code on top of it.
Maybe it works. Databases provide a lot of out-of-the-box features that can be used to handle stuff that others seem to want to code up by hand in ways that vary from developer to developer. I don't suggest that everything should or could be done by the RDBMS, but a good portion of it can. Sure, there are some stupid RelationalWeenies out there, just as there are some stupid OoWeenie?s out there. But, that is true of any paradigm or toolbase. -- a RelationalWeenie
Re: Yeah, right. That's just what's missing from Word, Excel, ..., my compiler, my operating system etc.
Although the "report" statement was probably meant as sarcasm, there are times that I would love to be able to query the OS or filesystem for specific information. Sure, there are probably API's or tools to do it, but I don't want to have to learn a vastly different interface and access methods every time I wish to query something. That is one of the beauties of an EverythingIsaDatabaseThatUnderstandSql? mentality. (Although SQL is not the ideal RelationalLanguage IMO.) -- AnonymousDonor
And, while I wouldn't like to query my compiler for reports, I'd very much like to have a cross-referenced database of my code when it gets big enough. Fortunately, there are tools for that. And yes, even semi-organized text documents do seem to have use for "ad-hoc" queries, which Wiki proves nicely. -- PanuKalliokoski
Do you want the code in a database (ala Visual Age) or indexes for different aspects of the code? I just want a fast way to generate the indexes. -- EricHodges
Related: FileSystemAlternatives and TableOrientedCodeManagement
Once you drink from the cup of CollectionOrientedProgramming, it's hard to go back.