comp.lang.ada
 help / color / mirror / Atom feed
From: bs@research.att.com (Bjarne Stroustrup)
Subject: Re: What is wrong with OO ?
Date: 1997/01/15
Date: 1997-01-15T00:00:00+00:00	[thread overview]
Message-ID: <E424x4.5A3@research.att.com> (raw)
In-Reply-To: 01bc002f$b4dd5bc0$6ba3aec7@mycomputer



"Matt Telles" <matttelles@sprynet.com> writes:

 > Bjarne Stroustrup <bs@research.att.com> wrote in article 
 > > 
 > > First, here is the way I phrased the "learning" criteria in "The Design
 > > and Evolution of C++":
 > > 
 > > 	If in doubt, pick the variant of a feature that is easiest to teach
 > 
 > I certainly agree with this statement.
 > 
 > > C++ is a language primarily aimed at creating production software. Like
 > > all such languages, it together with its associated libraries, tools, and
 > > programming techniques is too large to learn quickly (unless you happen
 > > to be experienced in rather similar languages and techniques - and most
 > > students and programmers are not when they first encounter C++).
 > > Consequently, it must be learned in stages starting with some suitable
 > > subset (and a suitable subset of tools, libraries, programming
 > techniques).
 > 
 > I am curious. Does this imply that you think people should learn another
 > language before C++? Or is it simply that C++ is taught without the proper
 > emphasis on techniques. In my experience, the language is taught
 > syntactically, with little regard for the OO behind it. 

I don't really mind, you can learn C++ as a first language - and use it
as a vehicle for learning sound concepts, principles, and techniques
- or learn it later. I have seen both paths work well - and I have seen
both fail. I have a natural bias for "C++ first" especially for people
who aims at becoming professional software developers, but I am strongly
of the opinion that every programmer should be comfortable in more than
one language.

I do object to the "toy approach" to teaching programming: Give people
a tool that is great for writing little demos, let them produce a few
of those without hitting any hard conceptual barriers, any efficiency
problems, and any limitations of the tool/language. Then let them go
on to something else - such as "high-level design" or management.

That is the way to produce non-programmers with unrealistic estimates
of their own ability and a total lack of understanding of the problems
faced by people who produce production code.

The "the language is taught syntactically, with little regard for
the OO behind it" is exactly what I'm arguing against - as I have
done consistently over the years.


 > > Many are too ambitious and try to learn too much too fast. In particular,
 > > many programmers focus on learning every obscure language detail rather
 > > than overall principles because mastery of programming language details
 > > is what has traditionally been valued in many programming communities.
 > > That way, people get lost in details.
 > 
 > True. Isn't it important then to emphasize the aspects of the language
 > which make it 
 > a) Maintainable and
 > b) Reusable?

I think I do.


 > > Traditionally, C++ has been blessed with a mass of useful libraries, and
 > > cursed by the absence of a good standard library. The lack of a standard
 > > library supplying basic types (such as string, list, and map) reinforced
 > > the bias of some teachers and some teaching materials towards low-level
 > > features and techniques that don't rely on standard library facilities.
 > 
 > Agreed. But where else to begin? If you are teaching C++, they say, learn
 > to write a linked list class, learn to write a string class. I annoyed one
 > of my professors long ago by handing in a linked list class that said
 > simply "refer to chapter xxx in the text". After all, wasn't reuse the
 > point we were trying to stress? How would you teach C++ without emphasizing
 > the low-level functions?


Here is one way:

Initially, you supply people with a good set of basic classes: vector,
list, map, string, iostreams, simple graphics. Nothing too fancy or
daunting. Based on that, you teach the basics of writing small programs
using variables, constants, loops, functions. Then teach how to write
simple classes - such as dates and strings. Then teach how to add classes
to a class hierarchy and how to build a class hierarchy.

Templates are first simply used where needed, and defining new ones is done
wherever the examples need parameterization. The initial set of classes
provides a good set of examples for "dissecting" to understand class design
and implementation. During that "dissection" you introduce the lower-level
facilities as needed to explain the implementation.


 > > I have no idea if any of this apply at your university, but I have seen
 > > all of those phenomena repeatedly. Usually, people manage in the end, and
 > > if not they try something else - which they may or may not find more
 > > suitable.
 > 
 > This is really less of an issue that the "Object Oriented Programming can
 > save the company" bandwagon, in my estimation.
 > 
 > >  > Languages like Eiffel (my personal favorite) are much more suitable
 > for
 > >  > high-level projects; Eiffel, for instance, does not burden the
 > >  > programmer more than needed, and has a clean, clear syntax that can
 > >  > even be immediately understood by people that don't know the language.
 > > 
 > > I do not personally find it so, and such claims reminds me unpleasently
 > > of the similar claims made for COBOL. A non-programmer can sometimes be
 > > convinced that he/she can read simple code, but it is far from obvious
 > > that this is relevant - or ever true - for production code (that will
 > only
 > > be seen by programmers anyway). 
 > 
 > My question is: Does the tool matter? Or is it simply an extension of the
 > concepts behind it. I can write object-oriented code in FORTRAN. It is
 > harder, but it can be done. The amount of work doesn't necessarily make it
 > less possible.

Tools matter. Languages matter. If I didn't think I was seeing evidence of
significant improvements I would have stopped working on C++ years ago.

A good language helps solve some of our problems building good systems,
but it is only part of a solution. This is one reason that there has been
much more good software written in languages deemed bad than in languages
proclaimed great. Often people who focus on language issues are blindsided
by the non-language issues.


 > > Had C++ not been relatively easy to learn and use reasonably well, it
 > > would have disappeared long ago. By relative I mean the amount of effort
 > > needed compared to the amount of benefit gained.
 > 
 > Tell that to COBOL programmers. Or Pascal, or any of the other languages
 > that I have learned at one point or another in my life.

Actually, I have. I have taught C++ to people with COBOL and Pascal
backgrounds (it is easier to those with Pascal background - on average
as easy as to teach it to people with a C background though the problems
faced by Pascal and C programmers tend to differ in interesting ways).

However, it is important to remember the difference between learning
enough to write a student exercise and enough to write a piece of code
to be used by others. I tend to be strongly focussed on the latter -
and sometimes underestimate the importance of the former.


 > The amount of
 > effort to learn the language becomes secondary when the boss tells you to
 > learn it. Why use the Microsoft compiler over the Borland compiler? Because
 > the company standardizes on it...

In an ideal world, people would choose their own languages and their own
tools. I have had the priviledge to deal primarily with people who did
have a choice. There are more of those than is sometimes claimed. Often,
the problem is not lack of choice but that the choice is conditioned by
what others are doing (or what others are perceived to be doing or what
other people are perceived to soon be doing ...).

To be useful, a piece of software has to fit into a very complicated mesh
of real-world concerns - of which the choice of programming langauge is
typically not the most important.


 > > Once a language is used by diverse user communities, one person's serious
 > > flaw becomes another's essential feature. Some of the aspects of C++ that
 > > I dislike most are deemed essential by very competent system builders.
 > > However, C++ has no flaw and no feature lacking that is so serious that
 > > it cannot be managed with reasonable effort in a project - even if they
 > > can be a bother and experienced programmers recognize them as such.
 > 
 > I have a problem here, but it is not with C++. There are certainly flaws in
 > the language. No serious programmer would argue that there are languages
 > which are flawless. The problem is that C++ lets me shoot myself in the
 > foot. In some cases, it aids in loading the gun and aiming it for me. The
 > issue is not the language, but the poor programming practices which
 > encourage it. Why, for example, allow the continued use of void pointers
 > when they lead to nothing but pain and agony in the long run (this is an
 > example, I understand why they were necessary).

As you point out, they are unavoidable so how could I ban them without
saying "go and use C whenever you need to do low-level stuff?" I do not
believe in making a language prettier by making it incomplete and leaving
programmers to write significant parts of their code in a language with
no support for abstraction.


 > Why let me use
 > uninitialized pointers? Do you have any idea how many programs I have
 > debugged for hours because someone failed to write something as basic as:
 > 
 > char *p = NULL;

If I had designed C++ today, every variable that did not have a default
constructor would have to be initialized. When I wrote the first C++
compiler, I had it issue a warning whenever you tried to use an uninitialized
variable. However, I could not ban uninitialized variables without getting
into an unwinnable fight with the C community. I have been quite annoyed
that the quality of warnings against legal but almost certainly wrong
constructs have on average declined. I can hope that they will improve
again now we (almost) have a standard but there is typically no way of
forcing people to do what they really don't want to do.

See "The Design and Evolution of C++" for a discussion of such issues.


 > > Good luck with your projects and the language you favor, and remember
 > > that the world is more complicated that any of us can imagine and that
 > > there are ways of succeeding that we would not personally have chosen.
 > > 
 > > 	- Bjarne
 > > 
 > > Bjarne Stroustrup, AT&T Research,
 > http://www.research.att.com/~bs/homepage.html
 > 
 > I certainly won't argue with someone who created the language. My point is
 > simply that until we solve the problem of programmers believing they are
 > artists, rather than engineers, we will never have quality software.

Maybe, more programmers believe that they are artists than actually are,
and more programmers believe they are engineers than actually are.

I suspect that I'll take the artist and the engineer any time I can find
them, but the real issue is than many aren't even craftsmen yet. We are
seeing progress, but we have a long way to go. In my opiion, education
has to be major part of any solution. This may sound obvious, but there
seems to be no shortage of people in industry who would prefer to reduce
software production to a semi-skilled activity - in which case we would
have to reduce the amount of education and replace most current programmers
with people with less education and more training in following rules.

	- Bjarne

Bjarne Stroustrup, AT&T Research, http://www.research.att.com/~bs/homepage.html




  reply	other threads:[~1997-01-15  0:00 UTC|newest]

Thread overview: 587+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-01-01  0:00 What is wrong with OO ? Ell
1997-01-01  0:00 ` Jon S Anthony
1997-01-02  0:00   ` Robert C. Martin
1997-01-03  0:00     ` Eirik Mangseth
1997-01-03  0:00       ` What is wrong with OO O X g Greg Comeau
1997-01-04  0:00         ` OO, C++, and something much better! John (Max) Skaller
1997-01-04  0:00           ` vlad
1997-01-05  0:00           ` Mike Anderson
1997-01-06  0:00           ` Stanley Allen
1997-01-09  0:00             ` Jon S Anthony
1997-01-06  0:00           ` Chris Brand
1997-01-08  0:00     ` Robert I. Eachus
1997-01-09  0:00     ` Bertrand Meyer
1997-01-27  0:00       ` Richard Riehle
1997-01-10  0:00     ` Robert I. Eachus
1997-01-10  0:00     ` Robb Nebbe
1997-01-03  0:00   ` What is wrong with OO ? Matt Austern
1997-01-03  0:00   ` Jon S Anthony
1997-01-04  0:00   ` Valerie Torres
1997-01-06  0:00     ` Bart Samwel
1997-01-08  0:00       ` Robert Dewar
1997-01-09  0:00         ` Fergus Henderson
1997-01-09  0:00           ` Richie Bielak
1997-01-10  0:00             ` Fergus Henderson
1997-01-09  0:00           ` Robert Dewar
1997-01-10  0:00             ` Fergus Henderson
1997-01-10  0:00               ` Robert Dewar
1997-01-09  0:00         ` William Clodius
1997-01-09  0:00         ` Simon Willcocks
1997-01-09  0:00           ` Robert Dewar
1997-01-09  0:00         ` Bertrand Meyer
1997-01-09  0:00           ` Robert Dewar
1997-01-10  0:00             ` Fergus Henderson
1997-01-10  0:00               ` Robert Dewar
1997-01-12  0:00                 ` Fergus Henderson
1997-01-09  0:00           ` Ken Garlington
1997-01-09  0:00           ` Jay Martin
1997-01-09  0:00             ` Robert Dewar
1997-01-10  0:00               ` Jay Martin
1997-01-12  0:00                 ` Robert Dewar
1997-01-15  0:00                   ` Laurent Gasser
1997-01-15  0:00                     ` Jonas Nygren
1997-01-17  0:00                       ` Tom Bushell
1997-01-17  0:00                         ` Eirik Mangseth
1997-01-17  0:00                         ` Michael Malak
1997-01-17  0:00                           ` Kent Budge, sandia, 
1997-01-15  0:00                     ` Jay Martin
1997-01-10  0:00               ` Fergus Henderson
1997-01-10  0:00                 ` Robert Dewar
1997-01-12  0:00                   ` Fergus Henderson
1997-01-12  0:00                     ` Robert Dewar
1997-01-10  0:00                 ` Ken Garlington
1997-01-10  0:00               ` Jay Martin
1997-01-10  0:00                 ` Joe Buck
1997-01-11  0:00                   ` Jay Martin
1997-01-12  0:00             ` Slavik Zorin
1997-01-11  0:00           ` Piercarlo Grandi
1997-01-12  0:00             ` Thierry Goubier
1997-01-14  0:00               ` Piercarlo Grandi
1997-01-14  0:00             ` Vos nom et pr�nom
1997-01-16  0:00               ` Mark Woodruff
1997-01-17  0:00               ` Piercarlo Grandi
1997-01-09  0:00         ` Ken Garlington
1997-01-10  0:00         ` Bart Samwel
1997-01-10  0:00           ` Michael Malak
1997-01-10  0:00             ` Bart Samwel
1997-01-12  0:00               ` Fergus Henderson
1997-01-10  0:00           ` Robert Dewar
1997-01-09  0:00       ` Bjarne Stroustrup
1997-01-11  0:00         ` Robert Dewar
1997-01-15  0:00           ` Bjarne Stroustrup
1997-01-19  0:00             ` Jay Martin
1997-01-27  0:00               ` Robert C. Martin
1997-01-30  0:00                 ` Damon Feldman
1997-01-20  0:00             ` Richard A. O'Keefe
1997-01-21  0:00               ` John W. Sarkela
1997-01-23  0:00               ` Piercarlo Grandi
1997-01-23  0:00             ` Bertrand Meyer
1997-01-24  0:00               ` language marketing question, was " Tom Moran
     [not found]                 ` <5cpdh8$mau@news.csus.edu>
     [not found]                   ` <5cs3un$14b4@uni.library.ucla.edu>
     [not found]                     ` <rmartin-3101971753460001@pool15-027.wwa.com>
     [not found]                       ` <5cu5ig$10fk@uni.library.ucla.edu>
     [not found]                         ` <5dao0p$gri@decius.ultra.net>
     [not found]                           ` <yf3n2th488t.fsf@sabi.demon.co.uk>
1997-02-11  0:00                             ` Worse is better, was: Language marketing question Bob Haugen
1997-02-11  0:00                               ` Donald M. MacQueen
1997-02-11  0:00                                 ` Lee Willis
     [not found]                         ` <yf3rait49b9.fsf@sabi.demon.co.uk>
     [not found]                           ` <01bc183b$fd091820$1544db03@gecmf-pc-eddjab.gecmf.capital.ge.com>
1997-02-13  0:00                             ` language marketing question, was Re: What is wrong with OO ? Robert Dewar
1997-01-25  0:00               ` Damon Feldman
1997-01-26  0:00             ` Sean Case
1997-01-26  0:00               ` William Grosso
1997-01-28  0:00                 ` Paul Keister
1997-01-28  0:00               ` Dann Corbit
1997-01-12  0:00         ` Fergus Henderson
1997-01-13  0:00           ` Bart Samwel
1997-01-12  0:00         ` Matt Telles
1997-01-15  0:00           ` Bjarne Stroustrup [this message]
1997-01-19  0:00             ` Matthew Heaney
1997-01-14  0:00         ` Vos nom et pr�nom
1997-01-16  0:00           ` Patrick Doyle
1997-01-16  0:00             ` Risto Lankinen
1997-01-16  0:00               ` Patrick Doyle
1997-01-16  0:00                 ` Risto Lankinen
1997-01-18  0:00                 ` Robert C. Martin
     [not found]           ` <01bc0269$3fd55b20$ca61e426@DCorbit.solutionsiq.com>
1997-02-10  0:00             ` richard
1997-02-10  0:00               ` Robert Dewar
1997-02-10  0:00               ` Nick Leaton
     [not found]                 ` <3303A993.759E@pratique.fr>
1997-02-21  0:00                   ` Nick Leaton
1997-02-22  0:00                     ` Fergus Henderson
1997-02-21  0:00                   ` Nick Leaton
1997-01-20  0:00         ` David Emery
     [not found]       ` <dewar.852772995@mer <dewar.852833957@merv>
1997-01-10  0:00         ` Simon Willcocks
1997-01-10  0:00           ` Robert Dewar
1997-01-10  0:00             ` Marky Mark
1997-01-10  0:00               ` Robert Dewar
1997-01-12  0:00                 ` Fergus Henderson
1997-01-12  0:00                   ` Josh Stern
1997-01-12  0:00             ` Martin ELLISON
1997-01-14  0:00               ` Piercarlo Grandi
1997-01-17  0:00     ` Lawrence G. Mayka
1997-01-19  0:00       ` Piercarlo Grandi
1997-01-19  0:00         ` Exceptions as objects (was Re: What is wrong with OO ?) Patrick Doyle
1997-01-25  0:00           ` Piercarlo Grandi
1997-01-25  0:00             ` Paul Kyzivat
1997-01-25  0:00             ` Robert A Duff
1997-01-25  0:00               ` Robert A Duff
1997-01-28  0:00                 ` Piercarlo Grandi
1997-01-28  0:00                 ` Piercarlo Grandi
1997-01-25  0:00             ` Ronald E Jeffries
1997-01-25  0:00               ` Bryan Dollery
1997-01-25  0:00               ` Robert A Duff
1997-01-28  0:00                 ` Piercarlo Grandi
1997-01-29  0:00                   ` John W. Sarkela
     [not found]                     ` <yf33evav882.fsf@sabi.demon.co.uk>
     [not found]                       ` <32FA58AD.2D96@enfish.com>
1997-02-12  0:00                         ` Piercarlo Grandi
1997-01-29  0:00                   ` Robert A Duff
1997-01-30  0:00                   ` Lawrence G. Mayka
1997-01-30  0:00                     ` Robert Dewar
1997-01-29  0:00                 ` John (Max) Skaller
1997-01-28  0:00               ` Piercarlo Grandi
     [not found]             ` <5cu43v$jkn@nntpa.cb.lucent.com>
     [not found]               ` <yf3ybd14qn4.fsf@sabi.demon.co.uk>
     [not found]                 ` <5de797$1ksa@uni.library.ucla.edu>
1997-02-07  0:00                   ` Piercarlo Grandi
1997-02-08  0:00                     ` Jay Martin
     [not found]               ` <5d93d3$nhs$1@goanna.cs.rmit.edu.au>
1997-02-07  0:00                 ` Robert A Duff
     [not found]                 ` <5dds5b$gcs@mulga.cs.mu.OZ.AU>
     [not found]                   ` <01bc14ab$3ce476e0$752d54c7@vbykov.hip.cam.org>
     [not found]                     ` <5def36$rjd@mulga.cs.mu.OZ.AU>
1997-02-07  0:00                       ` Vassili Bykov
1997-02-07  0:00                         ` Bill Gooch
1997-02-07  0:00                           ` Vassili Bykov
1997-02-08  0:00                         ` Fergus Henderson
1997-02-08  0:00                           ` Piercarlo Grandi
1997-02-08  0:00                           ` Piercarlo Grandi
1997-02-11  0:00                           ` Vassili Bykov
1997-02-07  0:00                     ` Patrick Doyle
1997-02-07  0:00                     ` Robert A Duff
1997-02-10  0:00                       ` Vassili Bykov
     [not found]                   ` <5de57h$dm3$1@goanna.cs.rmit.edu.au>
1997-02-09  0:00                     ` Fergus Henderson
1997-01-04  0:00   ` OO, C++, and something much better! Pieter Schoenmakers
1997-01-06  0:00   ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1997-01-06  0:00     ` Michael F Brenner
1997-01-06  0:00       ` Tucker Taft
1997-01-07  0:00         ` Robert Dewar
1997-01-07  0:00       ` Ada Generics (was Re: OO, C++, and something much better!) Bob Gilbert
1997-01-07  0:00         ` Robert Dewar
1997-01-08  0:00       ` OO, C++, and something much better! Robert Dewar
1997-01-07  0:00     ` Jay Martin
1997-01-08  0:00       ` Ken Garlington
1997-01-08  0:00         ` Robert Dewar
1997-01-08  0:00           ` Robert Dewar
1997-01-09  0:00           ` Ted Dennison
1997-01-07  0:00     ` Andrew Koenig
1997-01-10  0:00       ` Norman H. Cohen
1997-01-12  0:00     ` Richard Riehle
1997-01-07  0:00   ` What is wrong with OO ? Jon S Anthony
1997-01-07  0:00   ` Jon S Anthony
1997-01-11  0:00     ` Bjarne Stroustrup
1997-01-21  0:00       ` rharlos*cybercomm.net
1997-02-10  0:00       ` richard
1997-02-10  0:00         ` Charles A. Jolley
1997-02-11  0:00           ` Robert Dewar
1997-02-12  0:00             ` C++ Class Loc Minh Phan Van
1997-02-12  0:00               ` Ron Smith
1997-02-12  0:00               ` Keith P. Boruff
1997-02-12  0:00                 ` Vlastimil Adamovsky
1997-03-03  0:00                 ` C++ Class [ not a good answer ] Luis Espinal
1997-03-06  0:00                   ` Tom Plunket
1997-02-12  0:00               ` C++ Class Paul Kenneth Egell-Johnsen
1997-02-12  0:00               ` Aaron J Margosis
1997-02-12  0:00               ` Kent Tong
1997-02-12  0:00               ` Jason Shankel
1997-02-12  0:00               ` John Kapson [C]
1997-02-12  0:00               ` Kevin J. Hopps
1997-02-12  0:00               ` William Ying
1997-02-13  0:00               ` Lee, Shih Hao
1997-02-17  0:00             ` What is wrong with OO ? Sam Inala
1997-02-17  0:00               ` Robert Dewar
1997-02-15  0:00           ` Piercarlo Grandi
1997-02-11  0:00         ` Vlastimil Adamovsky
1997-01-07  0:00   ` OO, C++, and something much better! Stanley Allen
1997-01-07  0:00     ` Robert Dewar
1997-01-07  0:00       ` Bertrand Meyer
1997-01-08  0:00         ` Matthew Heaney
1997-01-08  0:00         ` Ken Garlington
1997-01-10  0:00       ` Keith Thompson
1997-01-10  0:00         ` Robert Dewar
1997-01-10  0:00           ` Robert Dewar
1997-01-15  0:00           ` Richard Kenner
1997-01-15  0:00             ` Fergus Henderson
1997-01-20  0:00             ` Andrew Koenig
1997-01-25  0:00             ` Robert Dewar
1997-01-15  0:00         ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1997-01-08  0:00   ` Jon S Anthony
1997-01-08  0:00     ` Mark A Biggar
1997-01-09  0:00       ` Don Harrison
1997-01-10  0:00         ` Roy Phillips
1997-01-27  0:00           ` Nick Leaton
1997-01-28  0:00             ` matthew mclellan
1997-01-09  0:00     ` Don Harrison
1997-01-09  0:00       ` Robert Dewar
1997-01-10  0:00         ` Bart Samwel
1997-01-10  0:00           ` Robert Dewar
1997-01-10  0:00         ` Ken Garlington
1997-01-10  0:00         ` Norman H. Cohen
1997-01-13  0:00         ` Don Harrison
1997-01-13  0:00           ` Robert Dewar
1997-01-14  0:00             ` Don Harrison
1997-01-13  0:00           ` Ken Garlington
1997-01-13  0:00             ` Norman H. Cohen
1997-01-13  0:00             ` Robert Dewar
1997-01-15  0:00               ` Ken Garlington
1997-01-17  0:00                 ` Keith Thompson
1997-01-16  0:00               ` Keith Thompson
1997-01-16  0:00                 ` Ken Garlington
1997-01-14  0:00             ` Don Harrison
1997-01-14  0:00             ` Michael F Brenner
1997-01-10  0:00       ` Jon S Anthony
1997-01-13  0:00         ` Don Harrison
1997-01-13  0:00           ` Don Harrison
1997-01-14  0:00             ` Jeff Carter
1997-01-15  0:00               ` Don Harrison
1997-01-17  0:00                 ` Jon S Anthony
1997-01-17  0:00                 ` Norman H. Cohen
1997-01-18  0:00             ` Patrick Doyle
1997-01-20  0:00             ` Jon S Anthony
1997-01-13  0:00           ` Robert I. Eachus
1997-01-15  0:00             ` Don Harrison
1997-01-08  0:00   ` Kohler Markus
1997-01-08  0:00   ` David Emery
1997-01-09  0:00     ` Don Harrison
1997-01-10  0:00       ` Marky Mark
1997-01-14  0:00         ` Don Harrison
1997-01-10  0:00   ` Matt Austern
1997-01-10  0:00   ` What is wrong with OO ? Robert I. Eachus
1997-01-12  0:00     ` Piercarlo Grandi
1997-01-10  0:00   ` Pieter Schoenmakers
1997-01-12  0:00     ` Fergus Henderson
1997-01-10  0:00   ` OO, C++, and something much better! Jon S Anthony
1997-01-12  0:00   ` What is wrong with OO ? Chris Morgan
1997-01-12  0:00   ` Chris Morgan
1997-01-11  0:00     ` Robert Dewar
1997-01-13  0:00   ` Pieter Schoenmakers
1997-01-13  0:00     ` Fergus Henderson
1997-01-13  0:00   ` Chris Morgan
1997-01-13  0:00   ` ak
1997-01-23  0:00   ` Chris Bitmead
1997-01-23  0:00   ` Ulrich Windl
1997-01-23  0:00   ` Bertrand Meyer
1997-01-26  0:00     ` Piercarlo Grandi
1997-01-08  0:00 ` Richard A. O'Keefe
  -- strict thread matches above, loose matches on Subject: below --
1997-02-11  0:00 Ell
1997-02-11  0:00 ` Matt McClellan
1997-02-11  0:00 ` John Brady
1997-02-12  0:00 ` Bob Jarvis
1997-02-12  0:00 ` Russ McClelland
1997-02-12  0:00 ` Jon S Anthony
1997-02-12  0:00   ` Kevin J. Hopps
     [not found]     ` <33049C7C.41C6@wi.leidenuniv.nl>
1997-02-17  0:00       ` Kevin J. Hopps
1997-02-17  0:00         ` phil
1997-02-18  0:00     ` Simon Willcocks
1997-02-12  0:00   ` Hamilton, Robert Bryan       
1997-02-12  0:00   ` David B. Shapcott [C]
1997-02-12  0:00   ` Ketil Z Malde
1997-02-13  0:00   ` Jon S Anthony
1997-02-13  0:00     ` Hamilton, Robert Bryan       
1997-02-13  0:00   ` Jon S Anthony
1997-02-15  0:00   ` Jon S Anthony
1997-02-16  0:00   ` Jon S Anthony
1997-02-13  0:00 ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1997-01-18  0:00 Ell
1997-01-15  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1997-01-14  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1997-01-12  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1997-01-12  0:00 ` Robert Dewar
1997-01-10  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1997-01-11  0:00 ` Robert Dewar
1997-01-06  0:00 John Walker
1997-01-03  0:00 Ell
1997-01-03  0:00 ` Jean-Marc Jezequel
1997-01-03  0:00   ` Eirik Mangseth
1997-01-06  0:00   ` Steven Perryman
1997-01-08  0:00     ` Russ McClelland
1997-01-06  0:00   ` Bill Gooch
1997-01-01  0:00 Ell
1997-01-01  0:00 Ell
1997-01-01  0:00 Ell
1997-01-01  0:00 ` Tim Ottinger
1997-01-08  0:00 ` Paul Eric Menchen
1997-01-01  0:00 Ell
1997-01-02  0:00 ` Mike Anderson
1997-01-02  0:00   ` Dale Pontius
1997-01-02  0:00     ` Bill Hunter
1996-12-31  0:00 Ell
1996-12-31  0:00 ` Ian Joyner
1996-12-31  0:00   ` Robert C. Martin
1997-01-01  0:00     ` Tom Bushell
1997-01-02  0:00     ` Thaddeus L. Olczyk
1997-01-07  0:00   ` drush
1996-12-31  0:00 ` Nigel Tzeng
1996-12-31  0:00 Ell
1996-12-31  0:00 ` clovis
1996-12-31  0:00   ` Robert C. Martin
1997-01-01  0:00     ` Nick Thurn
1996-12-31  0:00 ` Jon S Anthony
1997-01-02  0:00   ` Robert C. Martin
1997-01-03  0:00   ` Jon S Anthony
1997-01-03  0:00     ` Robert C. Martin
1997-01-07  0:00   ` Jon S Anthony
1997-01-02  0:00 ` Ian Joyner
1997-01-02  0:00   ` David L. Shang
1996-12-28  0:00 Tansel Ersavas
1996-12-28  0:00 ` Tansel Ersavas
1996-12-27  0:00 Ell
1996-12-24  0:00 Ell
1996-12-19  0:00 Ell
1996-12-18  0:00 Ell
1996-12-18  0:00 ` Patrick Ma
1996-12-16  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-12-15  0:00 Ell
1996-12-15  0:00 ` Tansel Ersavas
1996-12-15  0:00 Tansel Ersavas
1996-12-14  0:00 Tansel Ersavas
1996-12-16  0:00 ` Tom Bushell
1996-12-22  0:00 ` Willy
1996-12-24  0:00   ` Fraser Wilson
1996-12-14  0:00 Ell
1996-12-13  0:00 Ell
1996-12-13  0:00 ` drush
1996-12-15  0:00   ` Tansel Ersavas
1996-12-16  0:00     ` Nick Leaton
1996-12-16  0:00       ` Tansel Ersavas
1996-12-16  0:00     ` Bill Gooch
1996-12-19  0:00     ` Samuel Mize
1996-12-11  0:00 Ell
1996-12-13  0:00 ` Harry Protoolis
1996-12-13  0:00   ` Ronald Servant
1996-12-13  0:00     ` matt
1996-12-13  0:00       ` Dan Stubbs
1996-12-18  0:00     ` Harry Protoolis
1996-12-11  0:00 Ell
1996-12-07  0:00 Ell
1996-12-07  0:00 ` Harry Protoolis
1996-12-10  0:00   ` Harry Protoolis
1996-12-14  0:00 ` Robert C. Martin
     [not found]   ` <01bbeb6f$e2220c40$371883cc@beast.advancedsw.com>
1996-12-16  0:00     ` Robert C. Martin
1996-12-17  0:00       ` Roger T.
1996-12-18  0:00         ` Matt Kennel
     [not found]           ` <01bbed37$23deaa80$371883cc@beast.advancedsw.com>
1996-12-19  0:00             ` Matt Kennel
1996-12-19  0:00         ` Robert C. Martin
1996-12-16  0:00   ` Nick Leaton
1996-12-16  0:00     ` Robert C. Martin
1996-12-18  0:00       ` Nick Leaton
1996-12-19  0:00         ` Robert C. Martin
1996-12-18  0:00 ` drush
1996-12-06  0:00 Ell
1996-12-06  0:00 ` Robert C. Martin
1996-12-07  0:00   ` Steve Heller
1996-12-06  0:00 ` Thomas Gagne
1996-12-06  0:00   ` Bob Crispen
1996-12-14  0:00     ` Robert C. Martin
1996-12-10  0:00   ` Art Schwarz
1996-12-06  0:00 ` Harry Protoolis
1996-12-06  0:00 Ell
1996-12-06  0:00 ` H Brett Bolen
1996-12-06  0:00   ` Prashant Gupta
1996-12-14  0:00   ` Chris
1996-12-06  0:00 ` Harry Protoolis
1996-12-06  0:00   ` Robert C. Martin
1996-12-09  0:00     ` Harry Protoolis
1996-12-12  0:00     ` Frederick Sickert
1996-12-06  0:00 ` Nick Leaton
1996-12-05  0:00 Ell
1996-12-05  0:00 ` Bill Gooch
1996-12-05  0:00 ` Brian Gridley
1996-12-05  0:00   ` Bill Gooch
1996-12-05  0:00 Ell
1996-12-06  0:00 ` Tom Bushell
1996-12-04  0:00 Ell
1996-12-04  0:00 ` Bill Gooch
1996-12-04  0:00 Ell
1996-12-03  0:00 Ahmed
1996-12-03  0:00 ` Bill Gooch
1996-12-03  0:00   ` Bill Gooch
1996-12-04  0:00   ` Ahmed
1996-12-04  0:00     ` Bill Gooch
1996-12-06  0:00       ` Ahmed
1996-12-06  0:00         ` Bill Gooch
1996-12-06  0:00       ` Jeff Miller
1996-12-06  0:00         ` Bill Gooch
1996-12-14  0:00         ` Chris
1996-12-03  0:00 ` Fred Parker
1996-12-04  0:00 ` Piercarlo Grandi
1996-12-04  0:00 ` Robert C. Martin
1996-12-04  0:00 ` Harry Protoolis
1996-12-04  0:00   ` Roger T.
1996-12-04  0:00   ` Ahmed
1996-12-06  0:00     ` Harry Protoolis
1996-12-06  0:00       ` Ralph Cook
1996-12-07  0:00         ` Harry Protoolis
1996-12-09  0:00           ` Nigel Tzeng
1996-12-12  0:00             ` David Bradley
1996-12-20  0:00               ` Nigel Tzeng
     [not found]         ` <1996Dec7.151850.877@prim.demon.co.uk>
1996-12-08  0:00           ` Tansel Ersavas
1996-12-14  0:00             ` Kazimir Majorinc
1996-12-14  0:00               ` Tansel Ersavas
1996-12-14  0:00               ` Jeff Miller
1996-12-16  0:00                 ` David Bradley
1996-12-15  0:00               ` Todd Hoff
1996-12-15  0:00                 ` Patrick Ma
1996-12-16  0:00                   ` Bob Kettig
1996-12-16  0:00                   ` Robert C. Martin
1996-12-15  0:00                 ` Tansel Ersavas
1996-12-04  0:00   ` Robert C. Martin
1996-12-04  0:00     ` Dr. Richard Botting
1996-12-05  0:00     ` Piercarlo Grandi
1996-12-05  0:00     ` Tom Bushell
1996-12-05  0:00       ` Marnix Klooster
1996-12-05  0:00       ` Piercarlo Grandi
1996-12-06  0:00         ` Tom Bushell
1996-12-06  0:00           ` David Bradley
1996-12-08  0:00           ` Piercarlo Grandi
1996-12-10  0:00             ` Piercarlo Grandi
1996-12-10  0:00             ` Todd Hoff
1996-12-11  0:00               ` Nick Leaton
1996-12-11  0:00               ` Nick Leaton
1996-12-11  0:00                 ` Matt Kennel
1996-12-12  0:00                 ` Piercarlo Grandi
1996-12-11  0:00             ` Tom Bushell
1996-12-06  0:00       ` Harry Protoolis
1996-12-10  0:00         ` Tom Bushell
1996-12-06  0:00       ` Mukesh Prasad
1996-12-10  0:00         ` Tom Bushell
1996-12-06  0:00       ` Carl Weidling
1996-12-06  0:00       ` David B. Shapcott [C]
1996-12-06  0:00       ` Roger Vossler
1996-12-10  0:00         ` Tom Bushell
1996-12-10  0:00           ` Roger Vossler
1996-12-12  0:00             ` Tom Bushell
1996-12-12  0:00             ` Don Harrison
1996-12-11  0:00           `  Todd Knarr 
1996-12-11  0:00             ` Alan Meyer
1996-12-12  0:00             ` Tom Bushell
1996-12-12  0:00             ` Ell
     [not found]             ` <58mubr$i <58p5ou$dkm@news3.digex.net>
1996-12-13  0:00               ` Nick Leaton
1996-12-25  0:00                 ` Weiqi Gao
1996-12-25  0:00                   ` Matthew S. Whiting
1996-12-26  0:00                   ` Bob Jarvis
1996-12-26  0:00                     ` Arthur Gold
1996-12-26  0:00                   ` Mike Rubenstein
     [not found]             ` <32aefdb0..406273038@news.nstn.ca>
1996-12-14  0:00               ` "Paul E. Bennett"
1996-12-04  0:00   ` Joe Winchester
1996-12-05  0:00     ` Russell Corfman
1996-12-04  0:00 ` Matthew Gream
1996-12-05  0:00   ` Tim Ottinger
1996-12-05  0:00 ` Daniel Drasin
1996-12-06  0:00   ` Steve Heller
1996-12-06  0:00   ` Todd Hoff
1996-12-07  0:00     ` Nick Thurn
1996-12-14  0:00       ` Robert C. Martin
1996-12-15  0:00         ` Todd Hoff
1996-12-15  0:00           ` Joseph W. Seda
1996-12-16  0:00           ` David Bradley
1996-12-19  0:00           ` Robert I. Eachus
1996-12-07  0:00     ` Steve Heller
1996-12-07  0:00       ` Tansel Ersavas
1996-12-09  0:00         ` Kenneth Mays
1996-12-14  0:00         ` Robert C. Martin
1996-12-14  0:00           ` Patrick Ma
1996-12-18  0:00             ` Harry Protoolis
1996-12-18  0:00               ` Patrick Ma
1996-12-18  0:00                 ` Caitlin
1996-12-15  0:00           ` Tansel Ersavas
1996-12-17  0:00             ` Adam Beneschan
1996-12-17  0:00               ` Tansel Ersavas
1996-12-18  0:00                 ` Ralph Cook
1996-12-18  0:00                 ` Adam Beneschan
1996-12-19  0:00                 ` Nick Leaton
1996-12-19  0:00                 ` Robert C. Martin
1996-12-20  0:00                   ` Tansel Ersavas
1996-12-21  0:00                     ` Michael Malak
1996-12-17  0:00             ` Adam Beneschan
1996-12-17  0:00               ` Ralph Cook
1996-12-18  0:00               ` Tansel Ersavas
1996-12-17  0:00             ` Robert Dewar
1996-12-18  0:00               ` Tansel Ersavas
1996-12-27  0:00                 ` clovis
1996-12-27  0:00                   ` Tore Lund
1996-12-28  0:00                     ` clovis
1996-12-28  0:00                       ` Tore Lund
1996-12-27  0:00                   ` Jacqueline U. Robertson
1996-12-27  0:00                     ` Tore Lund
1996-12-28  0:00                       ` Tansel Ersavas
1996-12-28  0:00                         ` Tore Lund
1996-12-31  0:00                         ` Adam Beneschan
1996-12-31  0:00                           ` Robert C. Martin
1996-12-31  0:00                           ` clovis
1996-12-31  0:00                             ` Neville Black
1996-12-31  0:00                             ` Tansel Ersavas
1997-01-01  0:00                             ` Tom Bushell
1997-01-10  0:00                             ` Bart Samwel
1997-01-10  0:00                               ` Robert Dewar
1997-01-15  0:00                                 ` Richard Kenner
1997-01-11  0:00                               ` Randy A. Ynchausti
1997-01-12  0:00                               ` Piercarlo Grandi
1996-12-29  0:00                       ` clovis
1996-12-31  0:00                         ` Tom Bushell
1996-12-31  0:00                           ` clovis
1997-01-10  0:00                           ` Bart Samwel
1996-12-31  0:00                       ` Jon S Anthony
1997-01-01  0:00                       ` Jon S Anthony
1997-01-12  0:00                       ` Corey Minyard
1997-01-14  0:00                         ` Vos nom et pr�nom
1997-01-13  0:00                       ` Nick Thurn
1996-12-28  0:00                     ` clovis
1996-12-30  0:00                       ` John (Max) Skaller
1996-12-29  0:00                         ` Rosimildo da Silva
1996-12-31  0:00                         ` Ian Joyner
1997-01-03  0:00                       ` markj
1997-01-03  0:00                         ` Natan
1996-12-28  0:00                   ` Stephen Pendleton
1996-12-31  0:00                     ` Edward de Jong
1996-12-31  0:00                       ` clovis
1996-12-31  0:00                       ` Nick Leaton
1997-01-01  0:00                       ` Tore Lund
1997-01-01  0:00                         ` Tore Lund
1996-12-19  0:00               ` Robert C. Martin
1996-12-24  0:00             ` Nigel Tzeng
1996-12-26  0:00               ` Tansel Ersavas
1996-12-26  0:00                 ` Bill Gooch
1996-12-16  0:00           ` Karen A. Morrissey
1996-12-16  0:00             ` Bob Kettig
1996-12-17  0:00               ` Robert Dewar
1996-12-17  0:00             ` David Bradley
1996-12-09  0:00       ` Todd Hoff
1996-12-10  0:00         ` Steve Heller
1996-12-10  0:00         ` Snowball queries
1996-12-12  0:00         ` Samuel S. Shuster
1996-12-12  0:00           ` Dr. Richard Botting
1996-12-13  0:00           ` Nick Leaton
1996-12-16  0:00             ` Samuel S. Shuster
1996-12-16  0:00               ` Bob Kettig
1996-12-16  0:00                 ` Robert Dewar
1996-12-17  0:00               ` Tansel Ersavas
1996-12-18  0:00                 ` Tom Bushell
1996-12-18  0:00                   ` Matt Kennel
1996-12-18  0:00                     ` Tansel Ersavas
1996-12-19  0:00                     ` Jeffrey C. Dege
1996-12-20  0:00                       ` Tom Bushell
1996-12-19  0:00                     ` Tom Bushell
1996-12-23  0:00                       ` David Bradley
1996-12-23  0:00                         ` Jeffrey C. Dege
1996-12-19  0:00                     ` David Bradley
1996-12-20  0:00                       ` Chris Brand
     [not found]                       ` <01bbee11$dcae8460$ca61e426@DCorbit.solutionsiq.com>
1996-12-23  0:00                         ` David Bradley
1996-12-19  0:00                   ` Tansel Ersavas
1996-12-27  0:00                     ` clovis
1996-12-17  0:00               ` Nick Leaton
1996-12-15  0:00     ` Damon Feldman
1996-12-06  0:00   ` David Bradley
1996-12-13  0:00   ` drush
1996-12-18  0:00   ` Matt Austern
1996-12-19  0:00     ` Risto Lankinen
1996-12-20  0:00   ` Bill Gooch
1996-12-20  0:00   ` Tansel Ersavas
1996-12-20  0:00   ` Tansel Ersavas
1996-12-20  0:00   ` Jon S Anthony
1996-12-20  0:00   ` Jon S Anthony
1996-12-23  0:00   ` Jon S Anthony
1996-12-23  0:00   ` Jon S Anthony
1996-12-26  0:00   ` drush
1996-12-26  0:00   ` drush
1996-12-05  0:00 ` Nick Thurn
1996-12-06  0:00 ` Ranjan Bagchi
1996-12-06  0:00   ` Myles Williams
1996-12-06  0:00 ` Myles Williams
1996-12-07  0:00 ` Kazimir Majorinc
1996-12-14  0:00   ` Chris
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox