Subject: OOP

From: "Paul Townsend" <[email-masked]>
Date: Wed, 9 Feb 1994 15:16:38 +0000

I must reply to some of the comments made so far. I have  spent at least
four years writing/ designing software using OOD techniques. (As an aside
- you CANNOT have OOP without OOD ! Simple.)

--
First:
You need quite a long time for designing your program in an OOP-language
when you are used to modular programming.
--
Agreed. It is fine to say that code should be reusable. Try designing it.
Whatever functionality is given to a class it will prove too restrictive
for someone. If the designer is not careful, they will produce a 'begin,
initialise, end ' template with some I/O routines in the middle. Language
specific editors come close to this. This is not to say that a software
company should not employ these techniques. But if you belive in a set of
classes that will provide all chemists with program building blocks then I
think you are dreaming.

--
FORTRAN 77 is the most portable language (C programmers forgive me!).
--
Strongly disagree. ANSI C is a VERY portable language and C++ is not bad
given that it is so new.

--
Third and most important:
As you always have a lack of hardware resources, you
need a compiler which optimizes efficiently.
Often the raw speed of your calculation is the crucial point.
FORTRAN compilers have quite a history and are very effective in
"number crunching" and are essentially bug free.
The advantage of C++ (or say FORTRAN 90) is that you can handle
dynamic memory allocations, but this can slow down the program and
prevent effective optimization.
--
I find this point mildly hilarious ! Just yesterday I came across an Amber
example where user in question had to increase an array parameter in order
to perform a calculation. Time to edit and recompile was minutes.
Increased execution time vs dynamic allocation (C etc ...) was probably a
second at most. Fair trade ? I think not.

One of the concepts behind OOD is that you trade huge maintenance costs
against buying the latest hardware. If we take Ada as an extreme example,
this is probably the most inefficient language in (fairly) common usage.
To get any performance from this you need the latest hardware, yet people
are willing to do this in part because of the portability and reduced
maintenance costs of this language.

If you consider your hardware investment versus that of your s/w, (add in
man hours of training, writing, maintaining, maintenance fees etc ...) you
may be surprised at the result.

All opinions mine etc ...

Paul.

-- 
_________________________________________________________________________

Paul Townsend                | Mail Stop     - IUK-311 
Sales Support                | Fax           - +44 (0)734 302550
Silicon Graphics             | Tel. (direct) - +44 (0)734 257619
Forum 1, Station Rd, Theale  | Email         - [email-masked]
Reading, RG7 4RA UK          | V Mail #      - 59265
_________________________________________________________________________