[comp.lang.c] Relationship between C and C++

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (03/19/90)

From peter@ficc.uu.net (Peter da Silva):
> Classic Ada is no more Ada than C++ is C.

  Then perhaps we should ask, "Exactly what IS the relationship
  between C++ and C?"  Let's see what recently-quoted author Bertrand
  Meyer (author of _Object-Oriented Software Construction_) has to say:

...Quoting from Dr. Bjarne Stroustrup's ``The
C++ Programming Language'' (Addison-Wesley, 1986), which seems to be the
major reference on C++, page 22, lines 13-14: ``A C++ program typically
consists of many source files, each containing a sequence of declarations
of types, functions, variables, and constants''. This is very far from the
object-oriented model of software decomposition. 

...One of my major objections to C++ stems from what that language has
rather than what it has not. Because C++ retains almost total
compatibility with C, it keeps all its low-level and dangerous features.
The design of C dates back to the late sixties and is obsolete
by modern software engineering standards.

Compatibility with C means that in C++ you still have pointers,
type casts, pointer arithmetic, function pointers, malloc, free, bizarre
operator precedence (the famous asterisk/parenthesis bugs),
weak type checking and so on.

    I strongly disagree with this approach if the goal is to obtain software
quality. Take pointer arithmetic, for example. I would contend that you can
have quality software, or you can have pointer arithmetic; but you cannot
have both...

-- Bertrand Meyer
bertrand@eiffel.com
4 Jun 89 23:48:27 GMT

woody@eos.UUCP (Wayne Wood) (03/20/90)

In article <8432@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
>compatibility with C, it keeps all its low-level and dangerous features.
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

C is like a loaded gun... it is only dangerous if the person using it does not
know what they are doing.

>
>    I strongly disagree with this approach if the goal is to obtain software
>quality. Take pointer arithmetic, for example. I would contend that you can
>have quality software, or you can have pointer arithmetic; but you cannot
>have both...
>

give me a break!

/***   woody   ****************************************************************
*** ...tongue tied and twisted, just an earth bound misfit, I...            ***
*** -- David Gilmour, Pink Floyd                                            ***
****** woody@eos.arc.nasa.gov *** my opinions, like my mind, are my own ******/