Re: acceptable way to program

From: Chas Douglass <cdouglas_at_NOSPAMoz.net>
Date: Mon, 03 Jan 2005 18:12:03 -0000
Message-ID: <Xns95D36834F9714cdouglasoznet_at_216.168.3.30>


DA Morgan <damorgan_at_x.washington.edu> wrote in news:41d87f2e$1_1_at_127.0.0.1:

> Chas Douglass wrote:

>> DA Morgan <damorgan_at_x.washington.edu> wrote in
>> news:41d8219f$1_1_at_127.0.0.1: 
>> 
>> [snip]
>> 
>>>It is true. Most of the Java being written against relational
>>>databases doesn't perform and doesn't scale well.
>> 
>> [snip]
>> 
>> Thats a pretty broad brush you're painting with.  Do you have some
>> numbers on which your are basing this claim?
>> 
>> It also gives the impression that performance is the most important
>> element of software development, which is certainly not always true.
>> 
>> Chas Douglass

>
> Very broad ... and I intentionally said "most" rather than "all"
> because there is some very good Java being written too. My assessment
> comes from two sources: The consulting work I have done for a number
> of Fortune 500 size corporations, and government agencies, in the last
> 5 years. Much of my time has been spent teaching Java developers that
> the database is not a bucket full of stuff. Their ignorance leads them
> too far too often reinvent the wheel or insist on stupid stuff such as
> XML stored as XML rather than being reconstituted on-the-fly. The
> other source of my broad brushstroke is teaching at the University of
> Washington where I regularly get students whose prior experience is
> Java and whose CIO or IT manager has sent them to learn something
> about the database. They may be very good at their primary job ... but
> their profound ignorance of databases is amazing.
>

Pardon my skepticism, but this could easily be a self-selecting sample, could it not?

Aren't you hired as a consultant by companies that have problems in your area of expertise (which appears to be DB's)? Aren't your students coming to you for that expertise?

This appears to be similar to the classic case of the psychiatrist that declared that "most people" had psychological problems -- based on his experience that most of his patients were, well, crazy.

Of course, this doesn't mean you are wrong. But it does differ from my experience -- which is also clearly anecdotal.

There are way too few controlled studies in life. To me, even an assertion of "most" requires some verification of the methodology and population.

> Addressing your second comment I would not say that performance and
> scalability are the most important attributes of a program. But when
> the database is capable of returning a result set in less than a
> second and the Java developer getting the same result set uses a
> method that takes 1-5 seconds there is a major problem and not just to
> the end-user. Often management ends up purchasing far more expensive
> hardware to compensate for bad design, bad implementation, and a lack
> of experience.
>

If this query occurs once every day, is it still a "major problem"? What about once a week?

> Let me give you some simple examples related to Oracle since that is
> where this has been cross-posted. How many Java developers in your
> organization know about the following?
>
> EXPLAIN PLAN
> TKPROF
> TRACE ANALYZER
> Bind Variables
> Multiversion Read Consistency
> Stored Outlines
> Hints
>
> And that is just the tip of the iceberg. The answer, undoubtedly, is a
> very small number. And yet no serious Oracle DBA or developer would
> consider doing much without one or all of them.

If your point is that any large development project would benefit from expertise in the specific database to be used -- that is pretty hard to disagree with.

If your point is that every Java programmer needs to be an expert in that database -- I would definitely disagree. Hey, it might be nice, but this is the real world.

(Should we drop comp.databases.oracle from followups? I'm not sure this discussion is relevant there any longer. I'm reading this in c.l.j.p but I don't know where you are reading it.)

Chas Douglass Received on Mon Jan 03 2005 - 19:12:03 CET

Original text of this message