Re: Mixing P/R philosophy with OO (within J2EE).

This is a discussion on Re: Mixing P/R philosophy with OO (within J2EE). within the Framework and Interface Programming forums in category; On Apr 7, 6:37 pm, Patrick May <p...@spe.com> wrote: > "Harry" <simonsha...> writes: > > I tend to believe in the power of the RDBMS. Unlike OO, it seems to > > have a sound mathematical basis, a rigor behind its learning and > > mastering. > > Most commercial RDBMSs are based to some extent on relational > algebra, but it is important to note that this doesn't automatically > result in faster, better, or cheaper software development. Common > Lisp is based on the equally formal lambda calculus but one rarely > hears that touted as a benefit ...

Go Back   Application Development Forum > Framework and Interface Programming

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 04-08-2007, 02:35 AM
Harry
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

On Apr 7, 6:37 pm, Patrick May <p...@spe.com> wrote:
> "Harry" <simonsha...> writes:
> > I tend to believe in the power of the RDBMS. Unlike OO, it seems to
> > have a sound mathematical basis, a rigor behind its learning and
> > mastering.

>
> Most commercial RDBMSs are based to some extent on relational
> algebra, but it is important to note that this doesn't automatically
> result in faster, better, or cheaper software development. Common
> Lisp is based on the equally formal lambda calculus but one rarely
> hears that touted as a benefit in and of itself.


I have not explored lamba calculus so can't comment on it.

My current understanding is that the RDBMS is a layer, and a non-
trivial layer at that. It is already hiding within it a lot of crappy/
boring/repetitive programming drudgery, and providing me a very
valuable, a very significant service in terms of something (set
theory) that I'm well familar with since my pre-college days. In
absence of any multi-vendor-RDBMS support requirement, I'd very much
like my solution to be closest to this layer. Wouldn't you?

> > I do tend to think that *wherever possible*, we should try not to
> > use OO to re-discover and learn lessons that have already been
> > learned a decade or two ago (the network model).

>
> You seem to be channeling Bryce Jacobs. I'd recommend refraining
> from making statements like this until you have sufficient personal
> experience with OO to understand that competent developers are most
> certainly not doing what you suggest.


Who, TopMind? I've been very much a hands-on OO developer for many
years. Some of the things he talks about on the tablizer site about
OO... I could instantly connect with them because I have experienced
many of them first-hand (some rather painfully). I only wish I had
run into his OO critique early on in my career. He has saved me (and
I bet many others, the seekers of 'truth') much work by
systematically presenting the flip-side of OO, if you will... things
what most OO book authors won't tell you... even in a relegatory
appendix.

> > OO may prove very elegant in the modeling of static, noun-oriented
> > relationships as found in mathematics, nature, etc but not
> > necessarily in highly volatile biz scenarios where we cannot and
> > thus never will, fully understand, ever, the implications of our own
> > class design choices.

>
> Again, you're showing your lack of experience with the
> technology. OO techniques have been and are being used to develop
> large, mission critical applications that are flexible in the face of
> constantly changing requirements. You should investigate Robert
> Martin's papers and some of the agile approaches to learn how.


It's not that I've written off OO completely. It's just I would be
very cautious in buying into bold, blanket promises. In purely the
interest of the software-design--the-OO-way community , I urge well-
known OO experts to furnish point by point rebuttals of the tablizer
site contents. Until then, I may read their papers and books and what
not but all with a pinch of salt.

> > If there were no incompatibilities in the SQL interface across
> > vendors [ . . . ], I could still consider exploiting the full power
> > of the RDBMS for building a *product*.

>
> OO, procedural, relational, functional, and other techniques are
> not mutually exclusive, despite what you may have been led to believe
> by some overly prolific posters here. Competent developers use the
> combination of tools that provides the greatest benefit in addressing
> the problem at hand. Don't be a one trick pony.


The pony would definitely love to learn many new tricks. But the pony
here, out of sheer pony-peer pressure, began learning a new trick
without critically understanding what all the earlier trick (that many
other ponies already knew of and successfully used in the 80s) was
capable of accomplishing. This pony now doesn't want to be in a
situation where he's keeping on going on learning new tricks without
fully mastering the earlier ones. Otherwise, he risks being hailed as
pony of all trades, master of none.

(Your point well taken, though.)

> Finally, I'd like to suggest that you consider one anecdote.
> I've been in this industry for almost 20 years. I remember when OO in
> general and C++ in particular were first becoming widely used. At the
> time, developers were building client-server architectures using
> procedural and relational techniques. Over the course of a few years,
> many intelligent, experienced developers, all with a solid
> understanding of relational databases and procedural programming,
> began using OO techniques. Those techniques have been continuously
> refined and are still being used today.
>
> What I'd like you to consider is: Does it make sense that every
> one of those developers, despite their understanding of the benefits
> of relational databases, would have started using OO if they found no
> benefits from doing so? Is it really a credible position to imagine
> that such a large group of people would succumb to pure hype?


A counter-anecdote/parable would be: The Emperor's New Clothes.

I somehow doubt this OO refinement process will ever end. Could the
need for this "continous refinement" be a function of its
incompleteness and hint at something fundamental that it's lacking?
I'm not aware of any refinements being done to P/R. Could this hint
at the inherent completeness/maturity of this device?

> Obviously you should think for yourself and learn the advantages,
> disadvantages, and applicability of all of these techniques
> personally. However, there are worse ways to prioritize what you're
> going to learn than by listening to intelligent, experienced people
> who have actually delivered working enterprise-scale systems.


I have read amply (and you can trust me on this one) about the
benefits, merits, advantages of OO. Unfortunately, I've never run
into one OO book (pl point me if you know of one) that talks about the
flipside of OO... instances of which are covered in great detail on
the tablizer site. (If anyone knows of any other OO-critique site, pl
let me know.) It helps me greatly if I know upfront the things a tool/
technology cannot do rather than only knowing what it can do.

Regards,
Harry.

Reply With Quote
  #2  
Old 04-08-2007, 10:27 AM
Patrick May
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

"Harry" <simonsharry> writes:
> On Apr 7, 6:37 pm, Patrick May <p...@spe.com> wrote:
>> Most commercial RDBMSs are based to some extent on relational
>> algebra, but it is important to note that this doesn't
>> automatically result in faster, better, or cheaper software
>> development. Common Lisp is based on the equally formal lambda
>> calculus but one rarely hears that touted as a benefit in and of
>> itself.

[ . . . ]
> My current understanding is that the RDBMS is a layer [ . . . ]
> providing me a very valuable, a very significant service in terms of
> something (set theory) that I'm well familar with since my
> pre-college days. In absence of any multi-vendor-RDBMS support
> requirement, I'd very much like my solution to be closest to this
> layer.


Why?

>> > I do tend to think that *wherever possible*, we should try not to
>> > use OO to re-discover and learn lessons that have already been
>> > learned a decade or two ago (the network model).

>>
>> You seem to be channeling Bryce Jacobs. I'd recommend
>> refraining from making statements like this until you have
>> sufficient personal experience with OO to understand that competent
>> developers are most certainly not doing what you suggest.

>
> Who, TopMind? I've been very much a hands-on OO developer for many
> years. Some of the things he talks about on the tablizer site about
> OO... I could instantly connect with them because I have experienced
> many of them first-hand (some rather painfully). I only wish I had
> run into his OO critique early on in my career. He has saved me
> (and I bet many others, the seekers of 'truth') much work by
> systematically presenting the flip-side of OO, if you will... things
> what most OO book authors won't tell you... even in a relegatory
> appendix.


Bryce Jacobs (posting here and elsewhere under the pseudonym
Topmind) has admitted in this very newsgroup that he has very limited
practical experience with OO techniques. Your breathless
near-sycophancy strongly suggests to me that you are his sock puppet.

>> Again, you're showing your lack of experience with the
>> technology. OO techniques have been and are being used to develop
>> large, mission critical applications that are flexible in the face
>> of constantly changing requirements. You should investigate Robert
>> Martin's papers and some of the agile approaches to learn how.

>
> It's not that I've written off OO completely. It's just I would be
> very cautious in buying into bold, blanket promises.


More Bryce Jacobs nonsense. Please provide some evidence of
these "blanket promises". Competent, experienced developers use OO
techniques, where they are applicable, because they provide value.
Those same developers use relational, procedural, and functional
techniques when appropriate.

>> What I'd like you to consider is: Does it make sense that
>> every one of those developers, despite their understanding of the
>> benefits of relational databases, would have started using OO if
>> they found no benefits from doing so? Is it really a credible
>> position to imagine that such a large group of people would succumb
>> to pure hype?

>
> A counter-anecdote/parable would be: The Emperor's New Clothes.


The developers to whom I am referring have to build real,
working, enterprise-scale systems. Reality is a wonderful constraint
for focusing one's thoughts. Are you seriously suggesting that
everyone using OO techniques is simply following the herd?

[ . . . ]
> Unfortunately, I've never run into one OO book . . . that talks
> about the flipside of OO... instances of which are covered in great
> detail on the tablizer site.


If by "covered" you mean "railed against by someone completely
lacking competence in the relevant disciplines", then you are correct.

Since you claim OO experience, what problems have you,
personally, encountered that lead you to give any credence whatsoever
to Bryce's ramblings?

Sincerely,

Patrick

------------------------------------------------------------------------
S P Engineering, Inc. | Large scale, mission-critical, distributed OO
| systems design and implementation.
pjm@spe.com | (C++, Java, Common Lisp, Jini, middleware, SOA)
Reply With Quote
  #3  
Old 04-08-2007, 10:43 AM
Lew
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

Patrick May wrote:
> Bryce Jacobs (posting here and elsewhere under the pseudonym
> Topmind) has admitted in this very newsgroup that he has very limited
> practical experience with OO techniques. Your breathless
> near-sycophancy strongly suggests to me that you are his sock puppet.


Your breathless /ad hominem/ rhetorical style strongly suggests that you are
afraid to address the points on their merits.

--
Lew
Reply With Quote
  #4  
Old 04-08-2007, 11:29 AM
Patrick May
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

Lew <lew@nospam.lewscanon.com> writes:
> Patrick May wrote:
>> Bryce Jacobs (posting here and elsewhere under the pseudonym
>> Topmind) has admitted in this very newsgroup that he has very
>> limited practical experience with OO techniques. Your breathless
>> near-sycophancy strongly suggests to me that you are his sock
>> puppet.

>
> Your breathless /ad hominem/ rhetorical style strongly suggests that
> you are afraid to address the points on their merits.


I suggest you familiarize yourself with Bryce Jacob's history on
this newsgroup. You will find that he is neither capable of nor
amenable to rational discourse.

If you have a particular point that you believe has not been
addressed, please explain it. Bryce has proven himself to be not
worth responding to; thus far you have not.

Regards,

Patrick

------------------------------------------------------------------------
S P Engineering, Inc. | Large scale, mission-critical, distributed OO
| systems design and implementation.
pjm@spe.com | (C++, Java, Common Lisp, Jini, middleware, SOA)
Reply With Quote
  #5  
Old 04-08-2007, 12:04 PM
Lew
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

Patrick May wrote:
> If you have a particular point that you believe has not been
> addressed, please explain it. Bryce has proven himself to be not
> worth responding to; thus far you have not.


Thank you.

I am a fan of both the O-O approach and the "set algebra" of SQL. topmind,
and to a greater extent, frebe have raised points on this thread in favor of
the expressive power of SQL and the relational model.

As a practitioner who has worked with network-model database systems,
relational-model database systems, object-to-relational frameworks, direct
JDBC and integrated RDBMS/front-end products like Paradox and MS-SQL+VB[A], as
well as C++ and Java development, I have learned that object models and
relational models have their value in their respective demesnes. I find that
various O-R frameworks like the Hibernate constellation tend to hamper my
development efforts, because indeed they succeed at abstracting away the
SQLish aspects of the work. OTOH, data abstraction is a Good Thing and I
usually encode an object-to-relational layer of some sort. It's just that
with JDBC calls (in my Java work) I have better control than with the usual
frameworks.

I don't think it's useful to denigrate either the O-O or the RDBMS approaches.
It is a valid criticism that attempts to abstract away the SQL side of
things tends to deprive one of the power of set operations; it is better to
let data manipulation, integrity and views come from the back end to support
the object model of the middle layers.

Kung fu that steals ideas and techniques from all styles is more powerful than
any single style.

--
Lew
Reply With Quote
  #6  
Old 04-08-2007, 12:19 PM
Patrick May
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

Lew <lew@nospam.lewscanon.com> writes:
> Kung fu that steals ideas and techniques from all styles is more
> powerful than any single style.


A sensible, articulate post with a reasonable conclusion. How do
you expect to fit in on Usenet if you act like that?

Regards,

Patrick

------------------------------------------------------------------------
S P Engineering, Inc. | Large scale, mission-critical, distributed OO
| systems design and implementation.
pjm@spe.com | (C++, Java, Common Lisp, Jini, middleware, SOA)
Reply With Quote
  #7  
Old 04-08-2007, 12:26 PM
Lew
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

Patrick May wrote:
> Lew <lew@nospam.lewscanon.com> writes:
>> Kung fu that steals ideas and techniques from all styles is more
>> powerful than any single style.

>
> A sensible, articulate post with a reasonable conclusion. How do
> you expect to fit in on Usenet if you act like that?


The ultimate troll: stays on topic and works with reason. Drives other trolls
bananas, while doing no harm to the innocent.

--
Lew
Reply With Quote
  #8  
Old 04-08-2007, 07:11 PM
topmind
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

On Apr 8, 9:19 am, Patrick May <p...@spe.com> wrote:
> Lew <l...@nospam.lewscanon.com> writes:
> > Kung fu that steals ideas and techniques from all styles is more
> > powerful than any single style.


But takes 2 lifetimes to learn and transfer to the new batch of
hirees. Kungfooer's only have to win. Software developers have to
share their work. Analogy deflection.

>
> A sensible, articulate post with a reasonable conclusion. How do
> you expect to fit in on Usenet if you act like that?
>
> Regards,
>
> Patrick


-T-

>
> ------------------------------------------------------------------------
> S P Engineering, Inc. | Large scale, mission-critical, distributed OO
> | systems design and implementation.
> p...@spe.com | (C++, Java, Common Lisp, Jini, middleware, SOA)



Reply With Quote
  #9  
Old 04-08-2007, 07:32 PM
Lew
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

Lew writes:
>>> Kung fu that steals ideas and techniques from all styles is more
>>> powerful than any single style.


topmind wrote:
> But takes 2 lifetimes to learn and transfer to the new batch of
> hirees. Kungfooer's only have to win. Software developers have to
> share their work. Analogy deflection.


Are you saying you missed my point?

No analogy will be perfect in all points; if it were it wouldn't be an
analogy, it'd be the thing itself. The question is whether the analogy served
the purpose in illustrating the message that one should use the best of all
available techniques.

If you want to share your work, this is even more important. It actually
intensifies the point I was making.

The notion that "kungfooers [sic] only have to win" betrays a complete lack of
understanding of the principles of kung fu. Kung fu is about self-mastery and
the graceful accomplishment of perfection. It has absolutely nothing to do
with winning. Analogy deflection completely missed its mark.

The point in all kung fu is to teach the next generation of warriors, not to
hold the knowledge to oneself. Analogy back on track.

--
Lew
Reply With Quote
  #10  
Old 04-08-2007, 10:17 PM
Harry
Guest
 
Default Re: Mixing P/R philosophy with OO (within J2EE).

On Apr 8, 7:27 pm, Patrick May <p...@spe.com> wrote:
> "Harry" <simonsha...> writes:
> > On Apr 7, 6:37 pm, Patrick May <p...@spe.com> wrote:
> >> Most commercial RDBMSs are based to some extent on relational
> >> algebra, but it is important to note that this doesn't
> >> automatically result in faster, better, or cheaper software
> >> development. Common Lisp is based on the equally formal lambda
> >> calculus but one rarely hears that touted as a benefit in and of
> >> itself.

> [ . . . ]
> > My current understanding is that the RDBMS is a layer [ . . . ]
> > providing me a very valuable, a very significant service in terms of
> > something (set theory) that I'm well familar with since my
> > pre-college days. In absence of any multi-vendor-RDBMS support
> > requirement, I'd very much like my solution to be closest to this
> > layer.

>
> Why?


Why?? What do you mean! If you had a good, very useful (let's say:
an OO) layer (say, X) that was abstracting away something ugly (say,
Y) and providing you a useful service, why would you want to build a
few more layers on top of it and code against them instead of X. The
Facade pattern and its motivations don't apply to the above case
because I (for one) am comfortable with the SQL interface, find it
elegant enough, and would thus want to use, nay exploit, its full
power.

> Bryce Jacobs (posting here and elsewhere under the pseudonym
> Topmind) has admitted in this very newsgroup that he has very limited
> practical experience with OO techniques. Your breathless
> near-sycophancy strongly suggests to me that you are his sock puppet.


And, breathless sycophancy to R. Martin et al would be OK I guess.
Bryce Jacobs is welcome to do a 180° on his stance on OO; it won't
change my current impressions on OO.

My research + experience + insight = My world view.

Please try and refrain from such ad hominems. They serve no useful
purpose.

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 02:31 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.