Amazon.com: C++ for C Programmers (9780805331592): Ira Pohl: Books

Buy Used
Used - Good See details
$3.98 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Have one to sell? Sell yours here
C++ for C Programmers
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

C++ for C Programmers [Paperback]

Ira Pohl (Author)
2.3 out of 5 stars  See all reviews (13 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Hardcover --  
Paperback $34.82  
Paperback, September 1993 --  
There is a newer edition of this item:
C++ For C Programmers, Third Edition (3rd Edition) C++ For C Programmers, Third Edition (3rd Edition) 2.3 out of 5 stars (13)
$34.82
In Stock.

Book Description

September 1993
Making the move to C++ is easy and fast with this concise, on-target book by C/C++ expert Ira Pohl. By building on the programmer's knowledge of C, the book delivers a seamless transition to C++. Extensive exercises and frequent language comparisons teach concepts quickly and introduce the language's powerful object-oriented features. In addition, Pohl's trademark "dissection" technique illustrates the underlying structure of programs and helps readers understand design tradeoffs. Based on the proposed ANSI C++ standard, the book covers the latest language features including detailed discussions of templates and exception handling.


Editorial Reviews

From the Back Cover

Third Edition
now available!

Making the move to C++ is easy and fast with this concise, on-target book by C/C++ expert Ira Pohl. By building on the programmer's knowledge of C, the book provides a seamless transition to C++. Extensive exercises and frequent language comparisons teach concepts quickly and introduce the language's powerful object-oriented features. In addition, Pohl's trademark "Dissection" technique illustrates the underlying structure of programs and helps readers understand design tradeoffs. Based on the proposed ANSI C++ standard, the book covers the latest language features including detailed discussions of templates and exception handling. Features


* Provides a smooth transition to C++ and object-oriented programming for programmers already familiar with C
* Discusses in detail new C++ language features including two new chapters on templates and exception handling
* Contains a new comprehensive reference appendix to C++
* Uses "Dissections," the author's trademark approach, to explain new programming elements and idioms
* Implements a consistent and standard coding style accepted by professionals in the C++ community
* Includes fully-tested code in all example programs.
* Tests conceptual and practical understanding through excellent end-of-chapter exercises
080533159XB04062001

About the Author

Ira Pohl is a Professor of Computer Science at the University of California, Santa Cruz and holds a Ph.D. in Computer Science from Stanford University. His research interests include artificial intelligence, the C and C++ programming languages, practical complexity problems, heuristic search methods, deductive algorithms, and educational and social issues. He originated error analysis in heuristic search methods and deductive algorithms. Professor Pohl was formerly a Mackay professor at University of California- Berkeley and a ZWO fellow in the Netherlands. He is the author or co-author of Object-Oriented Programming Using C++, C++ Distilled: A Concise Ansi/Iso Reference and Style Guide, C by Dissection: The Essentials of C Programming, A Book on C: Programming in C, C++ for C Programmers, C++ for Fortran Programmers, C++ for Pascal Programmers, and Turbo C: The Essentials of C Programming, all published by Addison-Wesley. 080533159XAB04062001

Product Details

  • Paperback: 384 pages
  • Publisher: Benjamin-Cummings Pub Co; 2nd edition (September 1993)
  • Language: English
  • ISBN-10: 080533159X
  • ISBN-13: 978-0805331592
  • Product Dimensions: 9.1 x 6.1 x 0.7 inches
  • Shipping Weight: 1 pounds
  • Average Customer Review: 2.3 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Best Sellers Rank: #2,524,604 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

13 Reviews
5 star:
 (1)
4 star:
 (3)
3 star:
 (1)
2 star:
 (2)
1 star:
 (6)
 
 
 
 
 
Average Customer Review
2.3 out of 5 stars (13 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

28 of 28 people found the following review helpful:
1.0 out of 5 stars Yet another bad computer book, April 26, 2001
By 
Bowen Simmons (Sunnyvale, CA USA) - See all my reviews
(REAL NAME)   
As I said in another review, the computer industry is notable for the huge quantity of really bad books it engenders. This is one of those books. Before saying why it is a bad book, I will present the table of contents:

Preface

1. An Overview of C++ and Object-Oriented Programming

2. Native Types and Statements

3. Functions, Pointers, and Arrays

4. Classes

5. Constructors and Destructors

6. Operator Overloading and Conversion

7. Templates, Generic Programming, and STL

8. Inheritance

9. Exceptions

10. OOP Using C++

Appendices

A. ASCII Character Codes

B. Operator Precedence and Associativity

C. Language Guide

D. Input/Output

E. STL and String Libraries

References

Index

So, what makes this book bad?

First, there is the problem of confusion of purpose. The book's title proclaims that it is: "C++ for C Programmers". From the title, the reader would expect that the book would assume that he knew C and would teach him C++. The first sentence of the Preface would support him in this idea: "The book uses an evolutionary teaching process, with C as a starting point and C++ as a destination."

The first odd thing that the reader will notice is that each chapter includes a short section on Java. Why? There is no realistic hope of teaching the reader Java in so short a space; there is no reason to think that the reader wanted the book to teach him Java. The existence of these sections is a mystery.

The second odd thing that the reader will notice is that the book attempts to teach him C. Take for example, the following from the book

"2.81 Assignment and Expressions

In C++, assignment occurs as part of an assignment expression, which can occur in several forms.

a = b + 1;

This expression evaluates the right-hand side of the assignment and converts it to a value compatible with the variable on the left-hand side..."

Now the above is all very well, but if the reader already knows C, he is already aware of this - why explain it to him again? The author's instructions with regard to this question, from the start of the chapter, are curious: "For the experienced C programmer, most of this chapter's material should be skimmed and read mainly with an eye for differences between C and C++. These differences will be listed in the chapter summary, which the experienced C programmer can use to determine what to selectively read about." Quite. If the reader takes the author's advice, he will skip to the chapter summary, and read a summary of the differences. An example of these is the following: "In addition to implicit conversions, which can occur across assignments and in mixed expressions, there are explicit conversions called casts. New keywords introduced in C++ for casts are static_cast, reinterpret_cast, const_cast, and dynamic_cast." As can be seen, the summary does not tell the reader what he needs to know from the chapter, it instead tells him what he should try to go back and find in the chapter. The basic organizational model here is the scavenger hunt: the reader is given a list of things to find, and a locale in which those things are hidden; he is told to flip back and forth and scan until he has found (hopefully) the new material that the author has scattered through the old. The reader could be forgiven for thinking that the author was deliberately wasting his time.

The second problem with the book is that it isn't very informative. For example, take the matter of the casts that are in C++ but not C, which I used in the previous example. The full description in the chapter of the const_cast is as follows:

"Two other special casts exist in C++: const_cast and dynamic cast...The const modifier means that a variable's value is nonmodifiable. Very occasionally, it is convenient to remove this restriction. Doing so is known as 'casting away constness' and is accomplished with the const_cast, as in:

foo(const_cast<int>(c_var)); // used to invoke foo

..."

Now, a cast is a type conversion, so the example would be much clearer if the prototype for foo() and the type of c_var were provided. Sadly, the author has presented neither. Still, the reader might hope that the extensive language guide section in the back would clarify matters. So he checks it and reads the following:

"Two other special casts exist in C++: const_cast and dynamic cast...The const modifier means that a variable's value is nonmodifiable. Very occasionally, it is convenient to remove this restriction. Doing so is known as 'casting away constness' and is accomplished with the const_cast, as in:

foo(const_cast<int>(c_var)); // used to invoke foo

..."

The reader is almost certain to be disappointed at this point - the description in the main text and that in the language reference are word-for-word identical, right down to the same, meaningless example.

The only possible justification for the over-bare descriptions of the new features in the language is to keep the book short, but the book is padded three times over: it has material the reader doesn't want to know (Java), material the reader already knows (C), and material it has already presented (the main text/language guide reprint).

In the absence of justifiable reasons for why the book is the way it is, the reader is forced to assume unjustifiable reasons: that the author and the publisher either didn't know how to keep faith with the reader or that they didn't care to, or quite possibly both.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 13 people found the following review helpful:
1.0 out of 5 stars I hate this book, August 29, 2000
By 
Geoffrey S. Robinson (Haddon Heights, NJ USA) - See all my reviews
(VINE VOICE)    (REAL NAME)   
This review is from: C++ for C Programmers (Paperback)
I had to unlearn what I learned from this book. I was in the middle of college, I had a horrible professor, and she assigned this book. The book is horribly confusing for one reason. The code examples. The editors take huge sections of code out and leave in "..." in its place. Well, you know what? I'm new and I need a freakin' example in context to figure it out. That's how I learn best. You have to string together code fragments from all over the book just to piece together one program. I got so frustrated with this book. I finally read Sam's Learn C++ in 10 Minutes and everything fell into place. That teaches you something, don't it? They had good examples and I learned right away. At least I know now I'm not an idiot. I actually saw someone's copy of the first edition and it was a good book. But it didn't have the imfamous "...". I assume like many computer company HR departments the editors don't know anything about programming. My advice is to do yourself a favor and get another book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 6 people found the following review helpful:
1.0 out of 5 stars The book should be called C++ for C++ Programmers, October 20, 2002
By A Customer
My comment is that it is a badly badly badly badly written book. The book should be called C++ for C++ Programmers - only C++ programmers who know about C++ already can understand what C++ the book want to teach. Most of the informations are too brief. For example:

1. Chapter 5. Constructors and Destructors

Out of the 13 sections in the chapter, I only think section 5.1, 5.2, 5.3, little 5.6, 5.10 and 5.11 should be included there. It wasted whole 4 sections on teaching vectors, linked list, 2-D arrays, polynomial implemented by linked list. These are not core to understanding the features of C++ and should either be consolidated as one example with the sore purpose of illustrating the features of C++ or be removed altogether. Also, there is a problem with the example given in section 5.4 which wasted me several days to figure why. The example simply give you a wrong information on the use of conversion constructor.

Even worse is that the core language features were either not described fully or described by single concise sentences hidden in the middle of paragraphs. For example

i. Default constructor is used to initialise arrays of objects. In some other books, this important concept is described in a separate section or pointed out clearly. Instead, the book only hides the description in two sentences under section 5.1.1. One may overlook this point easily if not paying attention.

ii. section 5.6 members that are classes types. The book gives an example of how a class contains members that are class type. However, the way the members' constructors are called is not explained at all. Again, some other books devote a whole section on this concept.

iii. section 5.1.2 constructor initializer - the book should give more explanation on the precise syntax of constructor initializer. What about when the constructor's body is declared
outside the class?

2. Chapter 4 Classes

I cannot imagine how after reading a chapter on classes, one can still not fully understand the difference between public and private access. And yes, after reading this book's chapter 4, which supposed to be the main chapter explaining class, I still cannot figure out the difference between private and public!!! Once again, only brief explanation on these core and basic concept is given.

section 4.6.1 Scope Resolution operation - what the hell does external scope mean?? Yes, again this is another example of one-sentence explanation of core concept - the unary form of ::

section 4.6.2 nested classes - this is not described in one sentence; however, only 1 page is used to described this complicated concept.

3. Example of other concepts which i was introduced by the book but do not have full understanding: namespace, iostream library.

In short, if you are not a C programmer, don't expect to learn much about C++ after reading this book. And, if you are a C programmer, this book first wastes you a lot of time re-learning the basics of C in Chapter 2 and 3 and confuse you with many one-sentence descriptions of C++ core features in the subsequent chapters.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(91)
(13)
(11)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject