Is Starting Out With C++ (5th Edition) a good book?

Started by
4 comments, last by dashurc 16 years, 8 months ago
I ask because reading this book is like having my hand chopped off and having my friends scrape it across a chalk board--of course, they are wearing head phones. Because of this book, the first of my college books, I use my blue highlighter for lines I find funny. (Under Unprecedented Praise for Starting Out With C++) "I have adopted this book for courses at both Inver Hills Community College and Century College in Minnesota this semester. I have not been disappointed. It works for me." This comment seemed quite precedented to me. (Chapter One) "Programmers must learn special languages like C++ because computers do not understand English and other human languages." Well duh. Even my laymen friends find this line funny. "Programming languages, which use words instead of numbers, were invented to ease the task of programming." Not only had this already been stated, but it dismisses the fact the binary and machine code ARE STILL LANGUAGES! (Chapter two: first line) "Every C++ program has an anatomy. Unlike human anatomy, the parts of C++ programs are not always in the same place." I just love the imagery on this one. So I've only read the first two chapters thus far (and class doesn't start for two weeks or so), but I often feel like the book isn't treating my like an intelligent human being. It could get better as I move into more unfamiliar territory (this being my fourth language), but what do you guys--those of you who've read it--think about the about my class's text book?
Advertisement
I haven't read that particular book, but... Beginner books rarely treat people as human beings (at least in the first few chapters), but sometimes that's a good thing. Beginner books should be oversimplified. While those quotes seem stupid to people who know how to program or know a little about the evolution of programming languages, people who are literaly just starting may find this useful.

This is your first college programming book. Many in your class will have never programmed a line of code in their lives, and the code produced by the majority of those that have programmed would make you want to shoot yourself in the brain.

None of the stuff posted is really that bad or incorrect (although it is a bit funny).

The role of beginners books (i.e. the majority of the books you'll be using this year and part of your second year), is to give a bit of background knowledge on the topic (which it sounds like it did), then teach all sorts of simple things. For instance, you'll have a chapter on declaring and using variables, one on branching (if, switch, ...), one on loops, one on declaring and using functions, then the chapter that breaks most people...POINTERS! NOOOOOOOOOOOOOOOO!!!!!!

By the time you're at chapter 6 you'll probably be introduced to classes in a way that makes sense but isn't really all that in depth. Maybe by the end of the semester they'll throw you a curveball and teach inheritance (but this won't be on the exam since it's "too hard").

Maybe the book is really bad. Like I said before, I haven't read this one. It doesn't seem that bad to me though.
I'm giving the book the benefit of the doubt based on its description:

"Starting Out with C++ teaches C++ from the ground up, and assumes no prior background in programming."

If that book is not your flavor, just search Amazon.com for a well regarded C++ book. I find Amazon.com customer book reviews quite reliable. I am slightly skeptical of that book you mentioned simply because I don't see any reviews of it (despite three different editions appearing on Amazon.com)

[Edited by - fpsgamer on August 12, 2007 6:52:09 PM]
Quote:Original post by Splinter of Chaos
(Chapter One)
"Programmers must learn special languages like C++ because computers do not understand English and other human languages." Well duh. Even my laymen friends find this line funny.

Well, it's still a valid point. How many of your layman friends know what you have to use instead of english? A lot of people don't know what programming is (Other than that it's something geeks do, and it's to do with computers).

Quote:"Programming languages, which use words instead of numbers, were invented to ease the task of programming." Not only had this already been stated, but it dismisses the fact the binary and machine code ARE STILL LANGUAGES!

Are they? Are they programming languages? Depends on your definition. In any case, even if they are, it's still true that programming languages were invented to ease the task of programming. That's true for assembly, and it's true for higher-level languages. Even if you consider machine code a programming language, it's still true that "programming languages which use words instead of numbers, were invented to ease the task of programming".

Quote:
So I've only read the first two chapters thus far (and class doesn't start for two weeks or so), but I often feel like the book isn't treating my like an intelligent human being.

Beginner books don't always do that. If you don't like the writing style, pick up another book. There's nothing worse than reading books you find annoying. [wink]
But apparently the book is targetted at people with no previous programming experience. So I'd say some simplifications and a lot of "creative" imagery is to be expected. How else would you explain programming to someone who simply don't know anything about it?
Most likely this is only the first few chapters. (After which the reader will have a bit of experience with programming, and the book can move on a bit)

[Edited by - Spoonbender on August 12, 2007 8:54:56 PM]
A general response to all the replies I've gotten.

On some parts of the book, I've found that what the book takes three paragraphs to say can be explained more simply and elegantly in only a few sentences. Unfortunately I don't have any examples because I left the book at a friends house when he asked if I wanted to come over to make a movie, PS: bring random objects for props.

I've only found one person who didn't giggle at these lines. And I have questioned someone who definitely didn't know what programming really was (other than making applications and stuff). And anyway, this class I'm taking is for people who've taken programming 101 already; everyone should know what programming pretty much is. Although, since I didn't take programming 101 due to having been programming so long so I really wouldn't know what they taught in the prerequisite class.

Also, I think, but don't quite remember, that chap 6 introduces functions--having taught procedural programming until then, and chap 13 is classes and objects with arrays having been covered already. I do know that the book teaches plenty about inheritance and stuff.
Oh, I didn't say that the book would skim over inheritance. I was referring more to the class.

This topic is closed to new replies.

Advertisement