Quote:> Every major OO project in bio-informatics for the last 10 years
> has crashed and burned.
I suspect you will find that is true of many areas and many
paradigms. A "major OO project in bio-informatics" has a number
of problems to cope with
- It's major. Humans have not yet found out how to make
major projects at all successful, except in a few exceptional
- It's OO, which is to say, committed to a paradigm for its
own sake rather than for its benefits in that particular area
- It's OO, which means the developers have a number of tools and
features at their disposal to help with good software engineering.
Sadly, few large teams consist of a majority of good software
engineers. If you want a bunch of amateurs to build you a boat,
give them saws and hammers, not robot machine tools.
- It's OO, which is a bit of a bandwagon jumped upon by many
people who can tweak a GUI tool but wouldn't have a clue about
properly structured object systems, or modular/relational systems
either for that matter.
- It's bio-informatics. The developers and people they talk to
might be software whizzes with poor specialist bio knowledge,
or bio-wizzards with poor software understanding
Now it's obvious to me why quantifying benefits of a given paradigm
is difficult in such large and complex context, but I'm sure plenty
of people have examined reasons for failure. It's a fertile area,
I believe. So, perhaps you ought to look up the previous projects
and review their reasons for failure.
After all, if main reason is not paying enough to get decent
analysts, then you can structure your C and Fortran all you like
but won't improve the situation!
OTOH if complexity of C++ was a major factor, then look to
switch to other languages.
Quote:> We are still using the tools developed
> in Fortran and C in the last generation.
I am familiar with some such tools in other technical environments.
They are not without their faults. I know of certain fortran
programs in chemistry which "process" the results of other fortran
programs in order to make the physical readings closer to the
theoretically predicted values. As Dijkstra said, scientists
no longer replicate each others' work, they simply copy each
others' Forgran bugs. Another such tool I know of is implicated
in a tragic accident leading to several deaths.
Quote:> The Internet owes nothing to OO.
There are many common aspects to both. Both have grown out
of the same milieu. Surely you can see the connection between
client-supplier systems, multi-tiered architecture, and OO?
Java, XML, and Component technologies are all important parts of
the internet today.
Quote:> Like structured programming, OO promises the
> world and delivers nothing new.
Well, if you must read the marketing brochures ;-)
IMHO both make moderate promises and deliver.
Can you imagine the problem we'd have now maintaining legacy
software if nobody had structured it around statement,
procedure, and module level single-entry-single-exit constructs?
Quote:> The need for careful analysis and implementation continues.
Of course. And failure to observe this screws up any approach.
But OO is not about skimping on analysis, imp., or any other
area of software engineering.
Quote:> For all the hoopla there should be quantifiable improvements
> due to OO. There are none.
You want a print out of my GUI kit written in OO and similar
attempt I made with modular programming? Looks and feels
pretty quantifiable to me. You want to compare size and
maintainability of object-based MVC interactive systems with
modular event-handler systems? Plenty examples abound. You
find a delphi program and I'l find a smalltalk one to do
similar task. Then we can start counting LOC or timing work
required to handle a change in spec.
Quote:> Instead the OO proponents continue
> to have empty arguments about how many circular objects can
> dance on the head of an elliptical pin.
Not me, thanks.
Quote:> At least in the
> structured programming age we actually solved problems.
I thought you said structured programming promised everything
and delivered nothing?
Quote:> The world is *not* composed of classes of things.
Agreed 100%, and "OO models the real world" is one of the biggest
pieces of misdirected ill-informed propaganda out there.
However, nor is the world made of modules or tables or single
entry single exit control structures or Venetian double-entry
account books or quipu knots.
What is interesting is how to model the information and
processes we need to help us handle complex activities in the
Quote:> The world
> is a biofilm that can think and move. In a biofilm, you cannot
> draw lines where one entity ends and another begins.
True, but not relevant. We're dealing with information and
processes. Notions of entities and boundaries are different
in such a world. For example, the distinction between a
credit-transaction and a debit-transaction is a lot clearer
than that between a tree and a bush. (OTOH there are other
kinds of boundaries which are more fuzzy or dynamic, and we
have to handle them in non-real-world-like ways)