Re: Is OO anti-Math? (Re: Whose Fish?)




JXStern wrote:
On 19 May 2007 10:14:21 -0700, topmind <topmind@xxxxxxxxxxxxxxxx>
wrote:

Not surprising. My philosophising about biz modeling has also lead me
away from OO. The "smorgishboard/buffet of features" is a direct
result of this insight.

Was also standard practice just before OO, circa 1980s.

But RDBMS were generally not sufficiently powerful enough back then so
that people had to reinvent a lot of DB-like features in their
procedural code.



I have called this kind of polymorphism "utility" polymorphism.
(Another example is "toString".) However, it is not the cornerstone of
OO biz modeling, at least not the examples that I've seen. One is not
going to build an *entire* app this way.

I don't know what that means. I don't build applications with
polymorphism, I build classes with polymorphism, or perhaps methods
with polymorphism, or namespaces with common entries.

I guess I would have to see your code to comment.



Again again again, I said it was "not common" or "not key". I did NOT
say it was not possible. You are confusing existence with utility.

Well, but I think you are confusing what the tool is good for, with
the abuses people commit with it.

I don't know whether they are abuses of OO or flavors of OO. Since
most OO looks like like shanty-town hack-a-class code to me, I don't
see a difference.

and you have much more control over caching and scrolling
and stuff related to realizations (presentation) and not semantics.

Example? I generally do not want to micromanage caching anyhow. At
best, offer "hints" about when to do garbage collection, etc, but not
micromanage it.

Oh, you know, the 10,000 (or 10m) result set that you only want to
ship back 100 at a time, but encoding/decoding that everyone wants so
it's more efficient to do in code, effectively locking stuff in RAM,
anything where the connection has to be stateful.

DB == disk is a fallacy. Anyhow, if stuff has to be buffered in app
RAM for whatever reason, why is OO alleged better at such? I agree
that existing languages don't support "local DBs" very well, but that
is a vendor flaw, not a paradigm flaw. Is OO the consolation prize for
languages that lack end-end-end table handling? Perhaps.



On a total app, use the RDB to hold a data model, rather than
"persisted instances" in class-tables, and use the OO front and middle
tiers basically as event handlers and smart caches.

Why not use procedures for event handlers? And what exactly is a
"smart cache"?

Because the architecture typically has events at the presentation
level and it's a long way back to the RDB, and the RDB is generally
not also the web service or the object server - though perhaps there's
a trend towards putting all three together. Probably more of a
licensing and pricing issue than technical, at this point.

I meant application procedures, not necessarily stored procedures.


Again, a smart cache is about the app being able to set priorities on
what stays in RAM, or even result sets saved to disk but not needing
to be recomputed, in spite of not being MRU. All the way up to
automagically replicating partial or entire tables out to middle or
presentation tiers to process there instead of back on the central
server, yet keeping them subscribed to global changes.

In most parts of my apps, there is little reason to let stuff "linger
around". And the few times it is needed would be helped by languages
that provided in-app table handling (which could potentially be
buffered to disk if large). These were common in the late 80's before
OO hype ruined them.



OO is too hard to get right because there are too many opinions out
there about what OOD "should be". Popular authors endorse wrapping the
hell out of RDBMS because it allegedly gives them the ability to
switch DB vendors etc. They swear by such crap and defend it to the
death.

Sturgeon's Law.

Anyway, I blame Microsoft majorly here, their OO people have tended to
be major abusers and totally ignorant of RDB, and some large
percentage of the rest of the world gets 101% of their knowledge of
things from Microsoft, and there ya go. On the plus side, there's
usually SOMEONE at Microsoft who knows what they're doing, and ADO+
has been designed to support smart caching architectures, and actually
I've rather lost track of what Microsoft is doing in most areas, but
they did have some other good initiatives, too, just to be fair.

Well, if you know how to do OO right and can document in detail what
MS-flavor does wrong, then please do show it in a blog or whatnot. I
have yet to see OO biz app code done well. They seem driven by dogma
instead of cost-benefit change analysis. The OO books seem to
overemphasize certain change patterns, and the masses swallow it
without scrutiny.


J.

-T-

.



Relevant Pages

  • Re: Is OO anti-Math? (Re: Whose Fish?)
    ... Higher-level features and tools utilize meta-information, ... use the OO to talk to the RDB and do presentation and connection ... tiers basically as event handlers and smart caches. ... Anyway, I blame Microsoft majorly here, their OO people have tended to ...
    (comp.object)
  • MacHeist software bundle for $49
    ... Thought you might like to know about a very good software bundle ... There's mass speculation on the site that at least another app will be ... early access to CoverSutra 2, which features brand new music search, ... Snapz Pro is currently locked, and will be made available for all ...
    (comp.sys.mac.system)
  • MacHeist software bundle for $49
    ... Thought you might like to know about a very good software bundle ... There's mass speculation on the site that at least another app will be ... early access to CoverSutra 2, which features brand new music search, ... Snapz Pro is currently locked, and will be made available for all ...
    (comp.sys.mac.apps)
  • MacHeist software bundle for $49
    ... Thought you might like to know about a very good software bundle ... There's mass speculation on the site that at least another app will be ... early access to CoverSutra 2, which features brand new music search, ... Snapz Pro is currently locked, and will be made available for all ...
    (de.comp.sys.mac.misc)
  • MacHeist software bundle for $49
    ... Thought you might like to know about a very good software bundle ... There's mass speculation on the site that at least another app will be ... early access to CoverSutra 2, which features brand new music search, ... Snapz Pro is currently locked, and will be made available for all ...
    (uk.comp.sys.mac)