Re: Clean Object Class Design -- Circle/Ellipse

From: Richard MacDonald <macdonaldrj_at_att.net>
Date: Sun, 19 Aug 2001 04:54:55 GMT
Message-ID: <zEHf7.22359$1p1.1749305_at_bgtnsc04-news.ops.worldnet.att.net>


"Bob Badour" <bbadour_at_golden.net> wrote in message news:mwEf7.77$Yp5.18782294_at_radon.golden.net...
> >Perhaps the next torch-bearer will actually have some experience with
> >OO languages and won't be as shrill.
>
> First, your perception of Date as "shrill" was manufactured entirely
 within
> your own psyche. It says much about your fantasies and nothing about Date,
> Date's writings or the quality of Date's works.

Incorrect. I'm part British. I know the archetype. I followed the magazine debate he had a few years back on nulls. That was shrill. I try to separate personality from technical points. Frankly, I wish he would.

> Second, Date does not need to know Smalltalk or any other specific
 language
> to make the points that he makes in his essay on values in general.

Ok. I was addressing a larger point, though. For him to make comments about OO, he really should know Smalltalk. If *I*, a mere practitioner without a formal computer science background, can read him and conclude "he's complaining about things that are easily solved", then there is a problem.

> >"Date just doesn't know Smalltalk and he just hasn't thought about
 pattern
> >X, Y, and Z to do what he is proposing".
>
> That's funny. I read the same things and I think "Date clearly understands
> programming languages. Just see how brilliantly he sweeps away the
 needless
> complexity of patterns X, Y and Z. I wish I had such a programming
 language
> without all the arbitrary shortcomings of a language like x where x in
> C++, Smalltalk, Java, Eiffel, ADA, VB ... }"

Yes, how funny. Just what language do you think we should implement his approach in?

> Did you ever bother to check Date's references and bibliography to see
> whether he might have considered Smalltalk or patterns X, Y and Z ? It
 seems
> unfair to Date to immediately assume he did not.

Didn't bother. I could tell from his writing. You can't *hide* these things, you know.

> I see references like the following and assume that he considered
 Smalltalk
> and X, Y and Z. He simply rejected them as impractical or inferior.
>
> From _Introduction to Database Systems, Sixth Edition_ Chapter 23,
> References and Bibliography:
>
> 23.1 George Copeland and David Maier. "Making Smalltalk a Database
 System."
> Proc. 1984 ACM SIGMOD International Conference on Management of Data,
> Boston, Mass. (June 1984). Republished in M. Stonebraker (ed.), _Readings
 in
> Database Systems_. San Mateo, Calif.: Morgan Kaufmann (1988)
>
> He also has tons of references regarding database systems like Gemstone
 that
> are based on Smalltalk. What makes you think he does not know Smalltalk?
> What makes you think he never considered the patterns X, Y and Z?

Because they solved the things he was complaining about. Look, you can attend all the Smalltalk presentations you want, but unless you actually *learn* it and use it, you don't know Smalltalk. A Lisper might. A true relationist might get a glimpse, but will still miss some keys. As far as I can tell, Date is a theorist, not a practitioner. Lord knows we need our theorists, but his lack of *programming* experience shows. Nobody is perfect, everyone has blind spots, ok? Let's lose the hero worship.

>
> >I was nodding my head to Date's
> >points and thinking: "Yup, can do".
>
> But at what relative cost?

Today it means giving up the relational model and working with OO instead. Of course, this is unacceptable to him.

> >And that was sad, because by criticizing
> >C++ and thinking its OO (:-), he gets written off by an field that
> >could use his help.
>
> He did not criticize C++, per se. He merely responded to Stroustrup's
 essay
> as a widely recognized, respected, published exemplar of the counter
> argument. He could just as easily have chosen any other published exemplar
> of the counter argument based on any other OO language.

Sorry, I led you astray. I was not refering to Stroustrup. I was refering to Date's railing against OO where it was plain he was railing against *crappy* OO languages. Hence my C++ comment.

> Date cannot help it if Stroustrup bases his position regarding the
> Circle-Ellipse issue on arbitrary limitations of C++.

I quite agree, but I have no first-hand knowledge of this issue.

Now, someone is going to challenge me on what those things/patterns were. I have a badly filed scrap of paper in which I wrote it down years ago.
One was (1) So just add the Collection/Relational interface to the
Object class. Another was (2) He really needs to know that its possible to program on the class side of the class, e.g., trap every instantiation and maintain Dictionaries of all instances of the class. Any more than that and I'm going to have to spend a few days finding the relevent Date pages and recovering my thoughts. I'm afraid its unlikely to happen soon. Sorry for the bait and retract. FWIW, I'm fascinated with the idea of combining OO and relational theory (and FP), even though I'm obviously a bit of a Date basher. Received on Sun Aug 19 2001 - 06:54:55 CEST

Original text of this message