Subject: Re: C++ briar patch (Was: Object IDs are bad)
From: Erik Naggum <erik@naggum.no>
Date: 1997/05/18
Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.misc,comp.lang.functional,comp.lang.c++
Message-ID: <3072946195166010@naggum.no>


* Bjarne Stroustrup
| The key features used in the initial half year were typically:
| 
| 	Stronger type checking (compared to C).
| 	Better encapsulation (classes encapsulating things such as
| 		database access, device use, and IPC).
| 	A few simple library classes (such as string, list, map, ...)
| 
| After the initial half year programmers and designers because more
| adventurous.  For example, we saw more use of class hierarchies.

perhaps I should rephrase the question, since it took me some time to
realize that you're talking about the original K&R C and compilers like
"pcc", not ANSI C and gcc 2.7.  however, before ANSI C, I was an avid
`lint' user, and I don't understand how a user of C would be able to work
efficiently without using `lint'.

I remember when I discovered `lint'.  I had spent days on a bug that I just
could not track down.  everything looked correct, yet it dumped core on me.
I forget who told me to use `lint', but it discovered an inconsistency in
the number of arguments to a function called from two different files.
that was it.  this property of `lint' is available with function prototypes
exported to header files these days, but all of `lint' is not in ANSI C.

did the C programmers you tested this on use `lint'?  if not, I can easily
buy a 45% increase in productivity with a compiler that did most of what
`lint' did.  if they did use `lint' religously, I think you would need to
remove "stronger type checking" from your list to be fair.

#\Erik
-- 
if we work harder, will obsolescence be farther ahead or closer?