I think drupal's take on content and defining content types and widgets to edit them is a really good take on the problem of content data.

A lot of people's jobs, as I've recently been seeing was to continuously redo what Drupal was doing out of the box. Worst of all was that they redo it inconsistently, without any rigor, and loosely.

On the other side of the coin, Drupal was not made for managing applications, it was made for creating content sites. It has very little notions of Business logic, and could feel a bit like shoehorning a car factory into a candy shop.

I think every programmer working in anything that involves a lot of CRUD should take a look at Drupal, learn how it works and try to mimic some of its ability. What do you think?

This is kind of important to me since I have never been able to get any satisfaction with this kind of problem, except briefly while I diverged a bit into a content-driven website (rather than a business driven web application) and used Drupal.
geek wrotespeaking of drupal, here's a must.
This rings so frickin true to me.
I've been repeating it since forever: Always prefer a CMS to a "from-scratch" dev.

I like the distinction you make between "content-driven" vs "business-driven", and I agree that Drupal (as do popular CMS) don't deal well with the latter.
geek wrotespeaking of drupal, here's a must.
Meh. Everything the author described fits in what is called a frigging framework. Doing it from scratch does not necessarily mean writing everything. Choose a well established framework and be done with it.
Thanks for the tip. The hooks system, coupled with a dependency management system, seems a good way to go. I'll take a look at drupal.
rahmu wroteI've been repeating it since forever: Always prefer a CMS to a "from-scratch" dev.

I like the distinction you make between "content-driven" vs "business-driven", and I agree that Drupal (as do popular CMS) don't deal well with the latter.
People might want to go with "from scratch" to learn new things. Sometimes the weight and complexity of a CMS is counter productive. I know people with Joomla or other CMSs who could use some "from scratch" experience.
@rolf: I agree with you and always say. Rebuild from scratch to learn, reuse to produce.