Slashdot Mirror


Practical C++

jsight writes with his review of Rob McGregor's Practical C++, published by QUE. He writes "Some books attempt to do one thing really well, and others attempt a little of everything. This book is clearly an example of the latter, in full force. Weighing in at a hefty 900 pages, you would expect this book to be crammed with chapters and details on every aspect of the STL and basic C++. In the following review, I am going to cover where it succeeds in doing this, and where it fails." (This book has been out for a few years; what books would make more sense today for a C++ learner's library?) Practical C++ author Rob McGregor pages 900 publisher QUE rating 7/10 reviewer Jess Sightler ISBN 0789721449 summary Provides a practical guidebook to learning C++ Section I -- Programming 101 At first glance, the book appears to be written for people with experience programming, however reading through this section clearly dispels that myth. Here we have a section which goes over everything from for loops to if conditionals while simultaneously using verbose, duplicitous language at every step. Perhaps this was intended as a means of reinforcement, however, it seems most of the effort here would be wasted.

The technical depth is what you would expect for a novice, but without enough hand-holding and examples to make a novice feel comfortable. Making matters worse, there are numerous typos in this section, including quite a few in the examples (making them uncompilable without corrections). Some of these appear to be type-setting errors, however, there are enough to potentially confuse novice developers.

I believe that the combination of weak examples, and significant typographical errors are strong enough to give a novice much difficulty in learning the C++ language.

Having said that, the section should be provide no difficulty for any programmer with a good knowledge of any vaguely similar language (eg, Perl, Java, PHP, etc).

Section II -- Beyond the Basics

Ah, now we're getting down to Brass Tacks... this section goes over everything from Function overloading to Structure and Unions. The section on function members within structures also does an excellent job of preparing the reader for the upcoming introduction of Object Oriented concepts.

The sections on Memory management, both from an allocation standpoint, and from a bit manipulation standpoint are first-rate. Details are perhaps not as strong as they could have been, however the material is very accessible, and clearly described.

Probably my only complaint with this chapter is the overly general section on compiling and debugging programs. However, as this book does attempt to be somewhat compiler/debugger agnostic, this is forgivable. From here, we dive into the real power of C++, Object Orientation.

Section III

From the beginning, this book treats Objects as an extension of the structure syntax taught previously (with the default of Public switched to Private). This, along with the classic Plans vs. Product description of the difference between a Class and an Object are quite clear and robust.

Again, this is a solid chapter, describing the details of getting a system of classes up and running, as well as some sample data structure implementations.

And then finally, the last section is a slightly less than 200 page description of the STL. This section is probably the book's weakest part, as it is just strong enough to give you a taste of what is available, but often not strong enough to grasp the details. It's a good start, but much more attention should have been made to this subject (potentially even at the cost of some of the wasted words on how a 'for' loop works). It makes a decent introduction for someone with very limited STL background, however, there is not enough depth to reach a strong level of understanding here.

Summary Overall, this is a solid book for an existing programmer to pick up C++ concepts. A programmer with a strong knowledge of an existing procedural language (such as C) would have no trouble digesting the concepts of this book. Having said that, the poor typographical issues, and verbose wording often muddle an otherwise good book.

You can purchase Practical C++ from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

307 comments

  1. "Practical C++" by alexborges · · Score: 2, Funny

    Now THATS an oxymoron...

    Its the only language that ive had trouble getting

    cout "Hello World!";
    (or equivalent)

    to compile.

    --
    NO SIG
    1. Re:"Practical C++" by BoomerSooner · · Score: 2, Insightful

      Lol

      cout "Hello World!";

      Thanks for the laugh.

    2. Re:"Practical C++" by Anonymous Coward · · Score: 0

      std::cout "Hello Slashdot";

    3. Re:"Practical C++" by Anonymous Coward · · Score: 5, Funny

      And your mother too

      My mother is in fact a software developer and has no problems getting a "Hello World" to compile.

    4. Re:"Practical C++" by Anonymous Coward · · Score: 2, Funny

      class omgwtflol {

      public static void main ( String args [] ) {

      System.out.println("omg i hate teh java!!1");

      }
      }

    5. Re:"Practical C++" by gregarican · · Score: 1

      Probably using the sign would've helped!

    6. Re:"Practical C++" by rice_web · · Score: 1

      (or equivalent)

      Maybe that's why you're having trouble.

      --
      The Political Programmer
    7. Re:"Practical C++" by ktulu1115 · · Score: 1

      cout "Hello World!";

      I believe your problem is the following: cout << "Hello World!";

      --
      # fuser -v /dev/attention | grep work
      #
    8. Re:"Practical C++" by shrykk · · Score: 1

      I think you'll find this works in most C++ compilers:
      #include <stdio.h>

      main()
      {
      printf ("Hello world!");
      }

      --
      #define struct union /* Reduce memory usage */
    9. Re:"Practical C++" by SpaceRook · · Score: 1

      The what sign? Looks like you both got your arrows stripped out.

    10. Re:"Practical C++" by Anonymous Coward · · Score: 0

      tsk...

      #include <cstdio>
      int main()
      {
      printf("Hello world!\n");
      return 0;
      }

    11. Re:"Practical C++" by gregarican · · Score: 1
      Alright, here it is dammit!

      cout << "Hello World!";

      I've heard that the Preview button does wonders. Perhaps I should use it every now and then :-|

    12. Re:"Practical C++" by October_30th · · Score: 1
      What sign?

      I hope you're not talking about sticking a pink carnation in your hat and, er, making the old sign...

      --
      The owls are not what they seem
    13. Re:"Practical C++" by Charvak · · Score: 1

      Either use
      using namespace std;
      or qualify it as std::cout,otherwise, it will fail in an ANSI compliant compiler.

    14. Re:"Practical C++" by Chris_Jefferson · · Score: 2

      actually the standard specifies that the cstdio-type headers put the functions into the std namespace :)

      #include
      using namespace std;
      int main()
      {
      printf("Hello world!\n");
      }

      (yes, the standard does allow you to leave out the return value from main. it will automagically put in a return 0;)

      --
      Combination - fun iPhone puzzling
    15. Re:"Practical C++" by Anonymous Coward · · Score: 0

      So noted. :)

      I always forget whether it is C or C++ that supplies the implicit return 0 from main(). I work with large codebases written in both so keeping all the little details straight presents a challenge sometimes.. :)

    16. Re:"Practical C++" by Anonymous Coward · · Score: 0

      #include
      yes but you are '#include'ing nothing. that will throw an error.

    17. Re:"Practical C++" by Anonymous Coward · · Score: 0

      std::cout "Hello, Idiot" std::endl

    18. Re:"Practical C++" by Mod+Me+God · · Score: 1

      'HELLO WORLD'

      Why bother with a language that imposes all that other bullshit???

      --
      --

      FreeNET user? Comfortable with the adverse selection?
    19. Re:"Practical C++" by Short+Circuit · · Score: 1

      Ditto...my only irritation is she refuses to work with anything but VB (and she's feeling the pain with .NET) and Access.

      She doesn't have the time to do anything else, since she's overloaded herself with too much work to even finish a project she started that could bring some serious income in.

    20. Re:"Practical C++" by Erratio · · Score: 2, Insightful

      It's probably details like that that are better off forgotten anyway. As time consuming as that line is to type in, if anything it makes the code a little more logical at a glance and considering the quirks specific to all the C based languages, I'd say stuff like that should be left in for legibility. That way more time can be spent by anyone dealing with code worrying about things that actually affect the working of the program.

      --
      I don't try to be right, I just try to make people think
    21. Re:"Practical C++" by Erratio · · Score: 1

      For a comment about legibility that last sentence confused me upon rereading. That way more time can be spent, by anyone dealing with that code, worrying about things that actually affect the working of the program.

      --
      I don't try to be right, I just try to make people think
    22. Re:"Practical C++" by X · · Score: 2, Informative
      More like:
      #include <iostream>

      int main()
      {
      std::cout << "Hello World!" << std::endl;
      }
      --
      sigs are a waste of space
    23. Re:"Practical C++" by Anonymous Coward · · Score: 0

      I believe your problem is the following: cout

      I believe you mean: std::cout "Hello World!";

    24. Re:"Practical C++" by ktulu1115 · · Score: 1

      If you choose to use namespaces (using iostream without the .h and including "using namespace std;" in the code, then yes. Otherwise, the std: is not needed.

      It seems most posters here are forgetting that the usual default setting for posts is HTML formatted and thus << needs to be escaped in HTML. (Hint: Preview is there for a reason) :)

      --
      # fuser -v /dev/attention | grep work
      #
    25. Re:"Practical C++" by alexborges · · Score: 1

      I rest my case

      --
      NO SIG
    26. Re:"Practical C++" by EvanED · · Score: 1

      Actually if that *doesn't* work, the compiler/library isn't nearly compliant with the standard.

    27. Re:"Practical C++" by Anonymous Coward · · Score: 0

      # :)

      print "Hello World!"

      #vive la python!

    28. Re:"Practical C++" by Anonymous Coward · · Score: 0
      Here's a library for you. You know, just like you'd use in one of those other pansy-ass languages you use.
      #include &lt;iostream&gt;

      namespace print_lib {

      // Prints out something
      // Fix: use traits to achieve better performance
      template &lt;typename T&gt;
      void print(T output)
      {
      std::cout << output << std::endl;
      return;
      }
  2. Re:I feel bad by Anonymous Coward · · Score: 0

    C++. What is it all about... is it good, or is it whack?

  3. out of stock? by fjordboy · · Score: 4, Informative

    Contrary to what the article and link said, I don't think you can buy it (new) on bn.com. However, it is available here at amazon.com for 20.90 new or 9.00 used. Just fyi...

    1. Re:out of stock? by Anonymous Coward · · Score: 0

      FUCK AMAZON REFERRAL SPAM

  4. Book spoiler by jmv · · Score: 5, Funny

    It ends with }

    1. Re:Book spoiler by Anonymous Coward · · Score: 0

      And anyone writing the stupid 'it start with } too' jokes, beware. I'ma come over and kick your a$$ ;))

    2. Re:Book spoiler by david.given · · Score: 4, Funny
      It ends with }

      No, no, this is C++, remember? It ends with };.

    3. Re:Book spoiler by Anonymous Coward · · Score: 0

      It ends with }

      And doesn't compile because it's missing the semicolon.

    4. Re:Book spoiler by Anonymous Coward · · Score: 0

      you don't need a semicolon at the end. I think you'd better read that book carefully.

    5. Re:Book spoiler by jmv · · Score: 0, Redundant

      int main()
      {
      return 0;
      }

      Remind me what doesn't compile here?

    6. Re:Book spoiler by Anonymous Coward · · Score: 0

      Fair enough. Fortunately, it doesn't start with }, it starts with {.

    7. Re:Book spoiler by AndrewHowe · · Score: 1

      You don't need a semicolon after a namespace {} either.

    8. Re:Book spoiler by ballpoint · · Score: 0, Redundant

      No, it ends with

      #endif

      --
      Flourescent (adj): smelling like ground wheat.
    9. Re:Book spoiler by Anonymous Coward · · Score: 0

      when compiled w/ -pedantic, all files need to end in a newline

    10. Re:Book spoiler by jmv · · Score: 0, Redundant

      Yes. That's why in my comment I also included a newline after the "}".

    11. Re:Book spoiler by sploxx · · Score: 1

      Yes, and don't forget the final newline GCC needs in all source files.
      We are using GCC aren't we?! :)

    12. Re:Book spoiler by Anonymous Coward · · Score: 0

      I use g++ ;)

  5. 900 pages! by Anonymous Coward · · Score: 2, Funny

    He should've used a little of that practical C++ for compression.

    1. Re:900 pages! by Anonymous Coward · · Score: 0

      You should be wary whenever someone describes C++ as "practical".

  6. Guilt by Anonymous Coward · · Score: 3, Informative

    Guilt free purchase link.

    1. Re:Guilt by SenatorTreason · · Score: 1

      Ahhhh....thanks! I had forgotten about Powell's!

    2. Re:Guilt by mcpkaaos · · Score: 1

      Don't be so sure of that. Powell's is currently suspect of screwing their workers over in regards to health benefits. I grew up in Portland, so I would usually default to ordering from Powell's (Portland folk are pretty loyal to their hometown). A few months ago, during the height of the socal grocery strike (laughable mess that it is - I know, I live in San Diego and got to watch the whole thing unfold first-hand), I found an independent media website that claimed the same behavior was occuring at good ol', loveable Powell's. That might not be true, but the behavior displayed by Powell's execs in response to a couple demonstrations was enough to raise my eyebrows. Puts a kink in your ideal, doesn't it. Next thing you know, the Kettle Chip family will be discovered supporting neo nazis ("Ein potato, ein bag, ein chip!"), Gardenburger will be fined for testing their patties on cute, furry animals, and the Coffee People folks will sell out to some Starbucks wannabe like Deidrich and trade in their campervans for Hummers. This is giving me flashbacks of that shitty Don Henley song, The Boys of Summer.

      --
      It goes from God, to Jerry, to me.
  7. I concur by gregarican · · Score: 4, Informative
    This book has been in my reference shelf for awhile now. Some areas are emphasized more than others -- arrays more than vectors, structs more than classes -- but overall it's a good companion.

    In terms of going over bit manipulation, memory addresses, pointers, etc. it really goes into detail that I wouldn't expect for an entry-level reference. Then again it's so thorough it really isn't just an entry-level reference!

  8. old!=obsolete by RLiegh · · Score: 5, Insightful

    If you're talking about the specifics of a language to the point where the book you're reading is going to be obsolete after the next standards commitee meets--maybe you're reading the wrong book?

    However, if the book you're reading concentrates on the principlas, instead of the individual bits and pieces, age shouldn't matter.

    They still use the ritchie book after all, right?

    1. Re:old!=obsolete by happyfrogcow · · Score: 2, Insightful

      Though if it were written based on compiler implementations of the C++ standard it may be old and obsolete, or at the very least, simply incomplete.

      For example, using exceptions as error handling, and moving it away from the normal operation of the code, instead of having tons of if..else cases everywhere right next to meaningfull algorithms. exceptions seem to be a relatively recent addition to C++ compilers as far as standard compliant compilers go.

    2. Re:old!=obsolete by qtp · · Score: 1

      They still use the ritchie book after all, right?

      Hell, yeah! The K&R is by far the best C programming book available. If you want to learn and understand C, there's little else that you'll need (the "Mastering Algorithms in C" book plus a good amount of expirience writing your own programs certainly does help.)

      --
      Read, L
    3. Re:old!=obsolete by Moeses · · Score: 1

      If you're talking about the specifics of a language to the point where the book you're reading is going to be obsolete after the next standards commitee meets--maybe you're reading the wrong book?

      It sounds to me like that might be more of a case of using the wrong language.

      However, if the book you're reading concentrates on the principlas, instead of the individual bits and pieces, age shouldn't matter.

      When you buy a reference book you WANT it to get into the nitty-gritty details. I agree that learning principles is more important, but you've got to learn practical details too. And this isn't a book about principles, it's a 'learn how to specifically do things with a specific language' book. That's different.

      If the practical details you learn are going to be changing more quickly than you want to relearn then you're probably using the wrong tool for your situation. I know, because I have the same issue. I just think that you're pointing your finger at the wrong thing here.

    4. Re:old!=obsolete by fermion · · Score: 1
      In general you are correct. My standard book is Practical C++ by Terribile, which was published in the mid 90's. It is readable and served me while Stroustrup was working on his editions. But C+ evolved quickly an Stroustrup published the Special Edition of the C++ Programing Language in 2000(although the 1997 edition seems nearly as complete), which is what I was now use. If a programmer is patient enough to get through the text, this is the book I would suggest. It is precise and complete. I would be concerned with any book prior published to this.

      On another note, the STL is a complex language of it's own. I do not believe it can be covered as a section of chapter in a book. Expect to buy a separate book, also published in past few years.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    5. Re:old!=obsolete by Anonymous Coward · · Score: 0

      I hate to break it to you, but anyone relying on K&R first edition to write modern C is SOL ;)

  9. One question by Anonymous Coward · · Score: 1, Interesting

    What other books are on your shelf?

    Thank you,
    Mr Blinky

    1. Re:One question by gregarican · · Score: 1

      Everything from Writing Hirigana to Proust to Kerouac to Linux to Cisco Administration. Jack of all trade master of none.

  10. Cease and Desist by Sparky77 · · Score: 2, Funny

    Open Letter From Darl McBride:

    The code examples in this book are part of the intellectual property owned by SCO. You must pay $650.00 per code example to receive a license that allows you to use our IP. Send check or money order, no cash please.

    Thank You,

    Darl (Big D)

    --
    One bad monkey spoils the whole barrel.
    1. Re:Cease and Desist by Patrik_AKA_RedX · · Score: 5, Funny
      $650.00 per code example
      Lets assume 350 code examples, that makes $227,500
      A hit-man cost about $30,000. hmmm....
      Sorry Darl McBride, it's not personaly, it's just economics.
    2. Re:Cease and Desist by SW6 · · Score: 5, Funny
      Lets assume 350 code examples, that makes $227,500
      A hit-man cost about $30,000. hmmm....
      Sorry Darl McBride, it's not personaly, it's just economics.

      I clearly need to move to a nicer area. The going rate for a hit round here is less than a tenth of that. And the body would probably dissolve in the river...

    3. Re:Cease and Desist by dfj225 · · Score: 1

      "I clearly need to move to a nicer area. The going rate for a hit round here is less than a tenth of that. And the body would probably dissolve in the river..."

      Wow, you're from Philadelphia too!

      --
      SIGFAULT
  11. Best learner's C++? by FortKnox · · Score: 5, Informative

    (This book has been out for a few years; what books would make more sense today for a C++ learner's library?)

    Best learner's C++ book has to be "Thinking in C++" by Bruce Eckel. I always touted his "Thinking in Java" as the premier book for the learning java developer, but his success started with TiC++. Best of all? Its available free electronically on his website (but I always went out and spent the $30 for the paperback version to support him).

    If you pick up the book, you'll understand the language just a little more. He writes the book just how you'd like to learn, not like some math book that blandly gives out information in a manner that puts you to sleep. You can thank me later after reading it ;-)

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:Best learner's C++? by Thud457 · · Score: 1
      I always considered "Thinking in C++" to be an excellent book for experienced programmers. It's great for picking up C++ if you already know some other language(s). I wouldn't pick it for someone who was a complete neophyte.

      I bought "Thinking in Java" because I expected it to be the same type of thoughful, insightful reading. Boy was I wrong. That book was a total waste. It really seemed that he was concerned with teaching basic programming rather than pointing out the crucial minutae of the language. (Hell, compare the sizes -- ~790pp vs more that 1000pp!) It really seems that Eckel had succumbed to the programming book industry groupthink that bigger is better.

      --

      the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

    2. Re:Best learner's C++? by Frizzle+Fry · · Score: 1

      I haven't read thinking in c++, so I can't comment on that. But I disagree with your assessment of thinking in java. There were some parts that taught basics as you mention (not just of programming, but also at length the basics of object-oriented design). However, once the basics were out of the way, the later sections explained features of the language extremely well. I definitely think the book is worth buying for these chapters. Rather than simply explaining what the language allows you to do, he explains why and how best to use it. This is not meant as a reference book on minutae of the language, it's meant to provide thorough discussions of the language's features that need to be read carefully. I am thinking in particular of the section on inner classes, which really enlightened me as to what inner classes are and how to use them.

      --
      I'd rather be lucky than good.
    3. Re:Best learner's C++? by Anonymous Coward · · Score: 0

      It really seemed that he was concerned with teaching basic programming rather than pointing out the crucial minutae of the language.

      And you know why? "Crucial minutae" gets old the minute its published. Use Usenet and the web for that.

      For example a lot of Java's going to be revamped with 1.5 making a lot of annoying minutae obsolete (replacing it with new minutae of course) -- however TiJ will still be there teaching you the basics.

      Its called "Thinking In Java" as its about how to change your mindset into thinking about how to code in Java. Its not called "Thinking about how to be a Code Monkey in Java"

    4. Re:Best learner's C++? by Ed+Avis · · Score: 2, Interesting

      I found Stroustrup's book The C++ Programming Language to be quite good, at least if you already know some of the language. It's not quite a tutorial and not quite a reference manual but works nicely as a blend of both.

      --
      -- Ed Avis ed@membled.com
    5. Re:Best learner's C++? by Thud457 · · Score: 1
      Maybe 'crucial minutae' wasn't the best way to get my point across.

      What I was trying to get at is that "Thinking in C++" did a good job of explaining WHY a lot of those little details work the way they do. This is a HUGE thing with C++ since a lot things are cumbersome because it has to remain backward-compatible with C. And that's why I don't consider it to be an introductory text.


      "Thinking in Java" on the other hand, didn't need to fulfill that task. And although it is not a complete introductory text, it did a lot more of "this is what a loop is" or "this is what OO is". The damn tome's bigger than the "corresponding" text for a much more complex language.

      --

      the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

    6. Re:Best learner's C++? by Erratio · · Score: 1

      I think the best book to learn something is different for everyone, depending on background and how they like to learn. As far as C++ goes (or other languages), beyond even the question of whether or not progamming experience exsits, there's the type of experience. Learning C++ would be different for someone with object oriented programming as opposed to straight procedural, and different depending on what similar languages are known (like C obviously). No book is going to be the "best". They'll all have their strong points and weak points and among the good books, those will determine which are most tailored to your needs. Even the best one to learn from may be a horrible reference which would disqualify it for some people's wants.

      --
      I don't try to be right, I just try to make people think
    7. Re:Best learner's C++? by cpeterso · · Score: 1


      "Thinking in C++" is a great book. Bruce Eckel has been working on a new book called "Thinking in Python". Given his track record, it should be a good one!

    8. Re:Best learner's C++? by dcam · · Score: 1

      Absolutely. A great book.

      Add to that "The C++ Standard Library" by Nicolai M Josuttis. An excellent STL reference.

      --
      meh
    9. Re:Best learner's C++? by LizardKing · · Score: 1

      First a disclaimer. I find a few features of C++ to be the most ill conceived ideas since someone exclaimed "hey, Pascal could be used for real programming". However, I do program in C++ on a regular basis, and there is a great language hidden within the excess of duplicated syntax.

      The *only* C++ book I can recommend is "C++ Primer" by Lippman and Lajoie. It's far from perfect, as it jumps around from topic to topic too much, but that could be a consequence of C++'s elephantine bulk and inconsistency.

      Finally, a warning. Anyone who recommends Stroustrup's "C++ Programming Language" is commiting a grave disservice. Stroustrup's book is no K&R. He may be a great computer scientist, but he's a poor techincal writer and his books are only of interest to compiler writers or masochists.

      Chris

  12. On the subject of language by sczimme · · Score: 4, Informative


    From the review:

    Here we have a section which goes over everything from for loops to if conditionals while simultaneously using verbose, duplicitous language at every step.

    Umm, you do know that duplicitous means "Given to or marked by deliberate deceptiveness in behavior or speech", right? Or did you mean redundant?

    (The quoted definition was provided by http://www.dictionary.com.)

    --
    I want to drag this out as long as possible. Bring me my protractor.
    1. Re:On the subject of language by Anonymous Coward · · Score: 0

      I don't know that he meant redundant as much as he was hoping to type duplicative.

    2. Re:On the subject of language by kfg · · Score: 2, Interesting

      Interesting. I read it to mean "simplified to the point where the author knowingly said things that weren't strictly true."

      A common trait of quicky introductions.

      KFG

    3. Re:On the subject of language by Anonymous Coward · · Score: 0

      Maybe obfuscated?

    4. Re:On the subject of language by the0ther · · Score: 1

      Yeah, that kind of thing in a review definitely erodes my confidence in the reviewer. I certainly would not buy this book, nor would I buy ANY programming book that is 900 pages long. Unless it lists out the entire API, and in those cases I'm usually going to go with an O'Reilly book over any other.

    5. Re:On the subject of language by Imperator · · Score: 1

      No, he really meant "duplicitous". Take this excerpt on for loops:

      The first for loop was written for Unix, and therefore all for loops belong to the SCO Group.
      --

      Gates' Law: Every 18 months, the speed of software halves.
  13. The one I used by proverbialcow · · Score: 4, Informative

    My C++ class used "Object-Oriented Programming Using C++" by Ira Pohl. The language was easy to understand, and it was aimed at people who'd done some coding, though it was necessarily a prerequisite. He somehow managed to make the subject accessible to newbies without condescending. A great book for beginners, and since I don't use C++ on a day-to-day basis, I find myself picking it up now and again.

    --
    The only surefire protection against Microsoft infections is abstinence. - The Onion
    1. Re:The one I used by proverbialcow · · Score: 1

      Er, that should read:

      though it was not necessarily a prerequisite

      The one time I don't preview. Sheesh.

      --
      The only surefire protection against Microsoft infections is abstinence. - The Onion
    2. Re:The one I used by Anonymous Coward · · Score: 0

      My C++ class (a 1-credit introduction) used "C++ for C programmers" also by Ira Pohl. The book, at least my edition, is woefully outdated (no std template library, no namespaces, etc).

    3. Re:The one I used by Anonymous Coward · · Score: 0

      Probrably because it was written before those standards were hammered out. At least mine was.

    4. Re:The one I used by red+floyd · · Score: 1

      Pohl is still around? Damn... He was teaching basic intro programming back in '82!

      --
      The only reason we have the rights we have is that people just like us died to gain those rights. -- Cheerio Boy
  14. The C++ Programming Language by ArmorFiend · · Score: 2, Informative

    I am in the market for this type of book, however, the one I have my eye on is:

    The C++ Programming Language (Special 3rd Edition)
    by Bjarne Stroustrup

    A reference is too hard too read, but this looks like it might be the right level - hopefully pretty steep, but with some language design chit-chat thrown in. What do others think of this book? (And what languages have you learned, a VB for dummies alum isn't going to give the same advice as Guy Steele)

    1. Re:The C++ Programming Language by gregarican · · Score: 1
      I haven't personally read this one, but since the author is the originator of C++ I would think it would be the real deal. Personally I check out books from my public library system. That gives me some sort of a time-based goal to get through the thing before I have to return it. If I like the book and would like to keep it on hand as a reference I will scope out buying it.

      The pet peeve that bugs me the most (and this Practical C++ book is included) are typos in the source code. Beginning programmers must pull their hair out trying to get code to compile that has such errors. Even books that I check out from the library get written in as I correct typos so other unfortunate souls won't run into the same pitfalls.

    2. Re:The C++ Programming Language by johnjaydk · · Score: 2, Interesting
      The Bjarne book is good. No doubt about that. It's a bit steep for someone with no previous exposure to OOP but it covers a lot of good stuff.

      If you want the design rationale and evolution then I can recommend "The Design and Evolution of C++", also written by Bjarne. It's very helpfull not only to know how the language works but also why it was put together that way.

      --
      TCAP-Abort
    3. Re:The C++ Programming Language by Anonymous Coward · · Score: 0

      The C++ programming language special edition kicks ass. A couple other good ones are C++ Primer 3rd edition and Accelerated C++. Search the web for Bjarne Stroustrups web page. It has a lot of C++ information, articles, interviews, etc.

    4. Re:The C++ Programming Language by Red+Leader. · · Score: 2, Informative

      I'm just learning C++, basically as an advanced beginner programmer (I already know Perl pretty well). I have Stroustrup's book, as well as one called "Data Structures and Other Objects Using C++" by Michael Main & Walter Savitch. Even for a beginner, Stroustrup's presentation is FAR superior to the one in Main & Savitch. The explanation of points is clear and there is some design chit-chat that doesn't distract much at all from whatever the section its in is really discussing. It's maybe a little bit advanced for me, but I'm here to learn, right?

    5. Re:The C++ Programming Language by Malc · · Score: 1

      This is _the_ book to have as a C++ programmer. Don't expect to use it for entry level C++ learning though. It's a reference book more than anything, although highly education for people more proficient in the language. I still look at it regularly and learn new things from it (yes, the language is huge and intricate).

    6. Re:The C++ Programming Language by drudd · · Score: 2, Insightful

      I've actually found that typos can be helpful for the learning student. Sure, in the short term they'll pull their hair out, but in the long term, when they make similar typos, they know what to look for, and how to diagnose problems.

      Doug

      --
      Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
    7. Re:The C++ Programming Language by dkleinsc · · Score: 1

      Stroustrup, as you might know, was one of those who invented C++, so like K&R it's the standard work on the subject. I learned C++ just fine in the course of a week, starting with a solid C and Java background.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    8. Re:The C++ Programming Language by Anonymous Coward · · Score: 0
      I have Bjarnes book and I find it truely amazing to read in on the toilet or in another relaxed way.

      I haven't found it particulary useful as reference though. I tend to use Eckel's Thinking in C++ for that purpose.

    9. Re:The C++ Programming Language by Anonymous Coward · · Score: 0

      It's basically just Michael Main's course notes from his data structures class at UC Boulder

    10. Re:The C++ Programming Language by be-fan · · Score: 1

      I have a copy, and I have to say its an excellent book. Its not for the totally green, but covers the language very throughly, and is much more readable than a reference. Hell, it makes a good reference, too, because of its completeness. This is especially true regarding some of the more obscure points of the template system, which many other authors tend to stay away from. It also gives a decent amount of rationale about the design and philosophy of the language, though if you want to get the full story about that you have to read "The Design and Evolution of C++." Lastly, its programming style is a little bit more tame than some of the other modern C++ authors. It doesn't go deeply into template magic like "Modern C++ Design" but does teach you how to use the rest of the language in a fairly modern way. Some of the other books in the "C++ In Depth" make a good follow-up to TCPL, and are reasonably cheap to boot.

      PS> I've never read a "For Dummies" book :)

      --
      A deep unwavering belief is a sure sign you're missing something...
    11. Re:The C++ Programming Language by gid-goo · · Score: 1

      I like it as a learning book. Just for reference I learned C from K&R and Unix Network Programming by R. Stevens. So I like short and sweet. I can't read most language books because there's too much fluff. Stroustrup does a great job of communicating the language.

    12. Re:The C++ Programming Language by Rakthar · · Score: 1

      I think you just dried all my laundry with that spin.

      Next thing you know, buggy patches will be "good for administrators" because obviously they will test the patch, and it will fail, so that will teach them something about life. And then, a shoddily built volvo will break and cause you and your family harm, which will teach you not to buy those crappy foreign cars.

      Rationalizing screw ups as a teaching tool is just that, rationalizing. If students wanted buggy code examples, they would buy books that offered that intentionally. Excusing slopiness by saying it is useful is a pretty big reach.

    13. Re:The C++ Programming Language by drudd · · Score: 1

      I guess I'm against the idea of copying examples out of textbooks altogether anyway....

      People should be transcribing ideas, not text. A person who copies a flawed program exactly is in the same position as a person who copies a flawless program imperfectly, i.e. neither has any idea of what's going on.

      Of course this doesn't mean you should intentionally create buggy examples for students to beat their heads against (at least not in a published reference book), but students should have enough of an idea of what they're doing before transcribing to fix any problems that arise.

      Doug

      --
      Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
    14. Re:The C++ Programming Language by BoneFlower · · Score: 1

      I don't start coding C++ without first going to my bookshelf and pulling that book off it. I think I'm allergic to even starting up my IDE or running a compiler wihtout having that book within arms reach. Doesn't matter if the program is so simple I know I won't refer to any book, I just have it nearby regardless.

      C++ programmers should have one college textbook(I used deitel and deitel 3rd, but there are better by all reports), that one, and The C++ Standard Library: A Tutorial and Reference by Nicolai Josuttis.

    15. Re:The C++ Programming Language by nadamsieee · · Score: 1
    16. Re:the C++ Programming Language by Anonymous Coward · · Score: 0

      Hey now. I learned C from K&R Second Edition, and I learned C++ from Stroustrup Third Edition 9th Printing. I've got a few other books on "Practical" C or C++, but they waste too much time pretending to teach programming (without going deep enough into that to teach anything) and then don't go into enough depth on many parts of the language or standard library. When you want to know, go to the source.

    17. Re:The C++ Programming Language by HeghmoH · · Score: 1

      That doesn't make any sense at all.

      Unless somebody royally screwed up (and I did have a textbook like this once), the typos will only be in print. If there is a companion CD, the CD should have the correct version of the code.

      In that case, the newbie will be typing this code into the computer. He will make mistakes during this process. You don't need to put potentially destructive typos in the book, the human factor will take care of it! Better yet, they'll compile, it won't work, then they can go back and compare with the book and find their mistake. They still have the learning process from seeing the error message and the fix, but without the hair part. Wonderful!

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
  15. philosophical puzzlement by jejones · · Score: 4, Funny

    Overall, this is a solid book for an existing programmer to pick up C++ concepts.

    I'm not sure what books would be good for non-existing programmers.

    1. Re:philosophical puzzlement by Anonymous Coward · · Score: 0

      How about something more metaphysical?

    2. Re:philosophical puzzlement by slackr · · Score: 1

      What, you think they'll be garbage-collected? Not in C++, my friend :)

      --

      * Please do not read my signature.
    3. Re:philosophical puzzlement by EricTheGreen · · Score: 4, Funny

      Why, it's companion book, of course:

      Abstract C++ Programming

    4. Re:philosophical puzzlement by Rufus88 · · Score: 1

      I'm not sure what books would be good for non-existing programmers

      "The Design and Implementation of Duke-Nukem Forever"

    5. Re:philosophical puzzlement by Anonymous Coward · · Score: 0

      No, that book would only be good for unfunny comment posters.

  16. C++ had its day by mugnyte · · Score: 4, Insightful


    For many, this C derivative is still a daily living. Thats fine. It's powerful enough.

    These days, most people approach C++ as a way to "write fast code" or they desired to get to a lower level of the machine. Or, they know C and want to learn all about OO programming. NO harm there either, although I question all these motives.

    For the most part though, end-user applications have no need to run in C++. I know the typical exceptions are in gaming, image processing and system internals, but this is a small subset of commercial programming.

    I think elementary programming skills can be taught in C++ (i've done it), but you have to peel away so much of the language, one might as well start from C anyway, and then explain OO, and then combine the two. However, the ancestry of the syntax hangs newbies too often.

    These days, I think the same goals in being "practical" could be achieved with Java for the same (if not less) effort. Plus, one learns the concepts of Events, Interfaces and a more useful standard library.

    I've cranked out over 100K of C++ (haha, not hard to do with low-density langs) but in the end, I wish it would have been a longer-lived system. Many of our framework pieces are now part of the standard Java libraries, and we would have saved quite a bit of time.

    But I think it's time for new programmers to move on.

    1. Re:C++ had its day by Anonymous Coward · · Score: 0

      It's still the lingua franca for application development under Win32, and I would guess Linux if you're developing KDE applications. It's just that applications seem to be a smaller part of the Win32 market these days.

    2. Re:C++ had its day by FrozedSolid · · Score: 1

      Peel away the language? What are you talking about?

      I'd argue the exact opposite. Who the heck would want to program in C when you have C++? Think of all the ADTs that C doesn't provide. Vectors, Stacks, Queues. C doesn't even provide a properly abstracted string! Not to mention templates; I often hear lack of templates as a serious complaint against java.

      Java is a whole new can of worms. IMHO, language-wise, it provides a lot of things that C++ lacks. However, you have the overhead of running the Java VM, which has a track record for being bloated, cpu-intensive, and memory intensive. For end-user apps, i wouldn't want them to be stuck running the VM.

      --
      When all freedom is outlawed only the outlaws have freedom
    3. Re:C++ had its day by Anonymous Coward · · Score: 1, Insightful

      What motives are you questioning, exactly? If I have to write a middleware daemon that has to handle thousands of requests simultaneously, I'm going to pick C/C++ every time. If I have to talk to some other middleware product, there's never a question that they have a C-based api.

      Why is it that everyone is so quick to jump on the "C/C++ is dead" bandwagon and insist that Java/C#/Whatever is the "best" way to go simply because it has more "object-oriented-ness" built into its core than C++ does? As far as C++ goes, it's as object-oriented as you want it to be; don't like multiple inheritance? Don't use it. Don't feel comfortable remembering that you should delete what you new? Fine, make everything either a member or stack-based.

      Only C and C++ offer the most in terms of power and flexibility, but with the unwritten rule that *you* have to take responsibility and decide what is the "right" way to use it; there's no one to hold your hand and what you get in return is a language that gets out of your way and lets you solve the problem, not hold you back because someone else decided you were too stupid to figure it out.

    4. Re:C++ had its day by enjo13 · · Score: 1

      I do agree that C++ as an application programming language is nearing it's apex, but the VAST majority of application development is still done in C++.

      In certain discplines (handheld/cellphone development) it's an absolute neccesity. The other tools simply don't exist or lack the support needed to be truly useful.

      --
      Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
    5. Re:C++ had its day by Brandybuck · · Score: 2, Insightful

      Rule One: The closer you program to the "metal", the closer to the "metal" the language you use needs to be.

      Ever seen a workable kernel or device driver written in Java? Of course you haven't! You get down to the that level and you'll see C interspersed with assembly. Move up a step to low level system software and it's all C with a smattering of C++. You don't find mid to high level languages until you get to the application level. (I'm not counting high level interpreted languages performing remedial scripting duties).

      --
      Don't blame me, I didn't vote for either of them!
    6. Re:C++ had its day by be-fan · · Score: 1

      Not really. By all accounts, Lisp-family languages are high-level, but various Lisp derivatives have been used to program OSs and drivers before.

      --
      A deep unwavering belief is a sure sign you're missing something...
    7. Re:C++ had its day by Anonymous Coward · · Score: 0

      Some ADTs for C would be nice, but do you need a full blown object oriented language to do it? Yes, C++ does things that C doesn't, but do you need everything that C++ does? I don't. Given the choice, I'll either use C and code my own ADTs (which isn't that hard if you know how they work, or have your own library of them), or I'll go all the way to a higher-level language like Python or Java.

      Not to mention your argument about the Java VM applies equally to C++. Why C++ when you can do Java? You say because the VM incurs overhead. Why C when you can do C++? It could be said, "Because C++'s runtime library incurs overhead."

      To me it seems like C++ is sitting in a place where it can do a lot of things, but it doesn't do any of them as well as other languages. It seems like a kind of jack-of-all-trades-master-of-none language. But why bother with that when you can mix and match your languages. You can do your high-level programming with Java or Python, and use C code when you need low-level access or extreme optimization. Where's C++ sit if you can do things like that?

      C++ was fine for its day, but nothing says that its day will last forever. If there are better options available, then what's wrong with saying a fond adieu to our old friend C++, and moving on?

    8. Re:C++ had its day by Anonymous Coward · · Score: 0
      Vectors, Stacks, Queues?

      I have had a set of libraries to handle those constructs for years. In fact, I have had better luck writing OO code in C than in C++. All it takes is a little self discipline.

      I've been programming for 20-some-odd years and believe that S370/Assembly is more intuitive (and consistent) than C++.

      Anonymous Kev
      Proudly posting as AC since 1997

    9. Re:C++ had its day by mattgreen · · Score: 1

      This is a book review, not a discussion of C++ itself.

    10. Re:C++ had its day by Imperator · · Score: 1

      I disagree with 90% of what you say, but I do think you hit on one point well: C++ is too big of a language to use when teaching the concepts of programming. But then, so is Java: you shouldn't have to teach OO before you teach about variables, conditionals, and loops. I think the best way to teach programming is to start with a scripting language that has a simple syntax. I personally would try Python. (Because I'm more comfortable with Perl, I almost never use Python myself, but think how easy it would be to teach someone to program in Python compared to C++.)

      --

      Gates' Law: Every 18 months, the speed of software halves.
    11. Re:C++ had its day by cSnoop · · Score: 1

      Cellphones tend to move towards J2ME and with handhelds and cellphones merging rapidly I think J2ME will win over C(++).

    12. Re:C++ had its day by Screaming+Lunatic · · Score: 2, Insightful
      For many, this C derivative is still a daily living. Thats fine. It's powerful enough.

      Funny how you use "C derivative" in a derogatory way. You can also call Java, C#, Python, PHP, and Objective-C "C derivatives" too. They all use the same syntax style.

      For the most part though, end-user applications have no need to run in C++. I know the typical exceptions are in gaming, image processing and system internals, but this is a small subset of commercial programming.

      We'll ignore the fact that the browser, office suite, instant messenger, IDE, mp3 player, image editor and desktop is most likely written in C++ if not C.

      I think elementary programming skills can be taught in C++ (i've done it), but you have to peel away so much of the language, one might as well start from C anyway, and then explain OO, and then combine the two.

      That's how C++ is currently taught and is not the way it should be taught. This is the hello world program newbies should see.

      #include <iostream>
      class Output
      {
      public:
      Output()
      {
      std::cout << "Hello World\n";
      }
      ~Output()
      {
      std::cout << "Goodbye World\n";
      }
      };

      int main()
      {
      Output output;
      return 0;
      }
      Unfortunately it is not because the people teaching C++ think just as you think. That C++ is just a strongly typed C.

      These days, I think the same goals in being "practical" could be achieved with Java for the same (if not less) effort. Plus, one learns the concepts of Events, Interfaces and a more useful standard library.

      With respect to Events and Interfaces. Functors are much more powerful and generically useful than Events. Abstract base classes in C++ are the same thing as Interfaces in Java. Same concept, different syntax.

      With respect to libraries. Have you used the STL? Have you used Boost? Have you used Loki?

      I've cranked out over 100K of C++ (haha, not hard to do with low-density langs) but in the end, I wish it would have been a longer-lived system.

      I call B.S. From the rest of your post it seems like you don't even have a basic understanding of C++. Seems like you treat it like a strongly typed C with this fangled class thing.

    13. Re:C++ had its day by fredrik70 · · Score: 1

      yes, but not a *standard* lib for these things.

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
  17. learner's library by falconed · · Score: 1
    This book has been out for a few years; what books would make more sense today for a C++ learner's library?

    VB for dummies.

    Unfortunately, I'm only half kidding. Seems like most budding programmers I meet nowadays just want to take the fast route to a nice salary and don't care to learn how to write code well. A low level langage like C++ is definitely not for them.

    --
    USE='clever' emerge -u sig
    1. Re:learner's library by Anonymous Coward · · Score: 0
      most budding programmers I meet nowadays just want to take the fast route to a nice salary and don't care to learn how to write code well. A low level langage like C++ is definitely not for them.

      and VB is all that much higher level?

      don't get me wrong, i'd rather be writing VB than assembler, but from what i've seen of VB.NET so far, i'm not too impressed. it's got a respectable standard library, which is handy, and it does OO (though i haven't yet really learned just how well), but...

      it's got (mostly) static typing, lots of people and reference works tell you to turn on the #pragma-like thingy that makes it even more static. it lacks a proper numeric stack, or even anything vaguely resembling one - it's more like C in how it makes you keep track of the sizes of everything and convert numbers to different-numbers by hand. the standard set of datatypes don't impress me as very high-level (though at least they all seem properly OO; i can do a .ToString on a number, which is nice whenever the language won't do it for me). i haven't gotten very far into it yet, but i'd be surprised to find list comprehensions or any real functional-programming tools in there.

      idunno, maybe it's just that i'm so thoroughly spoiled by Python that no lesser language than it can excite me any longer. VB, certainly, seems decidedly bland, no better than Java in my opinion.

    2. Re:learner's library by rjshields · · Score: 2, Informative

      A low level langage like C++ is definitely not for them.

      D'oh!

      All the books I've read have told me that C++ is a high level language! I must be reading the wrong books!

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    3. Re:learner's library by jtwJGuevara · · Score: 1
      Unfortunately you are correct.


      I just graduated from an Information Systems program in which programming was introduced to us using VB6/VB.NET. This is fine and all, but not a whole lot of emphasis was made by faculty in getting students to go out and learn another language after gathering a background in VB. As a result, a lot of people have graduated with very minimal programming expertise and have fell flat on their face in the job market

      .

  18. My favourite book is... by xiox · · Score: 4, Informative

    An excellent book is Accelerated C++ - Practical programming by example (Koenig & Moo). It only weighs in at 340 pages, but really helps the beginner to use things like the STL. It doesn't start off teaching basic C, but leaves pointers out until much later, and concentrates on using the STL data types.

    1. Re:My favourite book is... by Anonymous Coward · · Score: 0

      I like it too. Wish there were more like this. And wish there was some book which could pick up where this one leaves off.

    2. Re:My favourite book is... by lelitsch · · Score: 1

      I agree for the most part. It's reasonably small, very clearly written and it is one of the few that doesn't start by teaching C and then telling you to forget most of what you know when they switch to C++.

      The only thing that rubs me the wrong way is the stupid framing program in Chapter 1 and 2. I mean _come_ on_ writing a program to frame text output on an ASCII terminal? They should really be able to come up with a better example.

    3. Re:My favourite book is... by ibeleaf · · Score: 3, Informative

      If you're interested in Accelerated C++, make sure you get a newer revision -- lots of errata in earlier copies:

      See http://www.acceleratedcpp.com/details/errata.html for a listing.

      I just ordered this from Amazon.ca... hopefully their copy is newer!

    4. Re:My favourite book is... by Lima1 · · Score: 1

      Yes, absolutly. We had this book in our first semester. I was a bit lazy, but 1 year later, I had to programm a lot of stuff in C++. I used only this book and I got very kind feedback about "my" nice and elegant code. It was cnp in most cases from this book. only 340 pages, but found nearly everything I needed...if you go deeper and want to write libraries, buy "modern c++ design"

    5. Re:My favourite book is... by be-fan · · Score: 1

      After that, I recommend Alexanderscu's "Modern C++" followed by the good old D&E.

      --
      A deep unwavering belief is a sure sign you're missing something...
    6. Re:My favourite book is... by abigor · · Score: 2, Informative

      "Modern C++ Design" is an absolute mind-bender. I don't know if I'll ever use some of that stuff - I find doing singletons the old-fashioned way works for me, quite frankly - but it sure has opened my mind. That typelist stuff - whew. And just when you thought you knew everything about smart pointers...

      What I've taken away from that book is the incredible power and elegance of policy-based design. Every working C++ programmer should understand it, I think.

  19. Re:I feel bad by Anonymous Coward · · Score: 0

    Depends on whether you're talking to a GNOME or KDE guy ;)

  20. +1 Informative?!? by Anonymous Coward · · Score: 0

    Are the mods higher than usual today? Jesus Christ, +1 Funny I could almost - almost accept, but Informative?!?

  21. Another Question by Anonymous Coward · · Score: 0, Offtopic

    What are you planning on having for supper?

    1. Re:Another Question by gregarican · · Score: 0, Offtopic

      Warmed over pizza with a Mexican beer or two. Next question please...

  22. practical? by beforewisdom · · Score: 4, Funny
    Any IT book that is over 900 pages should NOT have the word "Practical" in its title. IMHO

    Steve

  23. This book has been out a few years.. by osullish · · Score: 5, Funny

    Next review, punchcards in a nutshell (It being an O'Reilly book will have a T-Rex on the cover) :-)

    --
    It's hard enough to remember my opinions, never mind the reasons for them..
    1. Re:This book has been out a few years.. by Perl-Pusher · · Score: 1

      Learn x86 Assembly in 10 minutes.

    2. Re:This book has been out a few years.. by Anonymous Coward · · Score: 0
      segment code
      mov ax, 0x0a
      mov cx, 0xFF
      xor cx, ax
      pusha
      Really, there's not that much to it.
  24. Out of stock in the stores - available online by prostoalex · · Score: 2, Informative

    This book is available on Safari for subscribers. Cheapest subscriptions start at $10/month. If you're not a subscriber, you can still read the first few sentences of each chapter and section.

  25. Third question by Anonymous Coward · · Score: 0, Offtopic

    Do you like answering questions?

    1. Re:Third question by gregarican · · Score: 0, Offtopic

      Yes. It justifies my existence and provides me with an exaggerated sense of self-importance. Next question...

    2. Re:Third question by The+Almighty+Dave · · Score: 1

      If a train leaves pittsburgh traveling west at 20 mph, and a train leaves denver traveling east at 30 mph , on the same track, where will they collide?

    3. Re:Third question by Anonymous Coward · · Score: 0

      Somewhere in Northeast Iran?

  26. My favourite C++ introduction book by 3Daemon · · Score: 3, Informative

    I just had to read up on C++. I'm no expert programmer, but having experience from C and Java (in addition to having learnt the basics of Object-Oriented methodology) I wanted a book that didn't try too hard to explain everything from the bottom.

    I found C++: The core language from O'Reilly incredibly useful in this respect. In its 200 pages, it might not cover every aspect of C++, but it will give you enough to go on so that you can start using the language. Being short and focused, it will give you a good understanding of the basics a lot faster than any larger book could, IMHO.

    1. Re:My favourite C++ introduction book by Cliffm · · Score: 1

      I have this book, and found myself reading it recently. I think this book is incredibly dated, with examples that use #include .h>.

    2. Re:My favourite C++ introduction book by HuguesT · · Score: 1

      Unfortunately this book shows its age and the code used in it is not ISO/ANSI compliant. As such a student using a modern compiler would have a very hard time with it. It really needs a new edition.

      The other O'Reilly C++ books are not very good either. Currently the best introductory C++ book is the Koenig/Moo referenced earlier. It jumps right in the modern way of using C++ (lots of templates, STL all the way, classes and OO take a secondary and advanced role, as few pointers as possible).

  27. anothe rone by Anonymous Coward · · Score: 0

    Practical Abacus

  28. any book with "C++" shouldn't have "practical" by Anonymous Coward · · Score: 0

    The only successful C++ project was Mozilla.

    1. Re:any book with "C++" shouldn't have "practical" by Anonymous Coward · · Score: 0

      Yeah, like nothing else written in C++ has ever been a success - MS Office, KDE, Photoshop, etc.

      Idiot.

    2. Re:any book with "C++" shouldn't have "practical" by Anonymous Coward · · Score: 0

      Or even much of MS Windows itself? That code looked remotely C++ to me anyway ;)

  29. *pure* beginner book? by errtega · · Score: 1

    every single book i pick up or have someone suggest always has a prerequisite of some programming background. i'd like a C++ book (or maybe a general programming book?) that does not assume i have ANY experience in programming. i'd like to learn from the very first step, instead of starting somewhere in the middle. sure i can pick up the basics while still starting from the middle, but i'd like to build a solid foundation first. anyone?

    1. Re:*pure* beginner book? by xoran99 · · Score: 1

      I once had QBasic for the Absolute Beginner, which was my first programming book, that seemed to be good for this kind of thing... IIRC, C for Dummies also was a good introduction for a nonprogrammer. I've never had a C++ book, so I can't recommend any.

      --

      Karma: Bad (mostly due to all those "In Soviet Russia" jokes)

    2. Re:*pure* beginner book? by simonyau · · Score: 1

      every single book i pick up or have someone suggest always has a prerequisite of some programming background. i'd like a C++ book (or maybe a general programming book?) that does not assume i have ANY experience in programming. i'd like to learn from the very first step, instead of starting somewhere in the middle. sure i can pick up the basics while still starting from the middle, but i'd like to build a solid foundation first. anyone?

      Seems that C++ may not be a good choice for the first programming language. Try look for books in basic or pascal would be easier. After getting some knowledge from basic or pascal will make u much easier to learn C++. just my 2 cents.

    3. Re:*pure* beginner book? by kilgortrout · · Score: 2, Interesting

      I don't know if it's still available, but my first programming book was: "C++ How To Program", by Deitel/Deitel which was originally published in 1994. It's an excellent book and if it's been republished/updated, might be worth a look. It's designed for people with little or no programing experience.

  30. Wrox by Anonymous Coward · · Score: 1, Insightful

    I know these guys are usually MS weanies, but they have a couple of good C++ books by Ivor Horton.

    I have "Beginning C++"
    One day when I get a break from Java, I will actually start reading it.

    The Bjourn Stroustrap stuff is excellent too. Should be since he is one of the leading proponents of OOP on C and helped define how C++ works.

    I only know how to write "Straight" c and need to learn this stuff.

    l8,
    AC

    1. Re:Wrox by rjshields · · Score: 1

      The Bjourn Stroustrap stuff is excellent too.

      Don't let Bjarne hear you spelling his name like that - he'll have a field day.

      I digress. Yes, his book The C++ Programming Language Special Edition is excellent, if a little hard going in places. If you really want the nitty gritty and have some space on your bedside table, this book is for you!

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
  31. Book sounds bad; read Accelerated C++ by afay · · Score: 4, Interesting

    From this review, this book sounds horrible. I can't stand books that:

    1.) Don't have a clear target audience (from the review it sounds too easy and too little details for a programmer and yet too hard for a complete beginner)

    2.) Seem like the author was paid by the page. Really, even for a complete novice, a well written book can teach C++ in less than 300 pages.

    Conclusion: Don't buy this book.

    That said, I really like Accelerated C++ for a novice programmer. The authors obviously know their stuff and it's very clear and concise. Lot's of good (not pointless little toy programs) examples that are clearly explained. Also, an example is built throughout a chapter so you don't have to comprehend everything at once. Finally, and this is the best part, STL is used from the beginning. Why save the best part of C++ for the end?

    Amazon link: Accelerated C++

    --
    Best slashdot comment
    1. Re:Book sounds bad; read Accelerated C++ by etrusco · · Score: 1

      Why doesn't anyone in /. ever link to BookPool?

  32. For templates there is one excellent book by Chuchi · · Score: 3, Insightful

    C++ Templates The Complete Guide by Vandevoorde and Josuttis (ISBN 0-201-73484-2, Addison-Wesley) is an absolute must for anybody wishing to use templates (or discover new areas where to use templates).

    The book talks about all the aspects of templates, has plenty of clear examples.

    Apart from this I would not suggest the Stroustrup book for learning C++, but it is excellent as a reference manual.

    --
    Chuchi
  33. MOD PARENT UP - NOT TROLL by qui_tollis · · Score: 1

    The review is of a book that is supposed to be suitable, not just for C++ experts, but also novices. Whether you agree with it or not, it's not out of place to state the opinion that C++ may not be an appropriate tool for much commercial programming.

    1. Re:MOD PARENT UP - NOT TROLL by SchroedingersCat · · Score: 1

      Of course it is troll provided C/C++ was used in the development of most of the commercial software that exists today.

    2. Re:MOD PARENT UP - NOT TROLL by Anonymous Coward · · Score: 0

      You say it's a troll, but I say it's a sacred cow. Look at the reponses. They're all religious in nature. They either lack logical claims, or logical claims have been made, and logical responses to those have been ignored. I think the top poster hit on an issue that people don't want to discuss, so they mark it as troll, make their reply, and then forget about anybody that wants to actually talk about it.

      I am seriously curious as to what's wrong with saying goodbye to C++. What does it still do that other languages don't?

  34. Copy of a stupid article by Animats · · Score: 2, Informative

    The above rant was copied from here.

  35. Enough with C++/C/Java books! We need wider topics by Anonymous Coward · · Score: 5, Insightful

    Isn't it time we start seeing reviews of books other than C/C++/Java/Perl/C#/HTML?

    I am a hard core C++ person myself, but even I am fed up with the series of similar books on these PLs.

    There are many other topics in programming that deserve better attention by the /. developer community. Examples from the top of my head:

    Books on

    - Code optimization techniques (both for C/C++ & assembly level and optimization for web programming and DB programming)

    - Algorithms and data structures - this one will never go away whatever high level garbage collecting foolproof language/framework you end up using.

    - Software design topics (design patterns and its relatives, UML, alternative paradigms such as extreme programming)

    - Software project management topics ...

    Come on people!

  36. about the title by Tumbleweed · · Score: 2, Funny

    'Practical' and 'C++'...something's not right there. :)

    1. Re:about the title by pavon · · Score: 2, Insightful

      Actually practicality is the only thing that C++ has going for it. It certainly is not the most elegant language, or the easiest to learn, or the fastest to write, or the least prone to programming errors. But it is powerfull and efficient, which is why it has been such a practical, popular language.

  37. Here's my recommendation by Anonymous Coward · · Score: 0

    If you are seriously considering programming in C++ you should definitely check out this book.

  38. suggestion by b17bmbr · · Score: 1

    (This book has been out for a few years; what books would make more sense today for a C++ learner's library?)

    Teach Yourself Java in 21 days

    ducks

    --
    My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    1. Re:suggestion by Anonymous Coward · · Score: 0

      The funny thing is that I learned C++ out of a Teach Yourself in 21 days book, it was actually pretty good. Then again I was in jr high and I had my dad around to learn from.

      Of course just understanding the language is such a small step in programming. You then have to learn about data structures, algorithms, design principles, etc. Just like understanding english doesn't mean you have anything to say.

    2. Re:suggestion by cagle_.25 · · Score: 1

      I actually read it (ducks twice) and learned some Java from it ... and then went back to C programming.

      --
      Human being (n.): A genetically human, genetically distinct, functioning organism.
    3. Re:suggestion by b17bmbr · · Score: 1

      sorta off topic, but as i've been doing some things with python lately, and i think that in a few years, python will replace java and even c++ as a ubiquitous language. c++ is prone to too many errors (memory leaks, platform dependencies, etc.) and java is stuck with that ugly bastard called swing. processor peformance is such that the real difference between compiled and interpreted languages (and python compiles to byte code when you create python classes) is becoming much smaller. even .NET is like that. and python is platform neutral, and can access every gui, (though i don't know about windows MFC). and since python, and perl, are often just a wrapper for C calls anyways. just my thoughts.

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
  39. For todays C++ programmer? by Anonymous Coward · · Score: 0

    "Introduction to Java" probably makes the most sense. Seriously, what few jobs in IT that seem to be out there right now all require knowledge of Java. Of course, C++ will still have its place for a long time to come for embedded devices, lower-level coding, etc.

  40. Good Book. by rendelven · · Score: 1

    I think it's a good book. It was the 2nd C++ book I bought and served me well. It did it's purpose, and for that I say it's worth the money I put into it. :) It did go into a lot of things my previous book hadn't even mentioned. I agree with the reviewer that the STL information was a little lacking.

    --
    R.
  41. Rob McGregor by proverbialcow · · Score: 1

    I wonder if the guy who wrote this book is the same Rob McGregor who wrote all those bad Indiana Jones books in the 90's.

    --
    The only surefire protection against Microsoft infections is abstinence. - The Onion
  42. thx by Anonymous Coward · · Score: 0

    if (this == theWalrus) {

    Goo::Goo(&gooJoob);

    }

  43. Stroustrup Book by Black-Man · · Score: 2, Insightful

    It obviously is the bible... but I feel is more of a reference. I keep it on my bookshelf and use it often as a reference... there is no way you can sit down and read this like a text book. Way too dry.

    1. Re:Stroustrup Book by ArmorFiend · · Score: 1

      Heh, you're talking to a guy that read Common Lisp The Language from cover to almost-cover. Yes, for a good 1.5 years I had no problem going to sleep, I'd just read about three pages and then fall asleep with the book on my chest. And after the 1.5 years, damn if I didn't know Common Lisp well. Every 300 pages or so he'd throw in a joke, usually about teenage mutant ninja turtles, just to see if you were still with him.

    2. Re:Stroustrup Book by happyfrogcow · · Score: 1

      It is a great reference. But it is also a good read. The last few chapters particularly give good reason why to do certain things and not do other things. Bjarne's insight is without a doubt worth every penny you spend on this book.

      And to address the grandparent post:
      If you can afford the special edition I recommend it, though I think the additions are available on his website if you get the 3rd edition instead.

      The papers and interviews on his website also have vast amounts of good C++ info. He is the definitive source on C++ wisdom and intelligence.

    3. Re:Stroustrup Book by be-fan · · Score: 1

      Jesus man. That's some intestinal fortitude! Myself, I went the easy way out and bought myself a copy of Graham's "ANSI Common Lisp." The man is quite a good writer, and the book is about 1/3 the size of CLTL.

      Of course, I'm wading through Norvig's PAIP now (got a nice deal on both together at Amazon). Now that's a book which isn't exactly an easy read...

      --
      A deep unwavering belief is a sure sign you're missing something...
    4. Re:Stroustrup Book by JewFish · · Score: 1

      TC++PL its not dry, its chunk full of insite. I wouldn't recommend it for beginners though. I read it, even got mine signed by the man.

  44. Why you young whelp! by Thud457 · · Score: 2, Funny
    There's no underestimating the contribution that the C language has made to computer science.

    C invented the dangling pointer. And it put the buffer overflow on the map.

    Kids these days. You have everything we worked hard for handed to you on a silver platter. You have no idea where these concepts even originated. PHAH!

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  45. 900 pages, 900 pages ... by torpor · · Score: 1


    personally, i often wonder, think, whether or not its useful to consider that by the time someone gets to writing 900 pages about a computer language, that language has become crap.

    or, at least, crufted, which everyone knows is on its way to crap.

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  46. If you wish, Mod as Troll by use_compress · · Score: 1

    Why do we need more books on Practical C++? The language itself is very practal and just about every intermediat book on the langauge emphasizes these aspects. What we really need is books that emphasize the practical aspects of languages that aren't used commonly in practice--- Practical Python, Practical Haskell, etc...

    1. Re:If you wish, Mod as Troll by Anonymous Coward · · Score: 0

      Why would there be a Practical Haskell? I can't see that language as being practical for anything beyond showing off how smart you are for writing a recursive function or to make some mandelbrot graphs.

  47. learn from the gaming industry by Tekmage · · Score: 2, Interesting

    My personal favorite is C++ for Game Programmers.

    It's not a general-purpose book and not for the complete beginner, but it dives deeper into when and why to use different programming styles and structures.

    --
    --The more you know, the less you know.
  48. Re:Only used copies at BN. by Anonymous Coward · · Score: 0

    And, of course, you just had to sneak your little referral into there didn't you, kingdeal06?

  49. This is ridiculous by rqqrtnb · · Score: 0, Troll

    I tried writing a program using C++ and it didn't even do anything. When I write programs in Visual Basic (The Pro Version) they almost always work pretty well. Obviously, C++ has some serious problems. Besides that I can easily get lots of sample programs that I can modify to suit my needs. I saved my company thousands of dollars by making some simple changes to some sample programs to make a program to track the employees I manage time and attendance and print out weekly reports. I did this in only a couple of days of work. Who knows how long that would take with some obscure programming language like C++? Probably 6 to 8 months, I would guess.

    1. Re:This is ridiculous by rjshields · · Score: 1

      I tried writing a program using C++ and it didn't even do anything.

      D'oh! Did you remember to compile and run it?

      When I write programs in Visual Basic

      I sense some important information coming here..

      (The Pro Version)

      But of course, would one consider anything less?

      they almost always work pretty well.

      Good heavens above!

      Obviously, C++ has some serious problems.

      Well, given your prior argument, I would take that as read!

      Besides that I can easily get lots of sample programs that I can modify to suit my needs.

      This is revolutionary!

      I saved my company thousands of dollars by making some simple changes to some sample programs to make a program to track the employees I manage time and attendance and print out weekly reports.

      You did what?!! Quick! Someone nominate this man for an oscar!

      I did this in only a couple of days of work. Who knows how long that would take with some obscure programming language like C++?

      A couple of days??!! Most of us can't even write a VB For Each loop in that time!!!

      Probably 6 to 8 months, I would guess.

      Naturally, but I suppose people familiar with such obscure languages as C++ would do so in much less.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    2. Re:This is ridiculous by BoneFlower · · Score: 1

      Two weeks tops for a simple program as you describe in C++. Though, C++ wouldn't be my first language of choice anyways for that- too simple to take advantage of its strengths. That project, as it seems you already are a MS shop, I'd do as an Access database project. build some report formats, some VBA maybe to do tie it together, day or two and you'd have something far more powerful than a custom hack of some VB example program.

      That sounds like a fun program to code in Perl. Would be fairly easy to do so, evn with a GUI.

    3. Re:This is ridiculous by Anonymous Coward · · Score: 0

      That's nice. If you weren't a fucking idiot you'd realize any intelligent person would replace you with a very small shell script.

  50. Re:Microsoft and Cthulu? by Anonymous Coward · · Score: 0
    Hahahah that's awsome!

    BTW, it's <A HREF=" http://my link goes here "> link name </A>

  51. one more by Anonymous Coward · · Score: 0

    Cuneiform for Dummies.

  52. You can't be serious. by stonecypher · · Score: 4, Informative

    The Que book is littered with omissions and errors. If you want to learn C++, start with the free Bruce Eckel e-book Thinking in C++, then move on to the Meyers trio, the Sutter pair, Gang of Four, Dewhurst, Alexandrescu, then Agile Software Development, in that order.

    See Accu's booklist, EfNet #c++'s book list, or Yechiel Kimchi's list of bad books for opposing opinions.

    --
    StoneCypher is Full of BS
    1. Re:You can't be serious. by Anonymous Coward · · Score: 0

      A good set of books(I have all but the last) on C++ but I think that after you go through Eckel's book you might want to focus on data structures and algorithms a bit before you move on to the more advanced C++ bit. (I didn't start with Eckel's book so I don't know all that he covers)

      For a more advanced reader I'd also highly recomend "The Design and Evolution of C++", "Inside the C++ Object Model" and "Generic Programming and the STL". The first two help you understand why C++ is where it is today and how it works under the hood. The STL book gives a good understanding of the philosophy of the STL and how it all works together and then has a good reference of the STL.

  53. How does this compare to... by Malc · · Score: 1

    ... having Stroustrup's "The C++ Programming Language" + Meyers' "Effective C++" and "Effective STL" on one's bookshelf? It doesn't sound like it's good for a novice. As I have the three books mentioned, why would I be interested in another 900 page tome of which the first section (novices) is irrelevant, and the third section (STL) is sub-standard, according to the review?

  54. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by cluckshot · · Score: 2, Funny

    Except for all other languages...

    --
    Never Politically Correct ~ I prefer the facts If you don't like what I say, get a life, or comment yourself.
  55. Re:I feel bad by Anonymous Coward · · Score: 0

    Is this the same person posting this "joke" to every article? Whats the origin of it? It pales in comparison with "In Soviet Russia...", "4. Profit!", and the one about Stephen King dying which used to be posted all of the time.

  56. Everything you ever wanted to know about C++... by witlessbird · · Score: 2, Informative
    But where afraid to ask:

    "The C++ Programming Language" by Stroustrup

    "Effective C++: 50 Specific Ways to Improve Your Programs and Design" by Meyers

    "More Effective C++: 35 New Ways to Improve Your Programs and Designs" by Meyers

    "C++ Templates: The Complete Guide" by David Vandevoorde

    --

    ... if you put into the machine wrong figures, will the right answers come out?
    1. Re:Everything you ever wanted to know about C++... by cjhuitt · · Score: 1
      • "The C++ Programming Language" by Stroustrup
      • "Effective C++: 50 Specific Ways to Improve Your Programs and Design" by Meyers
      • "More Effective C++: 35 New Ways to Improve Your Programs and Designs" by Meyers
      • "C++ Templates: The Complete Guide" by David Vandevoorde

      Don't forget
      • "Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library" by Meyers.

      Also, and this may just be me, I've found books by Deital & Deital to be very good references for many languages. They are layed out so they can be read from front to back, but I usually prefer skimming the points about what I'm trying to learn.
  57. Is C++ useful? by Anonymous Coward · · Score: 0

    I started college five years ago now, and in that time I've used C, Java, Python, PHP, Objective C and C# for significant projects. For classes I've also used MIPS and 68HC11 assembly, Haskell, COOL, and Fortran. I've even glanced as Lisp and (probably thanks to my Haskell and Python experience) found it to be an interesting language.

    What I haven't used is C++. I used it once in a toy program I made, just to see what is was like. Since then I've never considered using C++ again. I really don't see the point when everything that C++ can do, one of the other languages I've used can do it better. I'm curious, what is the kind of application that I have not seen that C++ is the logical choice for?

  58. Re:Microsoft and Cthulu? by Anonymous Coward · · Score: 0

    Thanks. I'm used to vbulletin so I always fuck up the tags

  59. Computer Book Library Thread by panker · · Score: 1

    As far as computer books one needs. This discussion lists some interesting ones.

    --
    move along, nothing to .sig here.
  60. Why such a fat book? by Animats · · Score: 1
    What is this mania for 900-page books on programming languages? The original ALGOL-60 report was 19 pages. The original Scheme report was about 25 pages. Both were far more readable than the bloated trade paperbacks we have today.

    We need short books that read like this:

    • Collection classes

      The standard template library (STL) provides useful collection classes. These make it easier to build common data structures. Arrays of variable size "vector"), lists ("list"), and key/value pairs ("map") are provided.

      Collection classes are provided as templates, so a collection of any desired type can be created. The type must be copyable ("operator=" must work), as objects are copied into the collection.

      Some basic operations are provided for all collection types. [TABLE]. Each collection type also has its own operations.

      Collections are not entirely safe. "vector" is not protected against subscripting out of range, and "list" is not protected against modification while iterating over the list. Checked versions of the STL exist, but are rare.

      vector

      "vector" creates a resizable array with elements of "typename". Elements can be added to the vector, which causes the vector to grow. This involves memory allocation and copying, so there's a performance penalty, but growth is managed reasonably efficiently by allocating some extra space at each growth.

      "vector" offers the expected operations for a resizable array: [TABLE] ...

    All that verbiage just confuses people.
    1. Re:Why such a fat book? by Anonymous+Brave+Guy · · Score: 1
      All that verbiage just confuses people.

      I take your point, and I agree with it. However, I note that your own description also contains several significant technical errors, if only by omission in most cases. Complex and powerful tools require a certain level of detail to explain them, and while I certainly agree that you can go too far (and ~1,000 pages is probably some way too far here) you can also go too short (e.g., Accelerated C++, while generally very good, almost completely ignores exceptions). As ever, there's a balance to be found, and the best book won't be the longest or the shortest, but the one that gets that balance right.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re:Why such a fat book? by BoneFlower · · Score: 1

      Vector does provide range checked subscripts via the "at()" member.

    3. Re:Why such a fat book? by Animats · · Score: 1
      Complex and powerful tools require a certain level of detail to explain them,

      It's not complexity or power. It's C++'s unusual combination of hiding and lack of safety.

      This particular problem is unique to C++. C has neither hiding nor safety. Smalltalk, Java, Perl, and Python have both hiding and safety. C++ is the most complex programming language without memory safety.

      (Incidentally, this is not due to the "power" of C++. It's due to some legacy design mistakes. C++ could be much safer, although retrofitting such safety without breaking existing code is very hard. I've tried; see my notes in "comp.std.c++.")

    4. Re:Why such a fat book? by HeghmoH · · Score: 1

      Larger books are a result of using a language that is roughly sixteen zillion (yes, that is a technical term) times more complicated than Scheme or Algol-60.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
  61. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by Mr+Smidge · · Score: 3, Funny

    Pah!

    C and C++ combine all the raw speed and power of assembly with all the grace and smooth design of assembly.

    (I heard that somewhere - don't know the original source).

  62. Go Stroustrup by Mr+Smidge · · Score: 1


    Any author whose surname practically *is* a C string library function name gets my vote ;-).

    1. Re:Go Stroustrup by Tim+Browse · · Score: 1

      I remember a few years back on usenet, there was a guy called Fred Read active on the C groups (he possibly still is) whose signature went along the lines of "F.Read - how many people do *you* know whose name is also a C function?"

      After a certain period of time there was a reply addressing that question from a Scandinavian fellow named Mr Scanf :-)

  63. Obvious by Anonymous Coward · · Score: 0

    What book should you get to learn C++ ?

    Obvious - Straustrup's "The C++ Programming Language".

    What else do you need ????

  64. Baited by Anonymous Coward · · Score: 0

    You should NEVER judge a language by your own limited use of it. C++ is just not the tool for you to do some quick code monkey job.

    Come on, the kind of software you just described is most likely to be some cs undergrad homework. It's all about using "the right tool for the job"(tm).

    Can you imagine running this application for a company with 50 thousand employees? The overhead in VB is quite a problem now, isn't it?

    Oh, well, I admit it: baited!

  65. The hard "but best" way to learn C++ by Anonymous Coward · · Score: 0

    If you really want to understand C++ you should invest the time to learn C from Kernighan and Ritchie's "The C programming Language" Then pick up Bjorn Strostroup's C++ design book and finnaly Bjorn's C++ programming guide. In these great tombs are all you'll every need to know to use C and C++ effectively.

  66. Re:C++ had its day...and it is today by dmeranda · · Score: 5, Insightful

    I find that those who write off C++ really don't know the language, or at least the "modern" standardized language. C++ is incredibly powerful, and if you use solid OO techniques you really shouldn't have many issues with memory management. At least in C++ (as apposed to Java) the language guarantees that all destructors will be called and with well defined ordering. That allows you to use resource allocation patterns that greatly simplify memory manangement or resource issues entirely.

    Although you can compare pure Java with C++ as languages, it is meaningless to compare a Java framework/JDK such as J2EE with C++, as the former is an entire environment, not just the underlying language. There's lots of stuff that C++ does better than Java (generics/templates, destructors, high-performance containers, abstract algorithms). Not to mention that C++ is a completely standardized and *free* language, whereas Java is a fast moving pseudo non-free standard.

    Oh, and the syntax problems you complain about are not really all that different from Java, or even C#. Yes, they are each somewhat different and some have cleaner syntaxes for specific issues, but in the grand scheme of computer languages they are almost the same. And there are syntax problems with Java too which C++ doesn't suffer...they are both strongly based upon a C foundation, like C#, Javascript, etc.

    And yes, I've written very large C++ projects with many developers very successfully, and C++ has proven to be a very nice language indeed as long as you take the initial time to learn it correctly rather than out of a C++ for Dummy's tutorial.

    Now if you want to talk high-level languages (both Java and C++ are low-level of approximately the same power), then you should be talking about something like Python, or more academically Haskell. But Java is by no means a high level language, just as C++ is not.

  67. Re:I feel bad by Anonymous Coward · · Score: 0

    it's from ali g

  68. Re:An indespensible book for the next generation by AndrewHowe · · Score: 1

    I'm on the first chapter of "Colloquial Hindi" but I'm a bit stuck on the pronunciation. I didn't buy the audio tapes, because (1) they're a ripoff (costing nearly as much as the book) and more importantly (2) where the fuck am I gonna find a cassette player? If I still have one it'll be under decade-old piles of crap.

  69. Re:Guilt (off topic) by mrw28 · · Score: 1

    Why are these Powell's so good?
    Why should I/we feel guilty buying from Amazon, Barnes and Noble, Waterstones, or my local technical bookstore?

  70. Pretty good book: by russwyte · · Score: 1

    "Absolute C++" by Walter Savitch. Not too long, but very complete.

  71. But it's missing.... by herrvinny · · Score: 1

    ...Windows source code as examples!

  72. Speaking of C++ books... by spectecjr · · Score: 1

    One I saw recently in a store near Albany NY was a really really cool book aimed at people who already knew how to program C++, but which provided tricks and tactics. It included (amongst other things) a whole section on how to implement a flat-file database including variable-length records, a section on caching data, another on resource management... All really juicy hardcore technical details that I'd never seen before in a C++ book - and done in a framework-less manner.

    I was out of town for a wedding, so I didn't pick a copy up because it wouldn't fit in my carry-on. I'm really regretting this because I can't remember what it's called now. It's not C++ In Action by Bartosz Milewski (although that's a really good book).

    I've been looking through bookstores in Seattle ever since hoping to happen across it. Does anyone have any idea which book this is? I seem to remember it had a great sense of humor, and the back panel referred to it being a book for experienced/professional programmers (or something like that).

    Thanks!

    --
    Coming soon - pyrogyra
  73. Re:Enough with C++/C/Java books! We need wider top by happyfrogcow · · Score: 1

    algorithms & data structures... Knuth? not that i've read anything of his yet.

    code optimization techniques, though i have not read Knuth i do know his thought that "premature optimization is the root of all evil". that being said, knowledge of algorithms and data structures might preclude the need to micro-optimize. Hmm, am I using preclude correctly? is it even a word? preempt maybe. anyway...

    I have nothing to say on the other two topics, because I have to pee.

  74. Re:C++ had its day...and it is today by Anonymous+Brave+Guy · · Score: 1
    I find that those who write off C++ really don't know the language, or at least the "modern" standardized language.

    Perhaps more significantly, I find that those who write off C++ because only a "small subset of commercial programming" can benefit from it don't know much about the world of commercial programming.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  75. Accelerated C++ --> Modern C++ Design?! by Anonymous+Brave+Guy · · Score: 1

    Interesting perspective. Both Accelerated C++ and Modern C++ Design are very good for their intended audiences, but I'd have recommended about five or six other books and several years of experience using C++ between one and the other!

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  76. duplicitous != redundant by uncadonna · · Score: 2, Insightful

    did the reviewer really mean duplicitous as in fraudulent, or did he just mean to say redundant?

    --
    mt
  77. Accelerated C++ by CAIMLAS · · Score: 1

    As a relative noob at programming, I'd have to say that Accelerated C++ is the best C++ book I've seen, particularly in respect to OOP.

    It's a short 300-some pages, and isn't too inundating, while covering the topic properly: not from a non-OOP perspective.

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  78. Stereotype, that C/Cis "just faster" by SvendTofte · · Score: 1

    That C or C++ is "just faster", is a myth, and we should not further it. It should of course, be clear to anyone, that the language itself, makes no difference, but the implementation of said language, makes all the difference.

    From "The Practice of Programming" ( http://cm.bell-labs.com/cm/cs/tpop/ ), I quote the following numbers, the running time, for a program, doing the Markov Chain algorithm on some large input text.

    250MHz 400MHz
    R1000 Pentium LOC
    Irix 6.4 WinNT 4

    C | 0.36 sec | 0.30 sec | 150
    Java | 4.9 | 9.2 | 105
    C++/STL/dequeue | 2.6 | 11.2 | 70
    C++/STL/list | 1.7 | 1.5 | 70
    Awk | 2.2 | 2.1 | 20
    Perl | 1.8 | 1.0 | 18

    (C/C++ compiled with optimizing compilers, Java had JIT enabled)

    1. Re:Stereotype, that C/Cis "just faster" by Anonymous Coward · · Score: 0

      Excuse me, but doesn't your example of C not being faster show C being a minumum of 3X as fast as the next closest example, and roughly 37X faster than the slowest example?

    2. Re:Stereotype, that C/Cis "just faster" by Anonymous Coward · · Score: 1, Funny

      Where's Visual Basic in that list? Forth? Lisp?

      And by those numbers, if C is faster than C++, then B must be smoking fast! A comparison of B and A++ would then determine if it's the letter or the added "++" slowing down the run time.

      The author obviously has something to hide.

    3. Re:Stereotype, that C/Cis "just faster" by plover · · Score: 2, Funny

      Actually, I think it would go a lot faster without all those gratuitous commas. They really slow down the pre-parser.

      --
      John
    4. Re:Stereotype, that C/Cis "just faster" by Anonymous Coward · · Score: 0

      Hello?! You just disproved your whole point with your example... WTF?! Are you retarded?

      C is several times faster than any of the others.

      The C++ example is obviously skewed. I'd like to see their source. Often people are just lazy in C++. There is no fucking way Perl is 11 times faster than C++. There is very little difference in performance between C and C++ unless the programmer takes shortcuts.

      The thing is, C and C++ can be tuned to provide the maximum performance your hardware can give you. Most other languages eventually hit a block where you literally just can't make it go any faster without changing the internals (which are probably written in C/C++ in the first place).

    5. Re:Stereotype, that C/Cis "just faster" by rjshields · · Score: 1

      Perhaps we can also glean some information based on the relationship of B and B++ programming languages in these noteworthy benchmarks.

      Also, should we be consider the inclusion of the increasingly popular C-- and C+=1 languages?

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    6. Re:Stereotype, that C/Cis "just faster" by Anonymous Coward · · Score: 0

      So SvendTofte... What's your response?

      I see nothing more from you in this thread.

      Brain problems? Or maybe just embarrassed?

      Morons, your bus is leaving.

  79. Re:Enough with C++/C/Java books! We need wider top by Brandybuck · · Score: 1

    Gee, I wish there were more books on those topics as well! There are some skills that are rapidly becoming lost arts. Who the heck writes a linked list or quicksort these days? Who still knows how to write an efficient hash function? Most of the current crop of developers couldn't write a balanced binary tree if their careers depended on it.

    --
    Don't blame me, I didn't vote for either of them!
  80. A good online STL reference by MrTotto · · Score: 1

    While it's nice to have a book which explains stuff like STL, I've often looked for a good online STL reference where I could get a list of every function in some class, class hierarchies, etc...

    It would be nice to have a Javadoc/Doxygen-ish interface with at least a one line description of all functions in STL.

    Anyone know of such a page?

    1. Re:A good online STL reference by Moonbird · · Score: 1

      Most people I know (including me) use SGI's page.

      --

      --
      All extremists should be taken out and shot.
    2. Re:A good online STL reference by Anonymous Coward · · Score: 0

      SGI has a pretty good STL reference here. It's quite comprehensive if you're looking for a reference for the standard containers and algorithms.

  81. Re:Enough with C++/C/Java books! We need wider top by yamla · · Score: 4, Insightful

    Stop complaining and write a review yourself.

    --

    Oceania has always been at war with Eastasia.
  82. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by Anonymous+Brave+Guy · · Score: 1
    These two languages have caused more pain and suffering than any others.

    And without them, there probably wouldn't be any others.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  83. It aint so easy... by Anonymous Coward · · Score: 0

    Ever tried to take out a hit on somebody? These days you are likely to end up getting an undercover police officer and wind up in jail. If you want something done right you gotta do it yourself.

  84. About those authors... by devphil · · Score: 2, Informative
    The authors obviously know their stuff

    Most definitely... since they were part of the group that helped develop the language from the beginning. They work down the hall from Stroustrup, and they are brilliant, brilliant people.

    Koenig has done all kinds of work in almost every aspect of the language and the library (if you've ever wondered why your compiler isn't finding names correctly, that's because it isn't doing Koenig lookup properly), and Moo wrote one of the first "native code" C++ compilers ever, meaning that it doesn't translate to C before going to machine code.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  85. Other good books... by nonmaskable · · Score: 1

    Lippman/Lajoie "C++ Primer"

    Good overall intro to the language and supporting library (STL)

    Coplien "Advanced C++"

    A great "next level" book for intermediate C++ devs.

  86. oxymoron my ass by Anonymous Coward · · Score: 0

    it's a tautology :)

    All C++ is practicle damn it :)

  87. Good books by pragma_x · · Score: 1

    I cannot speak for the book mentioned in the article, but I can reccomend some other good programming books to use (for any language).

    IMO, no self-respecting OOP programmer should be without a copy of Design Patterns and The Pragmatic Programmer.

  88. Savitch books: don't do it by layingMantis · · Score: 1

    I had a Savitch book (Problem Sovling with C++)for my intro C++ class and it totally SUCKS. The book could have been 1/3 of the length that it is: it routinely repeats everything twice just to fill out the pages. The writing style is boring, humorless, and lacks insight. This book could be appropriate, I suppose, for a very young and completely inexperienced CS person, but then, that person wouldn't have the attention span to read it anyway. If you have to buy this book for class, save your money. Buy something better or just use the 'net - jsut get the chapter titles and head for Google is what i'd do. I sold it back as quickly as I possibly could after the semester, and I keep any CS book that has even a *little value.

    ~mantis

  89. Thinking in C++? by Anonymous Coward · · Score: 0

    while( true ){
    if ( this == myBrain ){
    ++pain;
    std::cout << "Argh!!" << std::newl;
    }

    death->Beg();
    }

  90. What should be in a trult practical C++ book by frenchgates · · Score: 2, Interesting

    Why do most of the books ignore the practical aspects of of C++ that end up wasting tons of programming time, especially for beginners? Primarily I'm talking about things like how to keep tons of #include files under control and debug problems with them in your own code or existing code you are using or evaluating. How to organize source code into various directories for use by multiple projects. When and how to create compiled libraries. How to make DLLs on different operating systems as opposed to applications. And on and on.

    There are a million books about how to program in c/c++, but how about how to get actual work done in c?

    --
    Syntax error: loose != lose, affect != effect, then!=than
  91. To counter the weakness of the STL section by BoneFlower · · Score: 1

    The C++ Standard Library by Nicolai Josuttis. Covers the whold damn thing in about 800 or so pages. STL, STL, STL. Also convers, with less detail, the non-STL parts of the standard library- but those being mainly simple functions such as pow(), you don't need much detail beyond "throw it some numbers this is what you get back".

  92. Re:Accelerated C++ -- Modern C++ Design?! by be-fan · · Score: 1

    The only reason I do so is because "Modern C++ Design" really forces you to break out of the traditional "C++ = C with Objects" mentality. A programmer might never use some of the techniques in "Modern C++ Design" but hopefully it teaches him to be aware of the full capability of the language, and use the most appropriate techniques to the problem at hand.

    --
    A deep unwavering belief is a sure sign you're missing something...
  93. Is C++ dead? by Andreas(R) · · Score: 1

    How does the future of C++ look like? C++ has been abandoned on all Computer Science classed at my university, so this means less people are learning the language. Is C++ dead, or does it still have a niche? How is C++ doing in game development these days?

    1. Re:Is C++ dead? by Anonymous Coward · · Score: 0

      The standard is currently being redrafted. The language itself probably won't change much, but there are a lot of good things in the works for the library. Game development is pretty much C++. Your university CS program sucks. Mine starts with Java to cover basics (which I think sucks...Java makes simple programs hard to write) and then uses whatever language is most appropriate for the task, which is often C++.

  94. FUCKING WORD! BITCH ASS UNFUNNY PEOPLE by Anonymous Coward · · Score: 0
  95. Invaluable C++ Reference by jockeys · · Score: 1

    I have been using Deitel & Deitel's The Complete C++ Training Course Third Edition reference for at least 5 years, both as a student and later as a professional. I must say, this is *the* definitive C++ reference. It's easy enough that I learned C++ from reading it way back when, but it's comprehensive enough that I still refer to it sometimes when I forget some esoteric bit of syntax. I think there's a newer version out now, but I don't have any experience with it.

    --

    In Soviet Russia jokes are formulaic and decidedly non-humorous.
  96. 900 pages...very sad by Mr.+Piddle · · Score: 1


    I've long given up on the five-pound gimmick books that cram the shelves at the book stores. They, 98% of the time, are a serious waste of money. For C++, for example, who needs anything more than Stroustrup's book plus their OS and compiler documentation? How can you get more documented than that?

    Even for C, the best source is the K&R book plus the UNIX man pages. For Java, it is Sun's books plus the on-line JavaDoc.

    How about we put some tech writers out of business by keeping our $50?

    --
    Vote in November. You won't regret it.
    1. Re:900 pages...very sad by Dr.+Sp0ng · · Score: 1

      For C++, for example, who needs anything more than Stroustrup's book plus their OS and compiler documentation? How can you get more documented than that?

      That statement shows that you don't quite understand the depths of what C++ can do. Read this book and I guarantee you'll learn plenty.

  97. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by SlayerDave · · Score: 2, Informative

    I couldn't agree less. It is not difficult at all to avoid memory leaks and segfaults, if you know what you are doing. Some simple rules like match every 'new' with a 'delete' and use 'delete []' if you used 'new []' will prevent the majority of these problems. Setting pointers to NULL before allocation with new and after deallocation with delete will allow you to check that your pointers are valid. But then you'd know all this if you had read 'Effective C++' and 'More Effective C++' by Scott Meyers, which are the two most useful programming books I've ever read. Meyers teachs that it's not hard to write good, correct C++ code if you know what you are doing.

  98. wrong book by joss · · Score: 1


    I reckon most people wanting to learn c++ these days would be better off with http://www.constructionbook.net/products/plumbing_ books_b841.shtml

    --
    http://rareformnewmedia.com/
  99. I never thought I'd see this day by josephgrossberg · · Score: 1

    Wow, a Slashdot book review with a rating in the 3-8 range.

    (Please, nobody actually research this. It's a wisecrack, not an assertion.)

  100. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by tchernobog · · Score: 2, Insightful

    In fact, Mr. Knuth wrote "The Art Of Computer Programming" with MIX...

    Anyway, for those who love java and such languages... you simply like them because you don't have to know what you're doing. I say: first learn C or C++ AND assembly, then learn java (or other high-level languages), so you'll have a grasp on what the compiler/interpreter does with what you write, and you'll understand the other ones fully. Don't hate pointers... they're your best friend.

    Btw, why do you think that c and c++ are so widely used still today, if they suck so much?

    --
    42.
  101. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by Anonymous Coward · · Score: 1, Informative

    Some simple rules like match every 'new' with a 'delete' and use 'delete []' if you used 'new []' will prevent the majority of these problems.

    A better simple rule, IMO, is to avoid new and delete (and their array versions) entirely. If you use containers from the standard library and/or good smart pointers, memory allocation problems should disappear completely. If you're using new and delete, there's more to doing it correctly than just making sure every new has a delete -- exceptions are an important consideration.

  102. Exceptions - bah by starling · · Score: 1

    They're just politically correct gotos.

  103. Re:Enough with C++/C/Java books! We need wider top by Charion · · Score: 1
    Software design topics (design patterns and its relatives, UML, alternative paradigms such as extreme programming)
    It's an old book but "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, is still very useful. It's a great book for me, I still go back to it and read, even though I am no C++ programmer, the book also covers smalltalk which is a very nice language.
  104. Re:ALL LOSERS IN THIS THREAD by yoriknme · · Score: 1

    What's a carreer?

  105. spam by Anonymous Coward · · Score: 0

    Although B&N is unusually high in price, it is not out of stock. They have new and used copies available. However, Amazon seems to have the best price over buy.com and bookpool ATM, but you don't have to click the referral link to get there ;)

  106. This qualifies as a review? by Headius · · Score: 1

    The so-called book reviews getting posted on Slashdot lately are about as insubstantive as those I wrote in high school. Seriously, some of these books are as much as 1000 pages long, and the reviews amount to a few sparse paragraphs, and a total of a few hundred words. Reviews like this don't tell anyone anything useful, and they certainly don't provide an adequate overview of the book.

    What happened to the real book reviews that actually covered the material? It's good to know that a couple-hundred-word essay on a several-hundred-page-book is a postable review these days.

  107. Too pedantic by mariox19 · · Score: 1

    Just to weigh in with a different opinion, I had high hopes for this book and bought it, but wound up being disappointed. I think it's excellent to begin by using the standard library right away. However, I would have preferred a book that wasn't trying to teach programming, especially in so pedantic a manner.

    An example from page 40:

    Understanding the invariant for this loop requires special care, because the condition in the while loop has side effects. Those side effects affect the truth of the invariant: Successfully executing cin >> x makes the first part of the invariant -- the part that says we have read count grades -- false. Accordingly, we must change our analysis to account for the effect that the condition itself might have on the invariant.

    It doesn't stop there, but goes on for three more paragraphs over this nonsense!

    A better approach -- and this isn't just my opinion -- would have been to talk about side effects, and then proceed to write code without side effects.

    Much of the book is in this academic-holier-than-thou tone, and it is distracting and tedious. Moreover, you don't define your own classes until chapter 9, so you're writing procedural code in the meantime.

    Respectfully, I just don't like it.

    --

    quiquid id est, timeo puellas et oscula dantes.

  108. indymedia... by bani · · Score: 1

    ...is hardly a reputable source for ANYTHING.

  109. Re:Guilt (off topic) by bani · · Score: 1

    because amazon are lying spammers
    b&n censor freethinking/skepticism/antireligious books

  110. good c++ programmers avoid new by bunbunbun3 · · Score: 2, Informative
    new (and delete) should really be rarely used in modern C++ programming. Use smart pointers instead.

    The standard has autoptr. Boost (www.boost.org) has loads more useful variants. 99% of the time, heap memory (i.e. allocated via new) instead of stack memory (automatic variables) is only used so that you can allocate variable amounts of memory. By using smart pointers, you can have the flexibility of new as well as the safety of automatic variables (they deallocate out of scope).

    When used as class member variables, smart pointers provide clear ownership of resources, helping programme design.

    new and delete are also classically used to manage buffers. This should be done entirely with strings, vectors and deques nowadays.

    For modern c++ programmes, run of the mill memory errors are really inexcusable, just as they are in Perl (my other favourite language). I am a full time programmer and have not had a memory/buffer error in years (yes, I have written countless kLOC and, yes, my programs have all sorts of other bugs ;-] )

  111. the C++ Programming Language by pyrrho · · Score: 1

    by Stroustrup.

    yeah, for beginers... sue me.

    --

    -pyrrho

  112. thanks by GunFodder · · Score: 1

    Thanks for reminding me why I program in Java. I can't believe the wide variety of syntax used to generate a one line program.

    1. Re:thanks by Anonymous Coward · · Score: 0

      So, you enjoy using a language that forces you to do everything the One True Way even if that's not really the right way for the job at hand? The variety of syntax used to generate a one line program exists because the language is flexible enough to allow multiple styles for big programs that actually need them!

  113. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by fermion · · Score: 1
    I always hear that, and I always laugh. I have programmed in languages I do not even care to admit. Each has a philosophy, and each has it pitfalls.

    My favorite are always those that are created to be used by competent, professional, responsible programmers. A language should not assume an incompetent lazy program and then impose a bunch or rules meant only to protect the incompetent at the expense of readability and flexibility.

    A language should have feature, often optional, that helps the programmer use good practices to minimize mistakes. C prizes power over crutches. It is extremely possible to write very good code in C, if you know what you are doing. If you do not know how to code, then use VB. C will cause you nothing but grief.

    C++ is the same problem. The classes are powerful but if you don't know what you a doing you can have destructors executing in the wrong order, which can lead to memory problems that may never be found.

    Some languages, particularly those pushed by MS, assume coders who have no understanding of proper technique. Put a widget on the screen, add some code, write to a database. Creating proper modules, making sure dependancies are minimized, doing things back and forth in the same order, those are all skills that can no longer be afforded. If they could, we would not hear nearly so much complaining about C and C++.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  114. Oxymoron by rixstep · · Score: 1

    'Practical C++' is an oxymoron. C++ will never be practical. 'Practically extinct', on the other hand, we can always hope for.

  115. C++ Books by kcubkg · · Score: 1

    If you are looking for C++ book recommendations, here are the best two web sites that I know of:

    www.accu.org/bookreviews/public/index
    This is probably the most complete and accurate list of C/C++ book reviews you are ever likely to find. Unlike the reviews you find on places like amazon.com which are written by the unwashed masses, these reviews are written by the experts who really do know a good book from a bad one!

    www.cs.technion.ac.il/users/yechiel/CS/BadBooksC+C ++
    This won't tell you which book(s) to buy, but which one's to avoid!

    --
    5 out of 4 people have trouble with fractions.
  116. Why pay? by darkvizier · · Score: 0

    You're surrounded by the /. crowd. I'm sure it wouldn't be too hard for someone to do it for free... and free is MUCH better than $227k.

  117. Re:C++ had its day...and it is today by Anonymous Coward · · Score: 2, Insightful
    There's lots of stuff that C++ does better than Java (generics/templates, destructors, high-performance containers, abstract algorithms). Not to mention that C++ is a completely standardized and *free* language, whereas Java is a fast moving pseudo non-free standard.

    *cough*... Oh, you are ignoring the C++ ABI. Which of course is the best thing to do when it comes to the C++ ABI. And which of course is also what most C++ tool writers have been doing as much as they can. I just went to the PalmSource conference, and they announced that they are using C++ in PalmOS 6, but they aren't exposing any C++ APIs from the operating system to the app writer because there is not yet a standard C++ ABI for the platform they're running on. C++ has been around for at least, what 15 years now, and there is still no standard ABI, so you are pretty much forced to stick with one proprietary ABI or to compile everything (shared libraries included) all at once if it is meant to work together and/or match up the versions carefully.

    Meanwhile, in Java, despite the fact that the language has changed some, the ABI is basically constant across time and across platforms. So you can build your class libraries with whatever tools you want, one time, and they just work with anything else that wants to call them or be called by them. This is a Good Thing.

    I'm not saying that Java is superior to C++, I'm just saying there are some things that Java does waaaaaay better than C++. Plus, I'm also reacting against the wording "completely standardized" in reference to C++. It's just not true.

    By the way, I agree neither Java NOR C++ is a high-level language...

  118. Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE by Anonymous Coward · · Score: 0

    What good is it to learn Java or other high-level languages? C++ can be a very high level language. C++ can also be as low of a level language as C. It's flexible and versitile depending on what libraries use, but the ONLY power in Java comes from the library.

  119. Re:C++ had its day...and it is today by Anonymous Coward · · Score: 0

    compile everything (shared libraries included) all at once
    You compile everything every time you run a Java app anyway, and then it gets interpreted. What's the problem?

  120. Accelerated C++ (Koenig/Moo) by Rob+Wilco · · Score: 1

    My personal fave: Accelerated C++ by Andrew Koenig and Barbara Moo.

    --
    - Rob Wilco
  121. Canonical C++ Books by avdi · · Score: 1

    Every serious C++ programmer should have Stroustrup on the language itself, Josuttis on the STL, and Scott Meyers' "Effective C++" books. Alexandrescu's "Modern C++ Design" and Jusuttis' new book on templates also come highly recommended.

    --

    --
    CPAN rules. - Guido van Rossum
  122. struct == class by Frans+Faase · · Score: 1

    A struct is exactly like a class, except that a class starts with private, and a struct with public. "struct{" is thus equivalent with "class{public:".

  123. Re:Savitch books: don't do it by raodin · · Score: 1

    I used that one for in a class a few years ago.. I don't have much to say about it since I only opened it once or twice. I don't remember what I saw as being any good though.

  124. Re:An indespensible book for the next generation by Rogerborg · · Score: 1

    Off topic? AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAHAHAHA HAAaaaaaaaaaaaaa. Nice one. Just wait until you graduate.

    --
    If you were blocking sigs, you wouldn't have to read this.
  125. Book site by KZigurs · · Score: 1

    BTW you can take a look at some freely available books about c++ (and other subjects) in this site. It collects publicly available books and their links in one place.

  126. My review of Thinking in C++ by jdennett · · Score: 1

    It's good value at $0.00, but it's not a great book on C++.

    http://www.jamesd.demon.co.uk/reviews/thinking-i n- c++.txt

    I think it was the second edition I reviewed. My comments have been given to the folks who are to produce the next edition, so hopefully it'll do a better job of living up to the hype. It would be great to have a quality tutorial on C++ available online at no cost, and I do have to give Mr Eckel credit for using this distribution channel (which I'm sure gives him a lot of good publicity for the printed version).

  127. Stroustrup's writings by jdennett · · Score: 1

    Seem to polarize people. I think "The C++ Programming Language" is very readable, and many agree -- but just as many find it opaque and unreadable.

    Anyone who blindly tells people not to look at Stroustrup's "The C++ Programming Language" is commiting a grave disservice. The best thing to do is to look at it, and if it doesn't strike you as being readable, to look elsewhere.