Re: What databases have taught me

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Fri, 23 Jun 2006 11:32:15 GMT
Message-ID: <3jQmg.1043$pu3.29092_at_ursa-nb00s0.nbnet.nb.ca>


Bruno Desthuilliers wrote:
> frebe73_at_gmail.com wrote:
>

>>>- I started life as a procedural programmer.
>>>- I adopted OO and soon got the 'aha' click described by R. Martin.
>>>- I spent years coding large OO projects, with beautiful, elegant
>>>architectures.
>>>- I spent further years practically gnawing my arm off attempting to
>>>adapt my perfect OO designs as requirements inevitably shifted and
>>>exceptions arose.
>>>- I finally realised that my 'aha' was utterly illusionary, and that my
>>>code, being OO, was inevitably and irrecovably imprisoned in a
>>>hierarchical strait-jacket
>>
>>
>>I share the same experience too. Its a very unpleasant exerience to
>>finally realize that what you believed in for many years is just an
>>illusion. But I still think that there are some limited areas, such as
>>building collection classes (maps, lists, etc), embedded software or
>>GUI components, in which OO have some benefits.

>
> Indeed.
>
>
>>After all OO started in the telecom industry and I think that OO showed
>>some significant benefits in that area. But the big problem is then the
>>gurus tried to apply OO everywhere, specially in business software for
>>accunting, logistics, HR management etc.

>
> Are OO programs much worse than procedural or functional ones in this
> domain ? My own experience is that I write better software and have less
> maintenance nightmares with how I use OO today than with some procedural
> programs I've had to work on - but then, I've also worked on very badly
> designed/written OO apps, and that was by no mean better than the badly
> designed/written procedural apps :-/
>
> So, is it a problem with OO, or a problem with how OO is used ?

It is a problem with OO. The benefits you describe come from effective abstraction and related engineering disciplines that are not unique to OO. The problems JOG related, on the other hand, are inherent to OO.

>>I think that the main disadvantage with OO is that it is not
>>multi-dimensional. OO textbooks like to use animals as an example.

>
>
> Alas...
>
>
>>They
>>like to build a polyphormic hierarchy like this:
>>Fish
>>  - Shark
>>  - Tunar
>>Bird
>> - Eagle
>> - Condor
>>Mammal
>> - Horse
>> - Dolphin
>> - Bat
>>This is the correct zooligical hierachy. 

>
> Yes, and a very bad example of the use of subtyping in OO. Also, it
> somehow relies on the assumption that polymorphism is conditionned by
> class inheritance - which, while somehow the case with languages like
> Java, is not necessarily true for all OOPLs.
>
>>But what if there are features
>>(or behavior) that are common for all animals that can fly or that
>>lives in water?

>
> What's your problem here exactly ?

Such a silly trivial example doesn't even begin to address the issue JOG brought up related to application maintenance in a dynamic environment.

Such a stupid example is, in fact, nothing more than a complete waste of time for everyone. Received on Fri Jun 23 2006 - 13:32:15 CEST

Original text of this message