[comp.lang.c++] The need for OO. Was: NIH class libraries for Turbo C++

rmartin@clear.com (Bob Martin) (11/19/90)

In article <15150004@hpdmd48.boi.hp.com> muyanja@hpdmd48.boi.hp.com (bill muyanja) writes:
>
>Frankly, I'm starting to wonder about the benefits of the unlimited
>linear address space of Un*x, which allow humongous, monolithic software
>modules, both in classic and OO "c".  I have yet to see a piece of software
>in the Unix world with the price/performance/utility point provided by
>Lotus 123 2.01/WordPerfect 4.2/dBase III+ on a 12 MHz AT-clone circa 1987.

This is a marketting dilemma.  Not a software production problem.  The
software marketeers haven't yet figured out that UN*X is appearing in the
personal arena, and that they can't charge enormous multi-user license
fees anymore...

>My (admittedly limited) experience with  OO systems (Actor, C++) has      
>convinced me that any benefit from the object metaphor can easily be
>outweighed by the cost of learning zillions of new classes/objects.

Complexity is complexity.  Each software project has it.  When you become
involved in a project you must come to grips with all the conventions,
paradigms, utilities, file formats, etc of that project.  Depening on the
size of the project, this can be a huge learning curve.  The idea behind
OO is to minimize this learning curve on a per-project basis, and make
it part of the common language so that it can be learned ONCE and used
on many projects.

>Whatever happened to the elegant philosophy of Kernighan & Plauger, as
>embodied in "Software Tools"?  I feel that the ideas espoused in that
>classic apply equally well to c++.

K&P is as valid today as it was when written.  But the magnitude of the
problem that we are trying to solve has grown by several orders.  The
old (last decade) methods are breaking down under the weight of the
software projects that we are now undertaking.  We need a new set of
tools to help us with this complexity.  OO is one of the tools that
I am betting on to get us through the comming decade.

>bill - ok, I'm off the soapbox now - muyanja

And now I am off mine.  Sorry for interrupting.


-- 
+-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for |
| rmartin@clear.com    |:R::R:C::::M:M:M:M:| my words but me.  I want  |
| uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all   |
+----------------------+:R::R::CCC:M:::::M:| the blame.  So there.     |