[comp.lang.c++] Books

dmg@ssc-vax.UUCP (David Geary) (09/06/89)

James Frew writes:

+   I'm 1/3 of the way through "C++ for C Programmers", by Ira Pohl, and
+   I'm not going to finish it.  Herewith a summary of the problems I've

+   Sorry to flame a book I'm not going to finish -- any counter-opinions?
+   I'm still looking for a good intro to C++ for someone who already knows
+   C.  Would anyone out there who's read Lippman's or Dewhurst's books
+   care to comment?

  Well, I'm a die-hard C programmer, having programmed in C for about
5 years, and teaching it for the past 3 years.  I'm very interested in
C++ and OOP in general.  I've read (all or most of) :

The C++ Programming Language                 Bjarne Stroustrup
The Waite Group's C++ Programming            John Berry
Object-Oriented Programming and C++          Weiner + Pinson

  All of these books will *teach* you C++.  However, all of the
books left me high and dry when it comes to OOP (in general).  I have not
found answers to questions like these:

1)  Why is OOP so much better than functional programming?
2)  What are the concepts behind OOP, and how do the concepts
    help us write reusable, extendable code?
3)  How do I *design* OOP programs?  Top-down design?
4)  How does one implement concepts like inheritance,
    genericity, etc. ?
5)  Should I make functions member functions of a class or not?
6)  When should I use inheritance vs. friend functions?

and on and on...

  I think C++ is great, and provides us with most of the mechanisms one
needs to write good OOP code.  However, OOP methodology really runs counter-
intuitively to the traditional way we've been writing software, and no one in
the books above gives much help in figuring out how to write OOP
code.

  So, what does one do?  Read this book:

Object-oriented Software Construction      Bertand Meyer


 I'm through with Part I only (about 1/6th of the book), but already
I am beginning to see the light.  As he says in the preface, only about
10 percent of the book is really Eiffel-specific, and, although Eiffel
is used in examples throughout the book, I am finding the 10 %
to be about right.  Most of the book is about OOP in general.
The book is *about* questions like the above, and while it will
not teach you C++, it will make you a much better C++ programmer.

  I will post a review when I'm done reading, but already I can
tell you this:  if you are going to program in C++ or any other
OOP language, READ THIS BOOK ;-).

-- 
~~~~~~~~  David Geary, Boeing Aerospace, Seattle  ~~~~~~~~
~ We got lucky this year, summer fell on Friday and Sat. ~
~ and it only rained on Friday ;-(                       ~

dan@oresoft.uu.net (Daniel Elbaum) (09/07/89)

In article <2877@ssc-vax.UUCP> dmg@ssc-vax.UUCP (David Geary) writes:
:James Frew writes:
:
:+   I'm 1/3 of the way through "C++ for C Programmers", by Ira Pohl, and
:+   I'm not going to finish it.  Herewith a summary of the problems I've
:
:+   Sorry to flame a book I'm not going to finish -- any counter-opinions?
:+   I'm still looking for a good intro to C++ for someone who already knows
:+   C.  Would anyone out there who's read Lippman's or Dewhurst's books
:+   care to comment?
:
:  Well, I'm a die-hard C programmer, having programmed in C for about
:5 years, and teaching it for the past 3 years.  I'm very interested in
:C++ and OOP in general.  I've read (all or most of) :
:
:The C++ Programming Language                 Bjarne Stroustrup
:The Waite Group's C++ Programming            John Berry
:Object-Oriented Programming and C++          Weiner + Pinson
:
:  All of these books will *teach* you C++.  However, all of the
:books left me high and dry when it comes to OOP (in general).  I have not
:found answers to questions like these:
:
:1)  Why is OOP so much better than functional programming?
:2)  What are the concepts behind OOP, and how do the concepts
:    help us write reusable, extendable code?
:3)  How do I *design* OOP programs?  Top-down design?
:4)  How does one implement concepts like inheritance,
:    genericity, etc. ?
:5)  Should I make functions member functions of a class or not?
:6)  When should I use inheritance vs. friend functions?
:
:and on and on...

...

:  So, what does one do?  Read this book:
:
:Object-oriented Software Construction      Bertand Meyer

	Take a look at Dewhurst/Stark.  The authors do address,
if laconically, points  1-6 above.  The book also clarifies
some of the dusty gray areas of the language to a degree
which others I've looked at don't even approach.  It's:

	Programming in C++
	Stephen C. Dewhurst and Kathy T. Stark
	1989, Prentice Hall
	Englewood Cliffs, New Jersey 07632



:~~~~~~~~  David Geary, Boeing Aerospace, Seattle  ~~~~~~~~
:~ We got lucky this year, summer fell on Friday and Sat. ~
:~ and it only rained on Friday ;-(                       ~


-- 
Spa link snot the temper tent, a few cannery doubt lowed.

({uunet,tektronix,reed,sun!nosun,osu-cis,psu-cs}!oresoft!(dan)@oresoft.uu.net)