in reply to Re: Re: Re: (OT) Terminology Oriented Programming
in thread (OT) Terminology Oriented Programming

I'll bite.
- Ouch!
OS kernels Device drivers Image processing Genetics applications Natural language processing Cryptography

All of these can be, and I believe have been, successfully analysed and designed using OOD techniques. Examples:

That leaves

Quickie sys-admin scripts

Good design takes time. Quickies are rarely well designed, they simply get the job done, but if the quickie need to be frequently re-used with small changes...

Would you care to state examples that are intractable to non-OO solutions?

Math.

When you invoke the 'add' method (often overloaded to the symbol '+') on a variable (object) that happens to be an integer, the cpu processes that operation as an integer. If the object that is the subject of that method happens to be a IEEE representation of a floating point value, then the cpu hands that method off to a math co-processor. Try 'add' on a string and you'll get an exception. This is true, regardless of the processor or the language used.

Some languages happen to overload the symbol '+' to perform a concatenation operation on a string, and that too is a OO concept (overloading). However, as was pointed out in these halls not too long ago, that is a pretty bad idea. The semantics of concatenation and those of numeric addition are completely different. 1 + 3 and 3 + 1 are commutative, but "foo" concat "bar" and "bar" concat "foo" are not.

This battle of wits you propose would be a two way street.

As I tried to indicate in my post, I was simply looking for good, well-defined examples of problems that are, or seem to be intractable to OOD, purely for research purposes.

Too many OOD books and courses concentrate on design problems, often concocted or artificially simplified, that naturally lend themselves to OOD. If your going to explore the real benefits (or otherwise) of a subject, it is better to start with difficult examples. If you can solve the difficult ones and show benefits, then the easy natural ones speak for themselves. This was the purpose of my request.

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: (OT) Terminology Oriented Programming
by Anonymous Monk on Dec 13, 2003 at 06:20 UTC
    I would say most business/databasebase applications are not well modelled by OOD. That does not say such apps are intractable or even difficult to do in OO, just that contrary to popular wisdom and some large investment in OO languages for business applications, people are still left groping for a better way to model such applications.

      I think I understand where your coming from on this. The problems with making OO work with database applications are fairly well documented and have been the subject of a discussion here quite recently.

      To be really useful (to me), the problems need to be fairly clearly defined, specific examples. Preferably with an indication of what problems where encountered in modelling them using an OO regime.

        The OO/Database problem was summed up well by William Cook (paraphrasing, and I can't recall where I read it, perhaps quoted in one of Richard P. Gabriel's essays): The problem is that OO is about encapsulation of state and behavior but databases are about separating state and behavior.