Re: OO's best feature survey results

From: Topmind (topmind_at_technologist.com)
Date: 11/01/03


Date: 1 Nov 2003 01:09:27 -0800


> >> If you have a very flat class structure, you can completely equate
> >> classes to relational tables, etc.
> >
> >Not if you have dynamic OOPL's, in which each "record" (object) can
> >have as many or few attributes as it wants. This goes against
> >relational as we know it, which "centralizes" the schema. However, it
> >would be interesting to try dynamic relational, which is sort of the
> >dynamically-typed (or "scriptish") way of seeing things applied to the
> >relational model.
>
> OOPL is always a superset.

Well, I guess I have to agree, but being a superset is not
necessarily better. Sticking to a certain rigor has its
advantages. That is why planned towns are generally
more functional than shanty-towns, which abide by
less rules and regulations.

But, dynamic relational would open up more possibilities
and should be explored.

>
> OTOH, relational was the first language/system to have dynamic
> resultsets in response to dynamic SQL queries!
>
> >> But, there is no reason to ever do
> >> such a thing! I'm with you on the relational data model, and proper
> >> use of relational databases.
> >
> >Then would you be comfortable saying that relational is generally
> >better for modeling the domain itself and OOP for the networking and
> >OS interfaces (where polymorphism is not hampered by dynamic interface
> >changes as much)?
>
> Er, can't really parse that question.
>
> Relational is good because it gives you very nearly the mechanical,
> meat-grinder approach to modelling that everyone wants, at least down
> to 3NF. However, there are entire classes of apps that don't model
> very well to relational.

It would be interesting to catalog the alleged failings. Are
they perfomance failings or developer interaction failures?
Note that relational theory does not define an implementation.
Thus, a slow database just may mean that someone is not
thinking of all the implementation options.

> So, one has tradeoffs. It's still a good
> step to do the relational data model first, and to understand what
> leaving it in the RDBMS buys you -- generally, the vast majority of
> your app other than the GUI.

And, I think GUI's should be defined in meta-data of some sort,
not app code. For one, that would divorce a GUI engine
from being tied to any one programming language.

>
> OOP, like I said, I see as more a syntactic than semantic tool, so
> whenever something is best done procedurally, OOP tags along.
>
> I think that's a valid summary of my mostly intuitive taxonomy of what
> goes where.
>
> Joshua Stern

-T-



Relevant Pages

  • Re: VFP Objects for a beginner - help!
    ... My "stuff" is all large external DB manipulation and reporting ... another app. ... VB guy would set a reference to the DLL in his project and then could ... The "OOP" way to pass in variables is to set the ...
    (microsoft.public.fox.programmer.exchange)
  • Re: MFC vs .NET
    ... I have created 2 versions of my app C# and c++ mfc ... in my time critical functions i used .Net Quick sort and qsort c run tim lib ...
    (microsoft.public.vc.mfc)
  • Re: Windows Error at run-time...
    ... > My problem is that I am not used to pointers and my little app ... > always crashes at run-time...access violation of some sort. ... my app doesn't even create an application window but crashes ...
    (comp.lang.cpp)
  • Re: Saving Listview Selected Item Problems
    ... Some sort of "hack" solution. ... the unique record then create an extra listview column with 0 column width. ... When your app open you use code like the one below to select the last Item ... I retrieve this index and select the item ...
    (microsoft.public.vb.general.discussion)
  • Re: What are the benefits?
    ... > bought just seems to play around with variables and classes and tells ... I think the best thing I've ever read, that dealt with this sort of topic is ... I'm a Millwrite that occasionally needs to make a small app or ... minor change in VBA as part of my job. ...
    (alt.comp.lang.learn.c-cpp)