Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Oct 24th, 2004, 6:46 PM   #1
jubbincake
Programmer
 
Join Date: Oct 2004
Posts: 63
Rep Power: 4 jubbincake is on a distinguished road
some one reccomended me to get 3rd edition C++ primer, i was looking around for a cheap price and i came up to the 4th edition. Wich should i get 3rd or 4th here is the link to the 4th edition http://www.amazon.com/exec/obidos/tg/detai...=glance&s=books
jubbincake is offline   Reply With Quote
Old Oct 24th, 2004, 8:10 PM   #2
thechristelegacy
Expert Programmer
 
thechristelegacy's Avatar
 
Join Date: Jul 2004
Location: Somerset, Pa
Posts: 707
Rep Power: 5 thechristelegacy is on a distinguished road
Send a message via AIM to thechristelegacy Send a message via MSN to thechristelegacy
THe 4th addition will have updated material and probably more material, but if the 3rd edition is cheaper, it wont make much more of a differnce. But if price doesnt really matter I'd go with the 4th.
thechristelegacy is offline   Reply With Quote
Old Oct 25th, 2004, 4:10 AM   #3
Daggerhex_Flynn
Programmer
 
Join Date: Oct 2004
Location: Canada
Posts: 82
Rep Power: 4 Daggerhex_Flynn is on a distinguished road
C++ Primer 3rd edition
And
C++ Primer Plus 4th edition

Are completely different books, written by different authors. There is absolutely no relationship between these two books other than that the names sound similar. C++ Primer 3rd edition is one of the best books ever written on C++. I think that C++ Primer Plus would be an okay book, but they are not part of the same series. Learn how to read, lol! Here is a direct link < http://www.amazon.com/exec/obidos/tg/detai...=books&n=507846 >. Also this is a very good beginner (college level) book < http://www.amazon.com/exec/obidos/ASIN/020...1843832-7417765 >.

You should get all (3) books, I looked at the table of contents for c++ primer plus 4th edition, and it's a good solid book for a raw beginner, but it's not hard core c++, they don't talk much about the standard library. Get all three, you will need them all! Each book is fairly different from each other book.

And unless you can afford VC++ 7, because VC++6 is not standard compliant (it sucks), than load Linux Fedora Core 3 (which is released in one week from today) onto your hardware box, and use g++ because it is a very good quality compiler, and it is free, and Linux is free, and it meets the standard for ANSI c++.

Here is a review of C++ Primer Plus 4th edition
Quote:

Last time a reviewed the latest edition of this author's book on C. In that case he had the advantage of a language that has remained very stable for a decade, not only from the perspective of the language design but also in the way in which it has been used. The effects of the changes that C99 introduced have still to impact on general coding style. C++ is totally different. It isn't so much the changes that have been made to the language itself but the vast changes that have been happening in the way that good programmers are using it. Those writing C++ have long cut loose from C and most would not advocate learning C or a C style as a precursor to learning C++. The author is, regrettably not among those. In his notes to instructors (page xvi) we find:

It doesn't assume prior knowledge of C, so it can be used without a C prerequisite. (some programming background is desirable however)

Now to me that puts it almost head to head with Accelerated C++ but this book is well over three times the length. The very next bullet point is:

Topics are arranged so that the early chapters can be covered rapidly as review chapters for courses that do have a C prerequisite.

And that gives us the vital clue. This is an old fashioned book based on learning C++ based on C. OK so let me put aside my prejudices and try to assess this book on that basis.

It is hardly surprising that the poor student is going to have to master the intricacies of C-style strings almost from the start. However what did come as a rude shock was to find a section on universal character names in chapter three. I hardly think this is appropriate at this time. Indeed many programmers can get along quite happily without knowing about these. Unfortunately this example is typical of this book. The author appears to have no ability to filter information so that the student can keep their eye on the ball.

One thing that I always look at in books for novices and that is how the author addresses copying, in particular, copy assignment. It gives me no pleasure to report that this book is almost a decade behind the leading edge in that it is still providing the flawed exception UNsafe idiom of delete first then copy. So no credit there.

Another thing that I check is the handling of casts, and in particular the new style casts. In this case we are three quarters of the way through the book before the author deals with them. While I think that is far too late, I think that the problem is compounded by statements such as (page 772)

The purpose of this operator is to allow upcasts within a class hierarchy (such type casts being safe because of the is-a relationship) and to disallow other casts.

If you haven't guessed, he is writing about dynamic_cast. He actually does know the right answer because he earlier gives a better and more accurate description with examples (even if lacking depth).

Leaving aside the typos that litter the code, this book is ill conceived and poorly implemented. The author just throws things in because he knows about them without any coherent plan. There is no sense of structured learning here, and no sense of modern C++. He does not know what is new and what is not. He seems to have no understanding of the difference between the C and the C++ header names and calmly #include's such things as cstdlib after his using namespace std. No doubt that is the principle reason he advises readers that their compiler may need them to use the older stdlib.h header. He also places using namespace std in global scope in header files; completely unacceptable.

I could go on, but there is nothing in this book that is appropriate to the needs of someone learning C++ in the twenty-first century. It is time that Pearson Educational asked itself if it should be promoting bad books that will only reduce the revenues of other parts of the company that are publishing good books. The author of this book seems unable to discriminate between relevant and irrelevant information, sadly the publishers seem to be equally incapable of distinguishing books they should be publishing from those that they should not waste resources on.
Daggerhex_Flynn is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 11:45 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC