Softpanorama Bookshelf

Book Guide
TOC
Computer Bookstores Classic Books

Search Amazon by keywords:

Donald Knuth Book ReviewsTCP/IP
Algorithms Compilers Assembler Pascal C C++ Java Java-
script
Shell Perl Web commerce DHTMLXML
Open Source Os Design Solaris Unix Red
Hat
Unix Tools Security SE Testing Debug-
ging
Books on CD Reverse
Eng
Etc

Softpanorama Bookshelf is the key part of the Softpanorama: (slightly skeptical) Open Source Software Educational Society Website


Softpanorama Bookshelf:
(slightly skeptical) Reviews of  C++ Books
 

News

Open books

C++ as the first language

High School LevelUniversity level first course in C++University level second course in C++

OO and Algorithms in C++ courses

C++ Standard Library

C++ pointers, memory management, I/O

Advanced ReferenceOptimizationReengineeringArchitecture PatternsSE DebuggingTesting
Visual CWindows APIMFC BorlandGCCQTGTK  Tools Etc

Unlike C which was an interesting blend of simplified PL/1 and BCPL pointer arithmetic, but still was a pretty simple language, C++ is a complex programming language, actually more complex than PL/1. The latter got a bad name in 70th  from structured programming and verification zealots because of complexity, accusations that now looks like a joke. To a certain extent all C family of languages can be considered as a PL/1 family as well. If you accept this, than one can think about C++ as a revenge, an coupe to raise the complexity of C back to ( and then above) the PL/1 level :-). But C++ in some respects (exceptions, strings, etc) is still inferior to the prototype :-(

C++ supports a wide spectrum of diverse programming paradigms (especially after the revamping occurred in the last five years period) and countless high- and low-level techniques from its C heritage. During the last ten years, the power factor seems to have outperformed the complexity factor, marking the track for massive adoption of C++ in all sorts of serious applications. C++ was influenced by Simula67 but unlike the latter,  C++ does not support coroutines and this is a major drawback from my point of view. Exception handling is pretty primitive. Garbage collection is not automatic and here C# might have an edge.

C++ is still evolving language. To a certain extent all C++ textbooks published on C++ before 1998 should now be considered obsolete. New books based on the ISO standard started to appear in late 1998 and the standard was fully implemented in compilers only in early 1999.  That means that book that can reflect working experience with the standard can start to appear no earlier than late 1999 or even only in the XXI century ;-).  

Universities (and even community colleges) usually propose three courses for the language:

Those three courses require different books and you probably need  two or more books for each course as no book explain all C++ topics equally well: difficulties you will encounter trying to understand a particular constructs might be covered in one book but not in another. In any case you need one book that contains lists of typical C++ related pitfalls and beginners errors. Diagnostics in C++ compilers is notoriously bad and without such a list you might be a toast pretty much soon ;-). For the same reason the availability of all book examples from WEB or CD is a must: it's much safer to create your own programs by modified existing example that typing it from scratch -- this way you can avoid some typical but badly diagnosed C++ errors like omitting a semicolon after class declaration. 

Be skeptical.  Suggestions below should be critically evaluated, but for introductory book published after 1999 the core changes are not that significant and often the quality of  the author presentation matters more than the level of adherence to the latest changes in the C++ standard or implementations. 

You can also get comments from others about any C++ book in the comp.lang.c++ newsgroup. If you're not sure if this is the book for you, try posting an inquiry there, and you should get some good feedback. 

Please remember that C++ is not the best first language and although it is possible to go from knowing absolutely nothing to being an entry level C++ programmer it probably will take for average person at least two years. Leaning C before C++ can shorten this period, sometimes substantially. Do not be misled by books that claim otherwise. Unless you have really great natural abilities you probably will end with a lot of frustration. Learn slowly... Do not rush to kill the interest in C++ or programming in general ;-). The problem here is that to master the language you need to conceptualize a lot of things and to write a lot of code and that takes time -- a lot of time ;-)

The best introductory C++ books  treat C++ as a better C (see for example  C++ Primer Plus or A First Book of C++). And IMHO this is the way to go. Please avoid object-oriented fundamentalists. Object oriented constructs are important and need to be understood, but they are not all that the language contain. C++ is a multi-paradigm language and you can use different approaches depending on the task in hand, you do not need to be married to OO, unless you really want to ;-).  For example in his paper Object Oriented Programming Oversold! B. Jacobs wrote:

OOP became popular primarily because of GUI interfaces. In fact, many non-programmers think that "Object" in OOP means a screen object such as a button, icon, or listbox. They often talk about drag-and-drop "objects". GUI's sold products. Anything associated with GUI's was sure to get market and sales brochure attention, regardless of whether this association was accurate or not. I have even seen salary surveys from respected survey companies that have a programming classification called "GUI/OOP Programming".

Screen objects can correspond closely with OOP objects, making them allegedly easier to manipulate in a program. We do not disagree that OOP works fairly well for GUI's, but it is now being sold as the solve-all and be-all of programming.

Some argue that OOP is still important even if not dealing directly with GUI's. In our opinion, much of the hype about OOP is faddish. OOP in itself does NOT allow programs to do things that they could not do before. OOP is more of a program organizational philosophy rather than a set of new external solutions or operations.

In his old Usenix paper Objecting To Objects Stephen C. Johnson wrote

Object-oriented programming (OOP) is an ancient (25-year-old) technology, now being pushed as the answer to all the world's programming ills. While not denying that there are advantages to OOP, I argue that it is being oversold. In particular, OOP gives little support to GUI and network support, some of the biggest software problems we face today. It is difficult to constrain relationships between objects (something SmallTalk did better than C++). Fundamentally, object reuse has much more to do with the underlying models being supported than with the object-ness of the programming language. Object-oriented languages tend to burn CPU cycles, both at compile and execution time, out of proportion to the benefits they provide. In summary, the goods things about OOP are often the information hiding and consistent underlying models which derive from clean thoughts, not linguistic cliches.

Please remember that for any book you need to get a good compiler (Visual C++ 6.0 teaching edition or at least Borland free C++ compiler available from the Borland site).

Even question whether C++ is a viable alternative to C is open to debate. There is an influential school that claims that combination of C with scripting language (for example TCL) will get you farther and faster. From the other hand for a lot of problem where speed is not that critical Java or Python (or now C# for Microsoft platform) is as good as C++ and is somewhat simpler language. But Java took a simplistic approach of enforcing OO as the only implementation paradigm and its JVM (Java Virtual Machine) is useless in many practical situations (server side Java is one example). You can walk around this limitation by using some Java compiler, but bad taste remains. Also the quality of diagnostics in Java is as bad or worse than in C++. Moreover debugging of complex errors in Java is very problematic and needs good knowledge of VM internals (Java uses virtual machine and that means that even if you know assembler for a particular platform you will not be able to debug on machine level directly).  If you do not believe me ask any professional Websphere developer and he/she will tell you a couple of impressive horror stories in no time :-). 

See my C++ links and  Skeptical OO links for more information and a critical discussion about OO benefits.

Many C and C++ experts recommend against using any book written by a certain Herbert Schildt. To see why, read the answer to question 16 of the C++ FAQ. The "Dummies" series of books is not particularly well-regarded either.

[alt.comp.lang.learn.c-c++] - FAQ list

15: What are the best books I can learn C++ from? Before going further, I should mention that I am not a C++ programmer myself, and the recommendations listed here are based on positive comments I have heard from others. The C++ equivalent of K&R2 is "The C++ Programming Language", 3rd Edition, by Bjarne Stroustrup. Experienced C++ programmers love it; however, many beginners seem to find it very hard going indeed. Like K&R2, it assumes basic familiarity with programming concepts and is not really intended for the absolute beginner. It does not assume any previous knowledge of C. http://www.research.att.com/~bs/about_3rd.html A more accessible book that is intended for beginners is "C++ Primer", 3rd Edition, by Stanley Lippman and JosИe Lajoie. This book is thorough, and conforms to the C++ standard. It is reportedly extremely clear and detailed, and, again, does not assume any previous knowledge of C. http://cseng.aw.com/bookdetail.qry?ISBN=0-201-82470-1&ptype=0 Another text I've seen particularly recommended is "C++ - How to Program", 2nd Edition, by H M Deitel and P J Deitel. Again, this text does not assume prior knowledge of C. http://www.deitel.com/products_and_services/publications /cpphtp2.htm Other texts I have seen recommended a number of times on the C++ newsgroups include the badly-named-though-often-recommended "Teach Yourself C++ in 21 days" by Jesse Liberty, "C++ Primer Plus" by Stephen Prata, and "Thinking in C++" by Bruce Eckel. http://www.libertyassociates.com/book_edit.htm#21 Days http://www.bruceeckel.com/books.html#ThinkingInCPlusPlus Bruce Eckel has also placed a "beta" of the second edition of his "Thinking in C++" online as well. Do remember that it isn't the final version and that there might remain some as-yet undetected errors. http://www.eckelobjects.com/ThinkingInCPP2e.html The C++ FAQ contains some recommendations for C++ books as well.

Dr. Nikolai Bezroukov


Links and bibliographical information about the books  are prepared in association  with Amazon.com  You can also visit Amazon directly using their dynamically generated suggestions from the right pane (sometimes those suggestions are pretty funny, readers reported that Terminator II  movie suggestion sometimes appears during browsing Algorithms page ;-)

Softpanorama University book ratings are based on the following Amazon-like scheme: 

***** Excellent, or classic book; no real competitors exist
****  Good, and is among the best books available of the subject
***   Satisfactory, but there are better books
**     Disappointing, or overpriced or both
*       Probably harmful.

Ratings that use questions marks instead of stars (for example ????) means the same as asterisk-based rating,  but in this case the rating is based mainly on the third-party information (other people reviews, published on the WEB chapter, etc.) and is less reliable. 

Due to the information overload now there is a much larger number of books than any single person can master. In most cases it helps to be highly selective and try to find the best book for your level of expertise and goals of study. But do not take my advice for granted; any single person has finite amount of time and money; I just hope that my advice might help in the research one needs to perform in order to make a right selection. Please note that good books now should have a web site. Otherwise it looks that the author does not care much about the book. And it helps if they have html text on the accompanying CD (the practice that IMHO only Macmillan sometimes use)  or a separate CD (O'Reilly published several CD with older and less successful books).  At least one chapter should be online for a decent publisher.



News

More Exceptional C++
by Herb Sutter
... Our Price: $34.99
Paperback - 256 pages 1st edition (December 17, 2001)
Addison-Wesley Pub Co; ISBN: 020170434X

Amazon.com Sales Rank: 5,740

5 of 5 stars Filled with forty all-new working strategies and solutions, February 9, 2002
Reviewer: Midwest Book Review (see more about me) from Oregon, WI USA

Part of the outstanding Addison-Wesley "C++ In-Depth Series", Herb Sutter's More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, And Solutions is the sequel to his popular and "user friendly" Exceptional C++: 47 Engineering Puzzles, Programming Problems, And Solutions (0201615622). Filled with forty all-new working strategies and solutions to solve real-world problems, More Exceptional C++ presents its valuable information in problem-and-solution format so that experienced programmers can streamline their code and improve their results. Chapters cover such topics as code optimization and so-called "lazy optimization"; the uses and pitfalls of multiple inheritance; how to properly use auto_ptr and much, much more. A valuable and informative resource for experienced C++ programmers.


5 of 5 stars Effective C++'s Big Brother, February 1, 2002
Reviewer: A reader from Sim City, CA (Somewhere in the Bay Area)

Addison Wesley's "C++ In-Depth Series" is showing an amazing consistency in producing one winner after the other. Any C++ programmer could almost blindly pick up any book in the series and learn some new valuable insights.

I like "More Exceptional C++" even more than the original. It's not clear to me whether this is because the book is better or because the subject matter has become more important to me. The "Exceptional C++" series is shaping up to be a big brother to the "Effective C++" series, covering areas somewhat more advanced than those in the Effective series, such as exceptions, templates, and namespaces.

One aspect of the book I don't particularly care for is the quizzes/points format that, I suspect, is due to the origins of the book in the author's "Guru of the Week" series.

This is a great book and should belong in every advanced C++ programmer's personal library.


5 of 5 stars Picks Up Where The First Book Left Off, January 30, 2002
Reviewer: Philip R. Heath (see more about me) from Plano, TX United States

More Exceptional C++ is every bit as good as the first offering from Sutter. Like the first, this is an advanced text, and a solid working knowledge of C++ is necessary to get the most out of this book.

For those without experience with Sutter's previous book, this is divided into "Items" grouped together by broad subject area. Unless the the items make up a series such as Items 13-16, they can be read independently and in any order. This layout is helpful to the reader who doesn't have a lot of time to read a book from cover to cover. One can sit down and spend 30 minutes with an item and gain valuable insight into the specific subject matter Sutter deals with.

I enjoy the author's writing style because he tends to be more conversational than lecturing. He interjects humor - albeit it geek humor - from time to time. The presentation makes learning advanced techniques, dare I say, fun rather than dry and cumbersome.

It is also worth noting that being advanced doesn't preclude being practical. Sutter deals with everyday topics such as the STL, exception safety, and inheritance. If you are ready to make the step to advanced C++ programmer, this book will guide you on your way in a practical, enjoyable manner.
 

[Aug 07, 2001] A couple of good reengineering books were added
 
**** Practical C++

by Rob McGregor
Our Price: $23.99
Paperback - 889 pages (September 1999)
MacMillan Computer Pub; ISBN: 0789721449 ; Dimensions (in inches): 2.09 x 9.27 x 7.42
Amazon.com Sales Rank: 161,755
Popular in: Greeley, CO (#3)
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 18

Second edition of Using C++.  A very good introductory book. A very talented writer.

5 of 5 stars Excellent learning tool! Finally!, August 6, 2000
Reviewer: A reader from Tampa, FL

This book is very well laid out! I sat in the book store for hours sifting through the barrage of C++ books before I decided on this one. For me, this is the perfect guide to the C++ language. I struggled to understand the language for years as a hack who vaguely understood the critical concepts, much less how to implement them. No longer! I think this book should be titled "Understandable C++". The only thing I would have him add to the book is a chapter on BSP, QUAD, and OCT, trees. All I need now is for Rob McGregor to write a book on how to handle MFC and Win32.

**** Using C++
by Rob McGregor, Robert W. McGregor, Jerry Anderson
 Our Price: $29.99
Paperback - 889 pages (July 1998)
Que; ISBN: 0789716674 ; Dimensions (in inches): 1.77 x 9.06 x 7.33
Amazon.com Sales Rank: 252,911
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 9
table of contents

Very easy to read. Easy to understand explanations of difficult concepts in most situations. Quite comprehensive. Nice big margin to scribble notes in. Useful codes samples. Good price. A good starting text or support text. But I found very simple explanations of concepts like template and namespaces. Good book to understand concepts, may need little tweak in for the example code. Overall, a pretty good intro to OOP

4 of 5 stars Good C++ introduction - but a little simple!, August 31, 1999
Reviewer: Nikolay Qviller (nqviller@hotmail.com) from Norway

This book is a good one for people who has never before programmed in C++. For those who has done that, I would not recommend this book. Then you should read C++: The Complete Reference instead! The explanations of templates, namespaces, exception handling and operator overloading are a little too simple for me. Also, the last part of the book, The Standard C++ Library, breaks the tutorial form of the book into a pure reference form!!! One of the programs has a very nast bug in it that should have been checked. It completely crashed my system, and I spent the rest of the day figuring out what went wrong!

Nice!, June 7, 1999
Reviewer: lavender@concentric.net from Vermont

Fun to read. Clearly written. Great annotation of concepts in the margins. Pretty colors. Comprehensive, detailed, concise. Excellent index. Wish it had a workbook with examples. Would have given it a full 5 stars except for the fact that it's a bit heavy to lug around -- so: ****1/2*.

The only good book on c++ I came across!, January 16, 1999
Reviewer: A reader from USA

Well organised and appealing print. Examples are great. One of the best books on c++. Reasonably priced. Concepts are very well explained. While most other books are vague and make c++ appear like a monster (or do not deal with the difficult parts ), this book makes it interesting.

Great First C++ Book, January 8, 1999
Reviewer: maxcomp@itw.com (see more about me) from Philadelphia

This book was invaluable in my experience with C++. I recommend it to anyone trying to learn C++.

Debugging C++ Troubleshooting for Programmers
by: Chris Pappas & William Murray, III
Amazon Price: $31.99
Paperback - 523 pages (April 21, 2000)
Osborne McGraw-Hill; ISBN: 0072125195 ; Dimensions (in inches): 1.29 x 9.05 x 7.41
Amazon.com Sales Rank: 293,721
Avg. Customer Rating: 4.5 out of 5 stars
Number of Reviews: 3
Free code: debuggingcplus.zip

Prevent problematic code and fix bugs with help from the expert techniques and strategies found in this unique resource. Debugging C++ shows you how to recognize and stamp out common and little-known code bugs quickly and easily. You'll get complete coverage of procedure-oriented debugging in terms of STL and Windows applications, as well as object-oriented debugging with respect to MFC code. Software bugs cause chaos and downtime which can result in lost revenue. Save the day––use the real-world solutions in offered this handbook to prevent bugs from crippling your company's systems.

Inside, learn to:

This unique reference shows you how to prevent problematic procedure-oriented and object-oriented code and handle ActiveX, COM, STL, and MFC coding problems.

"Great advice with practical, real-world examples. C++ programmers will avoid all kinds of headaches with this book." --Elden Nelson, Editor-in-Chief, Visual C++ Developer's Journal

C++ Interactive Course
Sams Teach Yourself C++ for LINUX in 21 Days (With CD-ROM)
by Jesse Liberty, David B. Horvath
Our Price: $31.99
Paperback - 1109 pages 1st edition (May 15, 2000)
Sams; ISBN: 0672318954 ; Dimensions (in inches): 2.28 x 9.10 x 7.35
Amazon.com Sales Rank: 14,532
Avg. Customer Review: 5 out of 5 stars
Number of Reviews: 1

Impressive number of pages :-)
Practical Visual C++ 6
by Jonathan Bates, Tim Tompkins, Timothy Tompkins
Our Price: $23.99

Paperback - 832 pages (September 1999)
MacMillan Computer Pub; ISBN: 0789721422 ; Dimensions (in inches): 1.93 x 9.07 x 7.36
Amazon.com Sales Rank: 7,504

Avg. Customer Review:
Number of Reviews: 5

Good book, Focuses on how to use the IDE to access MFC, May 14, 2000
Reviewer: Reader (see more about me) from Australia

This is a great book for learning how to use the VC++6 software, and in so doing, gain an understanding of how to use the easy stuff (like controls). It doesn't do a lot to teach the syntax of C++, so if you want to know the key to the language, this isn't the book for you. If you want a genuinely first class tutorial on how to use the VC++6 software, this is it. And surprise surprise, what code there is actually works (anyone who's read a few computer books knows how rare that is!). To say that it will teach you intermediate C++ in a few chapters is however an exageration. I've read some other C++ books (and been programming several years in other languages) and as far as the actual C++ language goes, this book is about as basic as it gets. But even so, it's a great tutorial for the software and intro to basic MFC.

A revelation!, July 4, 2000
Reviewer: Andrew Norris (see more about me) from Austin, TX USA

If I see one more hack write their version of Microsoft Documentation Regurgitated I think I'm going to lose my lunch. Fortunately, this isn't one of those. This book differentiates itself by what it leaves out--you won't see nook and cranny of Visual C++ covered, and you won't get 800,000 lines of code free on the CD. Instead, it picks out the key features you really need to know to start getting a handle on Visual C++, and covers them clearly and thoroughly.

This book assumes you know how to write C++, and it assumes you understand object oriented programming, so it doesn't waste your time trying to rehash them. If you don't know these things, get a different book. But if you know the language but are new to MFC and the specifics of Visual C++, you'll find yourself able to put together a program in surprisingly short order.

At first, I was surprised and alarmed by the fact that it contained no CD of sample code like I'm used to seeing. But upon reflection, this makes perfect sense. Many of the nuances of working with Visual C++ and MFC are in working with the Visual Studio GUI and various wizards, and the chapters that concentrate on a topic take you through all the steps needed to create sample programs. The code that *is* used in the samples is inline in the chapter, but by creating it all yourself (rather than just opening a file on a CD), you get a feel for really using the tools.

Frankly, I always thought Visual C++ and MFC were really complicated to program in. If you know C++ pretty well, after you've worked through the chapters of this book that are relevant to whatever you're trying to program, it will be as easy as working in Visual Basic, and you'll still get all the power of a real programming language.

Of course, if you're looking to do low-level systems programming in Windows or tackle other advanced areas, this book isn't going to tell you how to do it. But it will make hooking up the front-end GUI, connecting to a standard ODBC database, and other common tasks quick and painless, so you can spend your time concentrating on the hard parts.

Visual C++ 6 Programming Blue Book
Programming With Qt ~ Usually ships in 24 hours
Matthias Kalle Dalheimer / Paperback / Published 1999
Amazon price: $26.36 ~ You Save: $6.59 (20%)
 
Sams Teach Yourself Visual Studio 6 Megabundle ~ Usually ships in 24 hours
Greg M. Perry, et al / Paperback / Published 1999
Amazon price: $63.99 ~ You Save: $16.00 (20%)
Seems to include Visual Studio 6 teaching edition CD. I did not check it, but looks very likely a pretty decent book.  And the price of Visual Studio  teaching edition is more than the cost of the book anyway.
**** Inside the C++ Object Model ~ Usually ships in 24 hours
Stanley B. Lippman / Paperback / Published 1996
Amazon Price : $34.95
Read review in ERCB 

Open Books

Thinking in C++ Introduction to Standard C++, Volume One
by Bruce Eckel
Our Price: $31.96

Paperback - 814 pages 2nd edition (April 15, 2000)
Prentice Hall; ISBN: 0139798099 ; Dimensions (in inches): 1.30 x 9.20 x 7.06

Amazon.com Sales Rank: 4,744
Popular in: Cedar Park, TX (#3) , Sandia National Laboratories (#13)
Avg. Customer Rating: 4.5 out of 5 stars
Number of Reviews: 22

2 of 5 stars Good Only for Those Who Know C, April 3, 2001
Reviewer: mkj246 (see more about me) from Rochester, NY USA

I am attempting to learn C++ with a limited background in programming and C. I purchased this book based on the high reviews it received from the contributors on this list. After reading half the book, I have concluded that it is not a good starting point for new programmers. The seminar CD on the C language was helpful in reviving the C I do know, but the latter half of the CD became too complicated too fast and hard to follow. The text examples were also weak in that they had no practical use. The concepts were important but the examples did not tie into anything tangible for me. This greatly reduced their purpose of reinforcing the lessons of each chapter. The author also kept making comparisons to C which could be helpful to C programmers but became what I felt was overkill for those wanting to learn just C++. This was especially the case when he would explain how to do something and then suggest that you should never do things that way. Why even mention bad programming practices? After re-reading the reviews posted here, it appears that most of the readers are either strong C programmers or have a fairly solid programming back ground. I suggest looking elsewhere if you have little or no programming or C language experience.

5 of 5 stars Best book I've read on C++, March 21, 2000
Reviewer: A reader from New Jersey

This book is highly recommended! I've been trying for a while to teach myself C++ and object-oriented programming. I have a strong background in both C and COBOL so structured programming is firmly etched in my brain and has proved to be a difficult programming approach to get past. This was the first book on the subject that caused me to go "Ah! Now I get it!" more than once. The first chapter alone was worth the price of the book as it thoroughly explained OOP in a clear and concise manner. I read this book in its entirety online before it was published. The book was so good that I went ahead and purchased it so that I would have a hardcopy of this invaluable text as well as the online version. If you are an adept programmer looking to jump onto the OOP bandwagon, I can't think of a better book to get you there. Forget the "Dummies" and "21 Days" type books and get this one. You'll be glad you did. No other programming book I've read has advanced my skills as far as this one. Many thanks to Bruce for providing the definitive C++ book.

4 of 5 stars A very good conceptual explanation, November 5, 2000
Reviewer: A reader from Laguna Hills, CA United States

This book's merits are, as its title implies, in its clearly explained and thorough introduction to object-oriented programming, and not its ablility to be used as a reference. If you want to deeply understand on an abstract level what the heck OOP is and get a satisfactory tutorial on C++ at the same time, than this is the book for you. If you want to master the language, however, a good reference/tutorial is needed to accompany this text.

***** Who's Afraid of C++? (Who's Afraid Of....)   by Steve Heller.  Full e-text is available  free. Published 1998

**** Sams Teach Yourself C++ in 21 Days ( Second Edition, Sams Teach Yourself)  for e-text see informit

 ***+ Sams' Teach Yourself Visual C++ 6 in 21 Days E-text is avaible from InformIt

by Davis Chapman
Amazon price: $27.99
Paperback - 769 pages (August 1998)
Sams; ISBN: 0672312409 ; Dimensions (in inches): 1.89 x 9.12 x 7.43
Other Editions: Hardcover, Paperback
Avg. Customer Review: 2.5 out of 5 stars
Number of Reviews: 50

4 out of 5 stars Book Has Specific Purpose, June 18, 1999
Reviewer: A reader from Salt Lake City, UT

This book does not teach C++ directly, nor does it really get under the hood in MFC. I have a large amount of experience with C++, and have read some books on MFC as well; with this background, this book served me rather well as a handbook on how to perform routine stuff. Those who are uncomplimentary of this book seem fall into one of two categories: Those who don't know C++ or MFC and expect one book to quickly teach them both (not possible), and those who understand C++ but want an in depth book on MFC. If you don't understand C++, this book will frustrate you to no end; read a C++ language book first. If you are interested in MFC, then buy a book on MFC. If you already know C++ and are familiar with MFC from a "big picture" perspective, but you want to learn how to use the VC environment and to apply some MFC and such, then this book is not so bad. Errors in the example code prevent this book from getting five stars. All in all, it's a good book, but with a fairly narrow purpose.

3 out of 5 stars Somewhat useful, May 25, 2000
Reviewer: Lawrence A Neer from San Diego

I purshased this book to learn the "Visual" aspect of Visual C++. In that regard it is on target. Don't get it to teach you C++ because it is not designed to do so and there are lots of good books for learning C++ itself. I like the fact that it stays on the Visual part -- I have seen many "Visual" C++ books that throw in 1-2 chapters on the visual portion as an obvious afterthoughs.

The flaws in this book render it half-useless, however. (1) Many of the examples in the text are incorrect and won't compile. (2) There are too many chapters where one rewrites the same drawing program. Since the first chapter drawing program won't compile, and all of the other ones say to do the same things as in that chapter to start with, this renders at least 3 chapters useless. (3) I would prefer more useful examples than another variant of "scribble" (especially since it doesn't work anyway). (4) I downloaded the example chapter code from their website. The chapter codes I tried work, but obviously aren't based on a person working through the actual chapters, since the code has many differences from what you get from the compiler. I expect that they used code from past text revisions, possibly based on earlier versions of Visual C++. (5) It would be helpful if they supplied (either in a CD or at their website) actual code derived from various points in each chapter (e.g., "open file for Chapter 10 version 3 to see the code for the partially completed project on page 210"). (6) It would be good to have MANY more compilable points in the chapters. As it stands, one has to make scores to hundreds of changes between times where it allows compilation. This makes it very difficult for a beginner (i.e., a person who would buy a training text) to get exactly right. (7) The exercise portions of each chapter should be somehow marked, not buried in the text of paragraphs -- this would allow users to work through examples more quickly and not miss some important step.

Overall, good fundamentals but badly flawed execution. Quite disappointing compared with the rest of the series.

3 out of 5 stars Ok... for learning to use MFC to build simple apps, August 12, 1999
Reviewer: e_weathers@hotmail.com from Saratoga, CA
I'm pretty damn proficient in C++, mainly on UNIX though. This book does an ok job of introducing u to MFC. What it doesn't do is build on previous C++ knowledge or explain the connection between straight up C++ coding and GUI building with MFC. To reiterate the thoughts of other reviewers, this book is riddled w/ mistakes and too many instances of skimming only the surface of a topic; e.g., for ActiveX FlexGrids to accept data, there is a 1 paragraph explanation (pg. 197) which suggests the reader create a "floating" edit box. But there is no reference within the book (nor the whole friggin' MSDN Help Library) to the existence of these controls. Please email me if u know how to do this! Conclusion: a good buy if you're aware your buying a Wizard guide, and DON'T except to learn 1 thing about C++ itself.
**** Optimizing C ++   Full e-text is available  here
Steve Heller / Paperback / Published 1998
Amazon price: $44.99
Average Customer Review: 3.5 out of 5 stars
Paperback - 416 pages Bk&Cd Rom edition (August 1998)
Prentice Hall; ISBN: 0139774300
Please do not believe some trashing reviews at Amazon. You need to question both my opinion and, especially, the opinion of object-oriented fundamentalists. You can easily guest who of the readers are object-oriented fundamentalists from the demands of C++ specific optimization, etc.  Like other high demand cults object-oriented fundamentalists is a pretty dangerous and aggressive sect ;-).  The first and the most important sign of mastery is to know where to stop. That mean you need to know were you need to use OO technique and were is will be just waist of time and resources. Actually the most obvious method of optimizing C++ is to avoid C++ features that are too expensive, especially in time critical loops. So objection that optimizations are related to C not to C++ are simply naive. Actually the best optimization for C++ program is a complete rewrite in C (and may be some TCL) ;-).

5 out of 5 stars An Important Book
Reviewer: James Bredijk from New Jersey      February 12, 2000

An important book if you want to make the leap from 'programmer' to 'craftsman'. Steve Heller has written an advanced course in computer science using C++. By including some 'C' code, he shows that sometimes the best way to optimize C++ is to use a little 'C' (a bitter pill for many C++ purists).

In an effort to eliminate 'code bloat' and 'CPU bottlenecks', the author has put the responsibility of program efficiency squarely on the shoulders of the programmer (where it belongs). With chapters on sorting, hashing, caching, compression and variable length records, he teaches the 'why's, not just the 'how's, of many important topics and algorithms.

More then just an 'update' to his "Efficient C/C++ Programming", "Optimizing C++" is an 'Upgrade'. Full of useful code, diagrams and figures, you'll find many insights that can be translated into any language or project.

Anyone can call a third-party library routine, this book shows you what you'll need to know to write the routines yourself. A must for serious programmers.

From the author website:

An online full-text version of Optimizing C++, the greatly revised third edition of Efficient C/C++ Programming, is now available free! Over a third of this edition is new material, the centerpiece being a new sorting algorithm for very large files that works well with relatively limited memory. There is also much more detail in the coverage of the quantum file access method, and all the code has been updated to compile with the C++ draft standard as of the date of publication. The CD-ROM in the back of the book contains all the source code as well as a new version of the DJGPP compiler and an accompanying integrated development environment called RHIDE. If you have optimization problems with C++ programs, this is the book for you. By the way, I've received a letter from a reader indicating that his employer has saved over $8,000,000 as a result of his using the techniques in an earlier edition of this book!


C++ as the first language (self-study)

As I already mentioned it should not be your first language ;-). But anyway, I recommend to compare three pretty decent books (Liberty1999, Prata1998 and  Bronson1999). No one book can explain perfectly all topics, but these three come pretty close...  Liberty book is the only one that gives many important little tips that helps you to become a good programmer, but for complex topics sometimes I prefer Prata's book (inheritance explanation), sometimes Bronson's book (friends explanation, exceptions).  Actually each book covers its own subset of C++ so you can use all three :-)

**** Practical C++

by Rob McGregor
Our Price: $23.99
Paperback - 889 pages (September 1999)
MacMillan Computer Pub; ISBN: 0789721449 ; Dimensions (in inches): 2.09 x 9.27 x 7.42
Amazon.com Sales Rank: 161,755
Popular in: Greeley, CO (#3)
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 18

Second edition of Using C++.  A very good introductory book. A very talented writer.

5 of 5 stars Excellent learning tool! Finally!, August 6, 2000
Reviewer: A reader from Tampa, FL

This book is very well laid out! I sat in the book store for hours sifting through the barrage of C++ books before I decided on this one. For me, this is the perfect guide to the C++ language. I struggled to understand the language for years as a hack who vaguely understood the critical concepts, much less how to implement them. No longer! I think this book should be titled "Understandable C++". The only thing I would have him add to the book is a chapter on BSP, QUAD, and OCT, trees. All I need now is for Rob McGregor to write a book on how to handle MFC and Win32.

**** Using C++
by Rob McGregor, Robert W. McGregor, Jerry Anderson
 Our Price: $29.99
Paperback - 889 pages (July 1998)
Que; ISBN: 0789716674 ; Dimensions (in inches): 1.77 x 9.06 x 7.33
Amazon.com Sales Rank: 252,911
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 9
table of contents

Very easy to read. Easy to understand explanations of difficult concepts in most situations. Quite comprehensive. Nice big margin to scribble notes in. Useful codes samples. Good price. A good starting text or support text. But I found very simple explanations of concepts like template and namespaces. Good book to understand concepts, may need little tweak in for the example code. Overall, a pretty good intro to OOP

4 of 5 stars Good C++ introduction - but a little simple!, August 31, 1999
Reviewer: Nikolay Qviller (nqviller@hotmail.com) from Norway

This book is a good one for people who has never before programmed in C++. For those who has done that, I would not recommend this book. Then you should read C++: The Complete Reference instead! The explanations of templates, namespaces, exception handling and operator overloading are a little too simple for me. Also, the last part of the book, The Standard C++ Library, breaks the tutorial form of the book into a pure reference form!!! One of the programs has a very nast bug in it that should have been checked. It completely crashed my system, and I spent the rest of the day figuring out what went wrong!

Nice!, June 7, 1999
Reviewer: lavender@concentric.net from Vermont

Fun to read. Clearly written. Great annotation of concepts in the margins. Pretty colors. Comprehensive, detailed, concise. Excellent index. Wish it had a workbook with examples. Would have given it a full 5 stars except for the fact that it's a bit heavy to lug around -- so: ****1/2*.

The only good book on c++ I came across!, January 16, 1999
Reviewer: A reader from USA

Well organised and appealing print. Examples are great. One of the best books on c++. Reasonably priced. Concepts are very well explained. While most other books are vague and make c++ appear like a monster (or do not deal with the difficult parts ), this book makes it interesting.

Great First C++ Book, January 8, 1999
Reviewer: maxcomp@itw.com (see more about me) from Philadelphia

This book was invaluable in my experience with C++. I recommend it to anyone trying to learn C++.

 
**** A First Book of C++ From Here to There No e-text
by Gary J. Bronson

Amazon Price: $54.95
Paperback 2nd edition (June 25, 1999).
Brooks/Cole Pub Co; ISBN: 0534368018
Amazon.com Sales Rank: 67,283
Table of contents
Avg. Customer Review: *****
Number of Reviews: 4
Note: There are second edition books dated 2000. I own 2000 edition of the book. Probably they are the same as 1999 edition.
Generally this is expensive, but a very decent, honest book. Many colleges use it as a textbook. The author provides "Common Programming Errors" sections in many chapters. And that's alone makes this books superior to many other similar books. Each chapter also contains carefully selected exercises after each chapter. The author generally treats C++ as a better C in the first ten chapters. 

On the negative side constructor chains in inheritance are covered weakly, exceptions are not covered at all

***** Absolutely top notch introduction to C++, November 7, 1999
Reviewer: James Weisbin (jim@savagetranscendental.com) from New York City

In trying to make the transition from procedural languages learned years ago to C++, I kept finding myself stumped by books with indecihperable prose and leaps of logic. While authors like Stroustrup, Ellman, etc obviously know their stuff, they don't know how to explain it to the average person. This book is the best textbook that I have *ever* owned, bar none. It is crystal clear and logical from beginning to end, and assumes no prior kowledge. I highly recommend it! --This text refers to the Paperback edition.

***** A Fanastic book on the subject of C++, August 6, 1999
Reviewer: tazam@filct.com.ac.uk from United Kingdom

I've been trying to learn C++ for a year and a half with no success. I tried the learn C++ in 21 days series and the Teach Yourself C++ by Herbert Schildt, but none of these came close the Gary Bronson's book. His style and explanation of fundamental concepts are to be be applauded. This book focuses on the fundamentals and gradually builds up your skill to a competent level. Its a great book for beginners and I guarantee you will not be dissapointed. I also purchased his other book The First Book of C which was equally good. I am eagerly awaiting his book on Java --This text refers to the Paperback edition.

***** Yavapai College uses this book to teach C++, July 8, 1998
Reviewer: Adrian Ziemkowski (ziemkowski@hotmail.com) from Arizona, USA

I loved this book. I had tried to learn C++ before with no success. After reading this book I was able to get right into coding, even the class followed the book verbatum, it's that good. None of the code relied on other project in the book I didnt care about. And all the examples come on a diskette included. A great way to learn! I suggest it to anybody that wants to learn to code without OS specific APIs. --This text refers to the Paperback edition.

 
***+ Sams Teach Yourself C++ in 21 Days (Sams Teach Yourself) e-text of the 2-d ed is available from www.informit.com
by Jesse Liberty
Amazon price: $23.99
Paperback - 878 pages 3rd Updtd edition (March 1999)
MacMillan Publishing Company; ISBN: 0672315157 ; Dimensions (in inches): 2.05 x 9.13 x 7.45
Amazon.com Sales Rank: 2,082

Avg. Customer Review: 4 out of 5 stars

Number of Reviews: 136
Table of contents (for the 3d edition)
Very inexpensive (zero price if you would like to use the second edition; that means the book is risk free) book that in many topics head-to-head competes with Prata's book and Bronson's book. You need to have some programming experience to benefit from this book, but this is true for any C++ book. I never saw the book that got so many 5 stars reviews on Amazon. It can be "lemming effect", but in this case it's not ;-). This would be a 4-star book, if the title was changed to C++ in 21 months (advanced C++ concepts really require a lot of time and effort) or at least they add a zero after the number 21 (which would make a more realistic 210 days :-). All-in-all very readable up-to-date book by a very gifted educator with good advice and a nice set of examples, summaries, do's & don'ts, and quiz questions with solutions. The various Bug Busters ARE REALLY GREAT. Important little tips and warnings are scattered throughout the chapters. Most importantly, it's not BORING.
Classes are given a solid coverage in this book, and the author explains this topic well (may be constructors deserve a little bit more elaborate coverage). Jesse Liberty seems to be able to teach the advanced concepts without wading through unnecessary detail and/or overcomplicating things -- the favorite hobby of so many C++ textbook authors. 3-d edition is better but 2-d is not bad.

What make this book attractive for me is that the author is trying to teach you programming, not just a language. Another important plus is that there is a Q&A and Quiz section (with answers) for each chapter of the book.  The author supports every important language construct with at least one code example that really needs to be typed in and compiled in order to understand what the author is talking about. Doing all exercises is also absolutely necessary in order to get a good understanding of the material. Do not move to the next chapter unless you did all the exercises.

There are typos and errors in the code as in any C++ book, however identifying and correcting them is a very educational experience so I would not object about them too much. BTW Jesse recommends reading Effective C++ by Scott Myers as your next C++ book. See

Day 6 -

Basic Classes

Day 12 -

Inheritance

Day 13 -

Polymorphism

I would recommend the Compiler Edition of this book (but throw away the DJGPP compiler that is included ASAP :-) because it contains a CD with some useful exams to take after each chapter and all the source code (mostly error free) and some exercises. Here are some relevant Amazon reviews:

4 of 5 stars Great Author, great primer, December 22, 2000
Reviewer: Jonathan B. Smith from Lincoln, NE United States

For an introduction to C++, I really think this is a great book. While no primer can be all things to all people, I think for most folks who have little programming experience at all or little C++ experience, this is a good choice.

Make no mistake, C++ is a very complex language and a person could spend his or her whole programming life learning different ways to solve problems with it. What I like about Jesse Liberty's approach is that he assumes no prior programming experience. He does a good job of explaining the basics and providing examples to work on.

Another thing to consider is that different people learn in different ways, and J.L. has written another book called "C++ from Scratch". It takes the approach of diving into the middle of a programming problem with an experienced programmer and learning from doing. I have both books and they both have taught me a lot.

With something as complex as C++, no one book can teach you everything. From my perspective, if you're a relative new comer to programming or new to the C++ language this is a great book.

5 of 5 stars C++ in 21 days is selling like hot cakes!!!, October 3, 1997
Reviewer: GTI7321@aol.com from Orlando, Florida

I am a new student at Florida Tchnical College and I am enrolled in the C++/Java course. Until my purchase of Jesse Liberty's " Teach yourself C++ in 21 days" I was in serious danger of failing my C++ course. In just one week of reading Mr Liberty's book I have made a dramatic turnaround. This increase of understanding has not gone unnoticed. Several of my class mates have gone out and purchased a copy of the book and have asked the school to consider adding the book to the curriculum. This book is the best so far for the new programmer. My professor has also purchased a copy of the book and is encouraging students in his other classes to do the same. Thank you very much Mr. Liberty for sharing your knowledge of C++ in such a comprehensive way! The knowledge gainned far over rides the Typo's. Future C++/Java programmer! --This text refers to the Paperback edition.
5 of 5 stars excellent foundation, with templates & uml, October 31, 2000
Reviewer: Norman Bo Graham from Morristown, NJ United States

my experience is the following: I have been a C/C++ programmer for 11 years.
my reason for purchasing the book is the following: When I went on interviews lately, I realized that my experience was more C then C++, and I had no UML or template (stl) knowledge. (I DIDNT EVEN USE INHERITANCE!). This is what happens when we keep our noses to the grindstone for too long. I purchased this book fully expecting to return it, but will not (it's an inexpensive great book). I am almost ashamed to admit, I quickly purused most chapters but took three pages of notes, of things I did not fully know.

You should expect the following from this book:
* An up to date intro to C++ (only experience will make you a C++ master).
* To spend beween 21 and 63 hours to read the entire book. (see the sams note above that some lessons may take you 3 hours).

Remember that C++ is still evolving, and this book can provide you with an uptodate intro, for a sawbuck and change. I am truely impressed by this book, and it's value. When I have no more use for the book, I may consider donating it to the local library, as it's probally timeless in some respects.
As for UML, it is the greatest thing to happen to C++ since the Booch notation was the flavor of the month (some sarcasm there). Seriously, UML is a must know, because the UML tools allow easy integration into your language of choice right now. Rational Rose has created documentation, that prototypes your code for you, the world is a great place right now!. This book, gives you an intro of all the UML you'll need to know to start using it right away.
As for templates, they are just wonderful. This is one of the coolest things to happen to C++.
One of the other reviewers refered to the beast of C++, yes, C/C++ is a beast, but it is a language like most others. When you break down the walls of "i'm an z programmer", then you will realize that your mental skills transend the language, and your a problem solver, with debugging skills. C++ is a beast, and this book will allow you to pick up the foundation in 21 courses!


4 out of 5 stars Great intro to OOP and pointers, but take your time, January 5, 2000
Reviewer: mniesen (see more about me) from Ames, Iowa

Any review is only useful to people with similar backgrounds, so here is where I came from: 1 semester of a beginning (non-comp sci major) university C++ course, a lot of (gasp) FORTRAN, a little PASCAL, and some BASIC.

I used the 2nd edition of this book which had a lot of code errors, although I found that finding the errors was also an excellent (unintended) learning experience, even if it did take me longer to get through the book and cause some undo frustration.

Pretty much every topic is backed up with code examples, which really helps me - a hands on type of person. I took extra time and went over some sections more than once to get a good hold on the info, especially pointers and the object oriented sections like inheritance and polymorphism. These topics can be confusing for people without experience in C++, so I wouldn't expect to get it the first time -- expect to spend extra time on some subjects, especially the traditional killer of C/C++: pointers! I know feel like I have a very good understanding of how they work.

After reading this book, I went on to do a lot of WindowsAPI and XWindows programming and found the foundation I gained from this book invaluable.

5 out of 5 stars This is definitely a masterpiece!, July 12, 2000
Reviewer: Ivan (see more about me) from Saint Petersburg, Russia

Hmmm... It's always difficult to write a review about such a good book. But let me explain... I'm a former C programmer who once decided to learn C++. And I decided to start learning from the very beginning. It was really difficult to choose a book for that purpose, cause amount of C++ tutorials is really huge. But finally I made my choice. I choose "Teach Yourself in C++ in 21 Days".

Why did I do that? Because this book was written by Teacher. It's very easy to read and understand, but in spite of simplicity it's really comprehensive. Every word is on it's place, every example of source code is well thought-out. I have seen some reviews blaming this book for something, but I'm sure - if you have some brain and are ready to think and learn this book will help you. I do recommend this book to EVERYBODY.

3 out of 5 stars Starts Well, Gets Confusing, March 25, 2000
Reviewer: Geoff Thornton (see more about me) from Oakey, Australia

The book starts well enough for the first several chapters and gives good examples that are relevant to the topic

However as the book progresses the author delves very quickly into complex programming examples and explanations that gloss over a lot of subject matter and soon leave the begginer scratching his head.

Some of the examples are indeed too complex for where they are placed in the book, for example the example on strings makes use of passing references to a function, which hasn't been covered yet leaving the begginer scratching his/her head trying to figure out what's going on without understanding the program.

This book is best used as a companion book to other C++ references. 


 From Wright brothers to rocket science!, June 11, 2000
Reviewer: Jim Frerichs (see more about me) from Brookings, OR

My boss gave me the assignment to learn C++. He gave me a couple of books that he though were good. I banged my head against the keyboard many a night in pure frustration trying to absorb the material and searching the Web for additional help. I next tried an on line computer course by a noted and popular school. Everything was geared to people who already knew C. The material was dated. It was like trying to learn rocket science by studying the notes the Wright brothers wrote when they were trying to figure out which way a propeller should turn.

I finally came across Jesse's 3rd edition of "Leaning C++ in 21 Days" and life if beautiful again. His examples and easily read text gave me the knowledge to read code, and more important to understand it. The book takes the time to explain terms, definitions and the why's and wherefores of the C++ language. Particularly interesting to me was memory management and why I should be concerned about it. I no longer bang out code that "just" works. I assimilate the books ideas into programs that one may call an art form.

You will never know how grateful I am to have this book as a resource. I have scribbled in the margins, highlighted, dog-eared, paper clipped important pages, made a file of example programs and on long study nights used it as a pillow. I can't wait to get "C++ Unleashed" and abuse it in the same loving way!

If you don't have prior programming experience this book is a must. If you are a C programmer you need this book to get with the new way of doing programming!

 The Beginning C++ Book To Use!, August 7, 2000
Reviewer: cc00001 (see more about me) from Las Vegas, NV

Mr. Liberty is one of the foremost authorities on C++ and at the same time is an excellent, methodical teacher. This is the book to work with if you're just starting out. As with most disciplines, everything builds on the basics, so go slow and make sure you understand all of the material before moving on. All of the basics are covered most thoroughly and are very understandable. This book will prepare you to go in any direction as a C++ programmer, be it Windows, Linux, Visual C++, etc... In fact there's now a Linux version available. Highly recommended!

 
**** Who's Afraid of C++? (Who's Afraid Of....)   Full e-text is available  here
Steve Heller / Paperback / Published 1998
Amazon price: $31.96
Amazon.com Sales Rank: 3,772
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 73
 
This is a very fresh approach to a technical text but I would only recommend this book if the student was using it along with another textbook. The "conversational technique"  is useful but you need a reference too.

Please remember that for any book you need to get a good compiler (Visual C++ 6.0 teaching edition or at least Borland free compiler available from the Borland site).

If you have such a compiler this can probably be the best introductory book with full text available online.  Bravo Steve ! BTW the author managed to find his spouse from early testers of the book ;-).  You can read an interview with Steve Heller. Here is an interesting detail: 

Amazon.com: Do you meet your readers at book signings, conventions, or similar events? Do you interact with your readers electronically through e-mail or other online forums? 

S.H.: I met my fiance through our email interaction about my latest book. I put a notice on a Compuserve forum asking for someone who wanted to learn programming from scratch, and she replied via email. One thing led to another, including my moving to Texas from Long Island; we expect to be married before the end of this year. 

 
4 out of 5 stars Far and Away the Best Book for Teaching Yourself C++, May 17, 2000
Reviewer: A reader from Seattle, Washington

It's a little sad that this is truly the best book there is for learning C++ on your own, because Steve's teaching method is good but the format is still a little shaky.

The way the book is presented, with the discussions with a complete novice (Susan) is at times helpful, unless you do understand what is being discussed. If you use this book (and you should), and you understand what Steve is writing about (and most of the time you will), when you get to the discussions he has with Susan, skip them! Her bone-head questions will only get you confused again!

The idea is good, it's true. It really makes you feel like you're in a classroom setting and Steve is teaching you and there is some classroom discussion. However, it is as if there is one really, really big-mouthed dumb chick sitting in the front that never shuts up and keeps asking the same stupid questions again and again and again! Just when you think Steve has pounded a topic so far into the ground that no one will ever see it again, we find out that Susan still has no idea what's going on! Arrgh! :)

 
5 out of 5 stars Get this book!!!!, June 18, 1999
Reviewer: A reader from Queensland, Australia

You will not be sorry with the purchase of this book. I have spent considerable money on many 'Teach Yourself' titles, only to find myself giving up half-way through, or still feeling bewildered at the end. Most books really only teach you the constructs of a language, and really do not delve into the basics of programming. Here is one exception. Steve Heller makes no assumptions of the reader's experience, except that they have a willingness and desire to learn, and can at least issue commands at the DOS prompt. The journey takes you through the inners of your computer, looking at programming firstly at its lowest, then its highest level, using C++ as the language. What makes the book even more unique is the inclusion of an email tutorial between Steve and his now wife Susan, who was a complete novice. She often becomes bewildered with Steve's explanations (even though they are very clear), and he draws out the explanation until she understands. In this way, no reader should finish the book without a fundamental grasp in programming. The book does not make you a C++ programmer - it merely acts as a starting point, giving you enough to be able to go onto more advanced material. If you have any interest in programming yet have found it difficult to get started, do yourself a favour and buy this book - you won't be disappointed.
5 out of 5 stars A necessary read, regardless of your background., July 13, 1998
Reviewer: A reader from NJ, USA

This truly is one of the finest instructional books I've ever read. The author makes a bold statement in the world of technical instruction by approaching a difficult subject in a totally original manner. I've read many technical books targeted at various experience levels and the majority fall into one of two categories; the "light-hearted, light-coverage" category and the dry, "IBM-style Technical Reference Manual" category. This book defies either and for that matter any category. Certainly, it is an excellent tutorial for beginner programmers or C++ newbies. Besides excellent coverage of the basics, it is one of the few books targeted at the beginner that details the inner workings of the machine. However, this book is also essential reading for technical writers, trainers, and departmental mentors as well, regardless of the languages or tools they use. Heller teaches much more than C++ in this text. For instance, excellent examples of transferri! ! ng technical knowledge to others can be found throughout the text, as he includes an extensive one on one dialogue with an absolute beginner. For the astute reader, there's much more that can be gleaned from this book than most other programming books. This is a real find!
1 out of 5 stars If you want to learn C++, skip this, and buy a good book., December 16, 1998
Reviewer: A reader from Dallas, Texas

This book is best viewed as two halfs. The first half was actually not too bad giving the reader a quick course in computer rudements. Then something happened, I think the author did a word count and found he was half way through the amount of book he had agreed to write. The problem was that he was only about a tenth through the material he wanted to cover. The resulting chaos is a mix of too much detail, too little detail and great gobs of print devoted to his "reader" and her confusions. One is left wondering what the purpose of the book was. It was certainly NOT to teach anyone C++! The signal to noise ratio is incredably low. And at the rate the author uses you would need about 20 of these books to get the fundamentals of the language. The author himself admits that the book covers only about 5% of what one would need to program. Add all this to a writeing style that is at best, annoying, and this book is pretty much a waste of time and money. Ive read 5 books recently on the subject and this one is at the bottom. My recommendation to the determined student would be to learn the language elsewhere, from the ground up. To summarize: The first half is not too bad and should have been a seperate book on computer rudements. The second half is a chaotic mix of too quick, too slow and too much "reader". A waste of time and money.
 
The Beginner's Guide to C++  
Oleg Yaroshenko / Paperback / Published 1995
Amazon Price : $22.36
Paperback - 691 pages (January 1995)
Wrox Press Inc; ISBN: 1874416265 ; 
Amazon.com Sales Rank: 10,869

Avg. Customer Review: ****+;  Number of Reviews: 10
Outdated but pretty inexpensive and still useful as a second book. Good for high school students

What a great book!, August 17, 2000
Reviewer: iamcdn (see more about me) from San Jose, California United States

This book is an excellent book for people who wish to learn C++. I have programmed for a large portion of my life using other languages such as FORTRAN, Basic, etc.. But I was getting outdated and needed to come up to speed quick. This book is concise, easy to understand and teaches the language with easy and clear examples to try. I would recommend this for someone who has programmed before and want to learn C++.

 A Wonderful Learning Experience., July 25, 2000
Reviewer: cooltpmd (see more about me)

I have already taken a C++ course at a prominent university, but felt that many basic concepts were missed.

I picked up this book to read and learn and "grasp" the topic better. THIS IS EXACTLY WHAT THIS BOOK HAS DONE FOR ME.

This is not a superficial covering of C++, in fact he dives into tough areas relatively quickly.

What separates this book from others I have seen is his style. He writes quickly and simply about the topics at hand. There is a good deal of material packed into each chapter, but his readable style and constant use of "hands-on" examples doesn't leave your head spinning.

You can download all his code from a website, and follow along with the book. I only write when I hate something or love something. I LOVE THIS BOOK.

I hope this helps.


Highly informative, May 16, 2000
Reviewer: Robert Ganger (see more about me) from Buffalo

For those who have had some C programming background, this is a helpful book. For those who haven't, that's okay, this book is written well enough for someone who knows some other high-level programming language such as Turbo Pascal or BASIC. Another note to mention is that it is worth purchasing the VHS video "Takin It All Off" which is available through amazon.com!


High School AP exam

**** Practical C++

by Rob McGregor
Our Price: $23.99
Paperback - 889 pages (September 1999)
MacMillan Computer Pub; ISBN: 0789721449 ; Dimensions (in inches): 2.09 x 9.27 x 7.42
Amazon.com Sales Rank: 161,755
Popular in: Greeley, CO (#3)
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 18

Second edition of Using C++.  A very good introductory book. A very talented writer.

5 of 5 stars Excellent learning tool! Finally!, August 6, 2000
Reviewer: A reader from Tampa, FL

This book is very well laid out! I sat in the book store for hours sifting through the barrage of C++ books before I decided on this one. For me, this is the perfect guide to the C++ language. I struggled to understand the language for years as a hack who vaguely understood the critical concepts, much less how to implement them. No longer! I think this book should be titled "Understandable C++". The only thing I would have him add to the book is a chapter on BSP, QUAD, and OCT, trees. All I need now is for Rob McGregor to write a book on how to handle MFC and Win32.

**** Using C++
by Rob McGregor, Robert W. McGregor, Jerry Anderson
 Our Price: $29.99
Paperback - 889 pages (July 1998)
Que; ISBN: 0789716674 ; Dimensions (in inches): 1.77 x 9.06 x 7.33
Amazon.com Sales Rank: 252,911
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 9
table of contents

Very easy to read. Easy to understand explanations of difficult concepts in most situations. Quite comprehensive. Nice big margin to scribble notes in. Useful codes samples. Good price. A good starting text or support text. But I found very simple explanations of concepts like template and namespaces. Good book to understand concepts, may need little tweak in for the example code. Overall, a pretty good intro to OOP

4 of 5 stars Good C++ introduction - but a little simple!, August 31, 1999
Reviewer: Nikolay Qviller (nqviller@hotmail.com) from Norway

This book is a good one for people who has never before programmed in C++. For those who has done that, I would not recommend this book. Then you should read C++: The Complete Reference instead! The explanations of templates, namespaces, exception handling and operator overloading are a little too simple for me. Also, the last part of the book, The Standard C++ Library, breaks the tutorial form of the book into a pure reference form!!! One of the programs has a very nast bug in it that should have been checked. It completely crashed my system, and I spent the rest of the day figuring out what went wrong!

Nice!, June 7, 1999
Reviewer: lavender@concentric.net from Vermont

Fun to read. Clearly written. Great annotation of concepts in the margins. Pretty colors. Comprehensive, detailed, concise. Excellent index. Wish it had a workbook with examples. Would have given it a full 5 stars except for the fact that it's a bit heavy to lug around -- so: ****1/2*.

The only good book on c++ I came across!, January 16, 1999
Reviewer: A reader from USA

Well organised and appealing print. Examples are great. One of the best books on c++. Reasonably priced. Concepts are very well explained. While most other books are vague and make c++ appear like a monster (or do not deal with the difficult parts ), this book makes it interesting.

Great First C++ Book, January 8, 1999
Reviewer: maxcomp@itw.com (see more about me) from Philadelphia

This book was invaluable in my experience with C++. I recommend it to anyone trying to learn C++.

*** C++ for You++ An Introduction to programming and Computer Science

by Maria Litvin, Gary Litvin
Amazon price: $47.50
Reading level: Young Adult
Hardcover - 585 pages 1 edition (December 15, 1997)
Skylight Publishing; ISBN: 0965485390
Amazon.com Sales Rank: 86,893
Avg. Customer Review: 3.5 out of 5 stars
Number of Reviews: 10

This book is often used in high schools but it seems that it is a way too complex book for the introductory class. This is a college level book. Only most gifted high schools students will be able to benefit from it. But for most it will bring a lot of frustration. Example are unnecessary complex. My son does not like it, but your mileage may vary :-)

 

1 out of 5 stars Help Files In Visual Studio are More helpful, November 4, 1999
Reviewer: A. Tattaglia from New Jersey

This has to be one of the poorest C++ books ever written. The book offers vague examples and often makes obscure points. The "lab" programs that the book asks you to do are insanely difficult. I e-mailed a friend who is a c++ programmer for a very prominent company and he stated that some of the examples he couldn't get and that there are no way that high school students would be able to understand them. I am ashamed that these books were ordered and distributed to students.

1 out of 5 stars Poorly Written Book., October 30, 1999
Reviewer: Joe Baker (joebak@mailexcite.com) from United States

I am an AP Computer Science student, and we are using this textbook in our class. Myself as well as my fellow classmates are finding this book very frustrating. This book makes simple aspects of c++ extremely obscure. The examples (if any) are very poor, and they do more to harm you than enhance your knowledge about c++. The examples are confusing, and the wording of the book does not explain points to clearly. There are even aspects of c++ that are described within the examples that you don't even know about. There are definitely better choices than this book, and I regret ever taking the course, because this book is doing nothing to enhance my knowledge about Programming In C++.

3 out of 5 stars An O.K. book, but choose another if possible., November 30, 1999
Reviewer: David Federman (see more about me) from Pennsylvania, USA

This book could be a little more detailed, i.e. using more examples. It throws random stuff at the reader for no reason which can be quite confusing. Try to convince your teacher to switch books in the beginning of the year; that's my suggestion.

5 out of 5 stars Excellent Text, But Beginners Beware, January 17, 2000
Reviewer: Derek R. Ploor from Madison, WI, USA

I used this text to prepare for the 1999 AP Computer Science examination. I found it to be excellent preparation for the exam. However, it must be noted that the text takes many topics beyond the depth required in the exam and if using the text solely for AP preparation, then the AP syllabus should be used as a guide as to how much to emphasize each topic. If the book is thoroughly gone through entirely though, it provides an excellent background for students studying technical fields at the collegiate level.

I had not had any C++ experience prior to using this text, but I did have experience with other programming languages. The subtitle "An Introduction to Programming and Computer Science" may give the impression that the book is for beginning high school programmers. This is not the case though. This book is for students who have elementary programming experience in high school and would like to go beyond this to study computer programming at the collegiate level. The material covered in this text is consistent with introductory programming courses taught in college.

5 out of 5 stars An excellent and lucid intro to C++., March 2, 2000
Reviewer: Aleksey Cherman from College Park, MD USA

C++ for You++ is a wonderful book. I don't know what the people who gave it 1/5 stars were thinking.

The difference between it and other introductory books becomes apparent from the very beginning of the book.

The typical approach in intro programming books is to begin with a completely useless "Hello World" program. I don't know about others, but I generally feel like I'm being talked down to if the book assumes that I am too dumb to be able to understand anything more.

People learn a language not to write "hello world", but useful, more complex code.

C++ For You++ starts off with a "dictionary" program. At first glance, this looks overwhelming. But as one starts to read the explanations and description that the book gives of what all the pieces of code do , and how they interact, it reason and meaning of the code becomes apparent.

This approach allows for a very rapid ascent to a level where very useful programs can be written. Other books I have read waste much more time pre-chewing everything for the student, and take a lot longer to start giving useful information.

When I picked up this book, my programming experience was confined to a very superficial study of Pascal (a couple of weeks worth of studying). Using this book, I was mastered enough C++ in three weeks to be able to outcompete the other AP C++ students in my class, who had had a *year* of high school level C/C++ class time, and were were using other books.

The examples and problems given are also excellent. Someone complained they are too hard. That's not true. They take thought, that is true, but isn't that the whole point? And we all know how brilliant those programmers at big companies such as the one reffered to by one of the reviewers always are, don't we? ;-)

Oh yes. This book covers some things that are NOT on the AP test (namely inheritance), in addition to the stuff on it. I think this was a great decision on the part of the authors, as inheritance is a fundamental part of C++ and OOP.

Most books out there are mere study aids for the AP test. This book actually teaches people to program in C++. And once you know C++, then it isn't much of a problem to demolish the AP test.

**+ Ap Exam in C++ -- from the author of the high school AP exam ;-)
by Susan Horwitz  
Paperback - 324 pages (July 1998) 
Peachpit Pr; ISBN: 0201357550 
Amazon.com Sales Rank: 45,724 
Avg. Customer Review: ****+
Number of Reviews: 5

Junk, but semi-official junk :-)  For five years, Susan Horwitz was the chair of the Advanced Placement Computer Science Development Committee, which sets the AP Computer Science curriculum and writes the exams.  She has been a Professor of Computer Science at the University of Wisconsin-Madison for over 10 years. Her homepage is very unimpressive, to say the least, especiallt for a computer science professor... Here is the list of publication  She teaches CMPS 453 Introduction to Software Methodology is very suspicious in itself (who can program -- program, who cannot -- teach others, and who can neither program nor nor teach programming are teaching methodology ;-)

Table of Contents
PART I: INTRODUCTION
The Courses
Comparison of Computer Science A & AB Topics
The AP CS Examinations
This Review Book


PART II: TOPICAL REVIEW
C++ Language Features
AP CS Classes
Design and Analysis of Data Structures and Algorithms
Sorting and Searching
Pointers and Linked Lists (AB only)
Trees (AB only)
Case Studies

PART III: PRACTICE EXAMINATIONS
Hints for Students
A One
A Two
AB One
AB Two


University first course in C++ textbooks

**** C++ Primer Plus Very good, but no e-text
Stephen Prata
Amazon Price: $28.00
Paperback - 1040 pages 3rd edition (September 1998)
Macmillan Publishing Company; ISBN: 1571691626 ; Dimensions (in inches): 2.04 x 9.09 x 7.42
Amazon.com Sales Rank: 5,685
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 28 
Source Code
Updates & Corrections
Softpanorama Review
This very good book contain a little bit more information than a newcomer to C++ probably can digest in one course even at the university level, but still is an extremely good deal. Not only the book itself is very well written and has an excellent typographic quality. Despite its very low ($28) price this is a 1040 pages brick with CD/ROM that contains a nice and pretty rare for an introductory book product Metrowerks CodeWarrior Lite - Cross platform edition (if you buy separately a learning edition 2.0 it will cost you $49). Book covers new ANSI Standard. 
 
Generally this is a good all-around C++ book. Examples are downloadable from  Waite Group's C++ Primer Plus Third Edition. This is one of a few books on C++ that does not presuppose substantial C knowledge and first eight chapters (almost 400 pages) are introduction to a "better C" . 
Lots of good examples. Each chapter has a review questions (usually 10-15 questions on the contents of the chapter, to which the answers can be found in an Appendix) and a programming exercises section.

Loops are explained using flowchart which is an optimal pedagogical method for this constructs but exceptions were not even mentioned in the chapter.
 
As for complex features of C++ it's unrealistic to expect that one book can provide the best explanations of all such features. Initially an author is stronger in a particular subset of them and is weaker in another. Here is my estimates of the quality of explanation of particular features:
The programming exercises at the end of every chapter are decent and worth doing.
The book offers a nice balance between the theory of C++ and the practical aspects of programming. I generally agree with one of the readers reviews:

This book is unique in that no assumption is made of the reader's prior experience, and yet it is not "C++ for dummies". You will learn more from this book than you would from several good courses in C++ and OOP. "

On the negative side I would like to mention that problems with C++ as a language and C++ object model are almost completely omitted from the book. There is no list of pitfalls after each chapter and that diminishes usefulness of the book for a newcomer. That might provide readers with the false sense of security (the authors does mention that multiple inheritance is a tricky thing, but gives no details).  The complexity of features is also not discussed and many readers feel that after more of less manageable first 12 chapters they are thrown into a  tar pit and every movement forward became so difficult and slow...
 
Exceptions,  which are IMHO one of the central advantages of C++ over C, are introduced late and are covered weakly. It's not even a separate chapter (they are covered as a part of Ch. 14 pp 690-720 -- in just 30 pages). Interaction exceptions with other features of the languages is not discussed.  The book completely avoid C++ history and without historic context it's difficult to understand why a particular feature was introduced into the language and how it interact with preexisting features. Here exceptions and templates are two examples that were introduced into a language late and conflict with some preexisting features and solutions.
Here are some relevant Amazon reviews:

Great Coverage
, October 20, 2000
Reviewer: Philippe Remy (see more about me) from Newport, NSW Australia

This must be the first book on programming that I actually managed to read from start to finish, and I have tried a few.

Very good coverage of a great deal of subjects, very easy to read.

The explanations are very clear, most examples are very illustrative, and yet easy to follow. I do recommend anyone reading the book to try the examples on their own (well, with a little peek in the book when in doubt...).

The book also highlights potential compatibility issues between compilers (such as GNU G++, MS VC++ 5.0,...), which is great and helpful when trying out the examples. I personally used GNU G++ in a Linux environment, and found most of the examples working as presented in the book (only a few exceptions, especially in Chapter 15 on the STL).

Each chapter has got a review section with 10-15 questions on the contents of the chapter, to which the answers can be found in an Appendix.

The writing style of the author is very natural: everything seems logical, and plain simple (most of the time).

The examples are sometimes too simple to my liking, but then again, that is a very subjective topic.

A few remarks:

- As has been highlighted by other readers, there are some typos, but not that many (some would say that one is one too many, but after having read the "SAMS Teach Yourself Visual Basic in 21 days", I really don't feel like complaining about "C++ Primer Plus);

- While the first 12 chapters are "light", the last 4 are not for the faint-hearted: the material covered is indeed heavy, and requires a lot of concentration. I found that I spent at least as much time on "studying" these last 4 chapters as I did on the rest of the book;

- Some examples in the text do suffer from inadequacies, and if you try the example code as it is in the book, you get compiler errors. This remark does not apply to the "full listing" examples, but to small code snippets within the text body. Most of the time, these inadequacies are obvious and do not impact the understanding;

- Some chapters do not go into enough detail (again, to my liking, and again, it is subjective). An example is the coverage of Exceptions: there is very little in the book about the interaction between exceptions and constructors, and yet, I would have personally thought pertinent to give a few examples of the types of exceptions a constructor can throw. In particular, there is no mention of the impact of throwing an exception from within a constructor.

These are the reasons why I did not give 5 stars, but the book is, by all means, a reference that I am sure I will go back to time and time again.

Enjoy the reading.

5 out of 5 stars Definitely for Beginners, June 4, 2000
Reviewer: A reader from UC Berkeley

This book was written for the beginner. If you have never seen C++ or any other computer language before or don't even have the slightest idea of computers, then read this book. The other customer reviews who gave this book a one star wrote their opinion from a professional point of view -- which is not the intended audience of this book. If you are an expert on C and C++ read another book. Beginners need a simple picture of C++ not tedious paragraphs. To understand the basics of the C++ language, a beginner needs only two things: 1) A simple summary of the command, and 2) an example. Unless your IQ is less than zero, then you will need extra help. C++ is a very complicated language; in other words, learning C++ is a never ending process -- you can be a professional and still learn new things about it; you can be a Phd. professor and still search for an explanation; you can even be working for Microsoft and still make new discoveries. As beginners, we want something quick. This book is like the first step on a long stairway. And if the beginner decides to pursue the depths of C++, the best resource would be your peers, colleagues, professors, and nowadays, we have the internet -- websites and chatrooms galore. All you have to do is ask. Besides, like basketball, the C++ language is self learned -- beginners need practice, practice, practice.

5 out of 5 stars Clear, concise, and easy to read while staying informative., January 31, 2000
Reviewer: Robert Gamble (gambler@vxc.uncwil.edu) (see more about me) from USA

As a newcomer to C++ (and C), I had a previous background in Pascal and Quick Basic. I had looked through numerous books on the subject before checking the reviews here, and decided to pick up this book as my basic tutorial. One of the things that decided the issue for me was the apparantly extensive discussion of Classes and OOP.

Having had the book for 2 weeks now, and working through it while nailing down three jobs, I have to say that the money was well worth it. Complete examples are given, along with notes for the programs, for each new command and concept. The notable exception has been on the early section covering data formats similar to structures (Unions and Enumerations). I found this section to be confusing and thus skimmed it with hopes that they will be explained later.

The exercises in the back of each chapter are actually fun, mainly because they're manageable. As a side note, I do wonder how much material in this book overlaps that of the Waite's Guide to OOP using C++, since I am also thinking about getting that book. Any comments on this would be greatly appreciated (my e-mail is listed in this review). 

5 out of 5 stars A great book for beginners, March 15, 2000
Reviewer: Neurite from Florida

When I am writing this review, I keep in mind this is a teaching book for novices. You can't ask too much for a book at this level. A seasoned programmer should look for other books. I have to say the author does his job of introducing C++ to beginners perfectly. The stuff in the book is always simple, straightforward, easy and fun to read. No other book at similar levels maintains this style of writing so well.

This book is also relatively new. I tried most samples using DJGPP and Visual C++ 60. I found few compatibility problems. If there are, they are most probably addressed following the samples.

 

 C++ How to Program

by Harvey M. Deitel, Paul J. Deitel
Our Price: $70.00
Paperback - 1168 pages 3rd Bk&cdr edition (August 3, 2000)
Prentice Hall; ISBN: 0130895717 ; Dimensions (in inches): 1.45 x 9.14 x 7.03

Amazon.com Sales Rank: 2,574
Popular in: Nashua, NH (#12) , Richmond, CA (#4) . See more
Avg. Customer Rating: 3.5 out of 5 stars

Number of Reviews: 40

3 of 5 stars New Edition is Over-rated, April 30, 2001
Reviewer: A reader from Nebraska

This third edition is essentially the same as the second edition by Deitel, with the exception of two changes. One being that it has a couple additional chapters and two being that it comes with a sample Microsoft Visual C++ compiler. However, be warned, this MS Visual C++ is only a sample and distribution of executables ("exes") is prohibited by the EULA (End user license agreement.) Finally, the additional chapters which are added can only be understood by the experienced C++ programmer. So, if you are just starting out, I highly suggest you save yourself some money and buy an older edition, new or used. (1st or 2nd edit.)

If you need a C++ Compiler, I suggest buying the MS Visual C++ with full rights in the EULA so one can distribute whatever programs one produces. Or, save money by downloading a free one off the Net. Your choice.

5 of 5 stars Comprehensive and up-to-date, May 6, 2001
Reviewer: Jong Hang from Kuala Lumpur, Malaysia

I am a self-taught C++ programmer and already have quite a number of C++ books, from beginner's to advanced. Like it or not, I would say this book is the most up-to-date and comprehensive coverage. Very rarely I find other books, be it beginner's or advanced that cover topics like static cast (which is essential in game programming in which I am working on now), proxy class, string and STL so well. As for the elevator simulations using Object Oriented approach, well, what can I say, they are simply superb. They are some of the examples closest to the 'real world' compare to other examples found in other books. I strongly recommend this book for any self-starter in C++.

5 of 5 stars This book is da bomb!!, March 14, 2001
Reviewer: Absar Mirza from London, England

What can I say? This book is definitely the bomb, meaning the best. I cannot understand why some people do not like this book, it's probably cos they wanna spend under Ј20 only and buy one of them cheap, lame books that don't know where they're goin'. It might be even cos' these people can't read. I am currently studying computing at Westminster university, without having previous knowledge of computers. Previous knowledge? I never touched a computer before I started university, so it is obvious I wouldn't have the slightest clue about programming. Beginning with C++ is not the best introduction to programming because it such an advanced and complex language. I looked through many books including the C++ for dummies, as I am one myself, but it is way too complex, as it doesn't teach you the basics properly and jumps onto complex topics expecting a thicko like me to know the basics just like that. Even the basics are difficult to grasp. However, this book was recommended to me by some programming geniuses, and believe me, it is definately the book I'd recommend to everyone who is as thick as me. It covers and explains the most basic element, word for word to the most complex topics, and has key points to assist you with coloured illustrations to catch your attention. This is the the book for the beginners and the advanced students or those practicing programming. Although I've been doing C++ for nearly 7 months, I still haven't got a clue, not even the basics, as I only purchased this book 2 weeks ago. However, I have learnt more in the space of 2 weeks than I have learnt in the past 7 months, so there you go!!!

 

***+ A First Book of C++ From Here to There by Gary J. Bronson. A very decent intro book.  see review above. But rather expensive and does not contain explanation of more complex features of the language like inheritance. See also similar and probably more modern book Program Development and Design Using C++
 

***+ Ivor Horton's Beginning C++ : The Complete Language ANSI/ISO Compliant (Wrox Beginning Series)
  Usually ships in 24 hours
Ivor Horton / Paperback / Published 1998
Amazon price: $31.99 ~ You Save: $8.00 (20%)
Paperback - 950 pages 2nd edition (May 1998)
Wrox Press Inc; ISBN: 186100012X ; Dimensions (in inches): 2.07 x 9.21 x 7.19
Amazon.com Sales Rank: 9,427
Avg. Customer Review: ****+ Number of Reviews: 10
This book competes with Stephen Prata's C++ Primer Plus, but does not contain full C intro.  You need to know C to benefit from this book.

 


University level second course in C++ 
(Often called Advanced Object Oriented programming)

See also STL books

**** The C++ Programming Language  3-d ed.
Bjarne Stroustrup / Paperback / Published 1997
Please read review The C++ Programming Language, Third Edition -- review from DDJ
 
***+ C++ Primer
Stanley B. Lippman, and Josée Lajoie  / Paperback / Published 1998 (third edition)
Amazon Price: $45.95

Addison-Wesley Longman ( http://www.awl.com/ )
ISBN 0-201-82470-1 
Pages 1237 
 
Slightly outdated. Not exactly primer ;-) and definitely not suitable for beginners.  Covers exceptions. The reader needs to know C very well in order to benefit from the book or  should at least have your feet wet with both C or C++. Amazon reviews  are not that flattering as the review in ERCB Review: C++ Primer -- The Most Educational Path To Learning C++ and so on and so forth. The most relevant Amazon.com reviews are reproduced below:

beginner, July 11, 2000
Reviewer: badname (see more about me) from Australia

I think most of reviewers who wrote reviews for this book are experienced programmers or at least they know how to buy computer books. Well I am a C++ beginner and I bought this book and I've used it for a while. See how a real beginner think. I bought this book 2 months ago when I started programming in C++. Nobody recommended it to me. The reason I decided to buy it because it looked to me that the book was very well organized. Well it really is. When I started reading and practining with it, I found that this book is definitely not for beginners. The author wrote in preface "Knowledge of the C language is not assumed... this book is intended as a first book on C++; it is not intended as a first book in programming!" I think if he changed to " this book is intended to be used with other C++ books", would be much better because it's really hard to understand C++ by using this book alone. If you use this book as your first book for C++ and you understand well what are presented in the book, you may be one of the following.

1. You hold the head of the department of computer science

2. You just received bronze medal for computer olympic or the like

3. You should found your own software company soon

4. You are cheating

The book starts with a program contained several funtions, followed by processor directives and pointer. I didn't understand most of first 100 pages but when I go to other books and came back to this book, I could understand much better.

However I give this book 5 stars. What I can say is the book is great but not for beginners. Now I have about 12 books on C++ and I regrete that I bought some of these but I never regrete that I bought this book. I think that this book is the best of all I have. Why? Other viewers already mention it all. If you know a litle bit of C or C++ and you are thinking to buy a book, think of this one. You never regret.

Pretty Good, but should change the title....(why?), April 25, 2000
Reviewer: dave_japan (see more about me) from University of Tsukuba, Japan


After years of being a C++ programmer, read quite a lot of books (about 20, I think)... I considered this one as one of my favourite, that I usually refer to when I have some problem.

However, this book is definitely not-for-beginner. So, some of the reader might be misleading by/confuse with its title. The writers had stated this clearly on the back cover, which said "for developers new to C++" and in the preface, which said "This book is intended as a first book on C++; it is NOT intended as a first book on programming!" (However, it's a Primer for "C++" not for "Programming" anyway :-)

One big thing that made this book different from most of the C++ introductory books is, this book provided a lot of "real-world" program examples. Here, I really mean "real world", the program that you can really "use" (maybe after make them a bit more advanced/complete), like the text query system. While all other books provided some little codes to illustrate the points. Ok, that's better for those who know nothing, someone who come to C++ "from scratch", something like that... But after you finished it, you still might not get the idea of how to put them together , unless there are any bigger program to illustrate the idea.

Note to those who are new to programming : Read other book first, so you won't blame on a good book like this.

Note to everyone who had been misleaded by this book's title : Make sure you've read the back cover and the preface of any book before buying it, if you can... (if you can't, you have to try your luck..., good luck for you then :-)

This has to be THE classic book on C++, April 26, 2000
Reviewer: A. Kim from New York

This book is to C++ what K&R's C programming language is to C. Both books are not for novices to C or C++, so any harsh comments on this book from beginners should not deter intermediate to advanced C++ programmers from reading it. This book is concise, logical, to the point, and no extraneous, redundant explanations. Just like what K&R's C is. Through careful reading, I was able to follow 95-99% of the material, which is much better percentage than I was doing with Stroupstrup's (maybe less than 75%). If you are a C++ practitioner going for job interviews, each page in this book is a gem, clearly written,concise interview questions. I was programming in C++ for 4 years before I thoroughly read this book, and I feel like I know everything about C++ at this point (ok, maybe 9 out of the scale of 1-10)

C++ Primer, February 18, 2000
Reviewer: Jeff Maxwell from USA

The worst textbook I've ever used. I'm trying to learn C++ and I find this book to be confusing, to say the least. The method of showing three or four wrong ways to do something before showing the correct method is totally exasperating. I have completely lost all faith in this book as a learning tool. A complete and total waste of time, effort and money!

A reader from Computer Science Lab. U.F. , July 21, 1999 
Head for higher water....

I'm quite confused about who the intended audience of this book is for. The book's cover would suggest that its for beginners but it is written in such a way that a beginner would have a tough time with it. And it is not an advanced book by my definition. What really ruined this book is the ridiculous layout of the book. Whoever made the decision to write this book this way should be forced to program in Prolog for the next 6 months or read the entire "War And Peace" while standing on one foot. You don't present material early in a book and then explain it many chapters later! This goes against the human thought proccess. The material should have been presented with some semblance of logical order! Lippman knows his stuff, he just does'nt know how to write. I would recommend passing this one over for a more clearly written book.

A reader from USA , July 10, 1999 
I "Teach Myself C++" with this book.

I don't know anything about C++, even though I have a master degree in computer science. I need to learn C++ because we are in the process of converting C code to OO paradigm. C++ is the first choice. This book was given to me by my boss (I did not spend a dime). I read it from cover to cover, and I am reengineering our application in C++. In my opinion, this is an execllent book, althought I didn't read any other C++ books. I like to give it 5 stars, because during the past 5 months I learn more than just a languag syntax. I could give this book a bad review so nobody wants to read it. But it is not fair, isn't it?

alec99@earthlink.net from US , June 30, 1999 
Disorganized, not for a begginer
The content of the book is fair, however the organization is terrible. Some more complicated topics are introduced before simple concepts, or in some areas, complicated topics that were not discussed are used to explain simple ideas (it does get better after chapter 5 or so, but the first five chapters are the very basics that you should know before doing anything remotley complicated). For this reason, you should at least have your feet wet with C or C++ before reading this book.

Next, this is one of the few books I've read that has 'decent' quiz questions. But guess what ? There are no answers!

Some topics are not explained very well, again the author assumes you already know something about it.

The examples in the book are fair, but most of them are not 'real world'. In several places however, there are just fragments of code instead of a full example, which can sometimes confuse the reader.

This book should not be bought alone to learn ANSI C++ if you are just starting with the language, however it can be used in addition to another book.

A reader from New York, USA , May 13, 1999 2 out of 5 stars
The authors assume too much
This might have been a good book on C++ programming if the authors did not assume any prior knowledge of C++ on the reader's part. The way information is presented in the book is much too difficult to grasp (and i'm not a beginner in programming) - the reader is drowned by the complexity (or maybe good explanation) of programming examples. I do understand that the authors know a lot about C++, but the book falls short of trying to explain the language in a clear and easy-to-understand manner. The bottom line is - look somewhere else for a good C++ textbook. P.S. The book that i personally liked reading is called "C++ primer plus".

Excellent Introduction to C++ for C programmers, December 21, 1997
Reviewer: paulmac@apl.jhu.edu (see more about me) from Ellicott City, Maryland, USA

Lippman's primer is the first book on C++ programming that I read. It happends to remain one of my favorites. The first part of the book is devoted to the "basic" syntax of the language. The differences with C are pointed out and for those unfamiliar with C programming this material is essential. The second half of the book coveres C++ specific topics like templates and object-oriented constructs. I find Lippman's examples superb.

I would rate the book a 9 out of 10 for technical content, but unfortunately C++ has changed appreciably in the 6 years since it's publication. Overall I'd have to give it a 7 since it does not cover the recent changes to the language, for example the Standard Library (STL). Of course, only one introductory text does cover STL anyway, so I have high standards.

Conversly, since the book was written about the time of the Annotated Reference Manual (ARM) it is a great introduction for experienced programmers who don't already know C++ and who might not want to know right away about the latest and esoteric features of the language. Persons entirely new to programming might not want to start with this book.

I teach C++ programming courses to part-time graduate students at the Johns Hopkins University and of the 20 or 30 C++ texts on my shelf I consider C++ Primer one of the top 2-3.

Paul McNamee --This text refers to the Paperback edition.

 
 
Thinking in C++, Vol. 1 (2nd Edition) is available as a e-book www.bruceeckel.com.
by Bruce Eckel
Amazon price: $31.96
Paperback - 720 pages 2nd Bk&cdr edition (March 15, 2000)
Prentice Hall; ISBN: 0139798099 ; Dimensions (in inches): 1.30 x 9.20 x 7.06
Amazon.com Sales Rank: 1,832
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 8
This probably will be not bad intermediate book, although the author is a more "object-oriented fundamentalist" than I would like...

5 out of 5 stars think like a programmer and apply this using C++, June 22, 2000
Reviewer: maged (see more about me) from Ottawa

It's hard to find a book that teaches you how to program or how to use your logic to write programs. This book describes the problem of programming in C++ in a complete different way than other c++ books. It doesn't list the keywords and the syntax of the language but rather introduce you to problems that any programmer using any language might face, and then give you the answer in C++. It was nice that you can write a C++ program just in the second chapter while understanding completely the meaning and the usage of keywords like "#include" and namespaces which you'll usually find in the last chapters of ordinary c++ books. so you'll get the feeling of how, why and where to use any part of c++ language not just knowing how to use it. Thanks to Bruce Eckel for providing the book completely online in his web site. that shows that he really cares to make people understand c++ programming not just making money out of publishing a book. I'll be more generous than him by buying the hardcopy of the book :-)

2 out of 5 stars Looking for a Good C++ Tutorial for C Programmers?, July 26, 2000
Reviewer: A Seasoned Programmer from Seattle, WA (USA)

As a C programmer, I purchased "Thinking in C++" to learn OOP and C++, but I'm sadly disappointed. I find the book very wordy and poorly organized, and the gradeschool-style of large type makes reading it even more difficult. And you can forget about using the book as a reference, as clear definitions are difficult to find. The CD-ROM may be helpful to beginning programmers, but don't expect too much from it. And realize (arrgh) that you have to use Microsoft products exclusively to run the CD! On the plus side, the book contains lots of code examples showing how to use the language attributes, which is very helpful.

If you like a fluffy, narrative style of writing then perhaps you'll like this book, but most readers will find the book to be like wading through molasses.


4 out of 5 stars Finally, a decent C++ Tutorial, July 15, 2000
Reviewer: Allen Vander Meulen; Masters Consultants Inc (see more about me) from West Chester, PA USA

Thing in C++ is an excellent introduction to C++ programming. As a fairly competent C programmer, I found his book to be clear and readable: focusing on the essentials and stepping you through C++ in an orderly and straightfoward fashion. I highly recommend it for any programmer looking to get into C++.

Mr. Eckel's text and example code rely heavily on the STL (aka the ANSI Standard C++ Library), which is an excellent idea. However, the text does little more than give you a flavor of what the STL is, and what it can do. The author promises that a second volume (Thinking in C++, 2nd. Editon, Volume 2) is in the works, which will delve deep into STL. He refers you to his website to see rough drafts of this planned text and a companion text (The Thinking in C++, 2nd. Edition, Volume 1 Annotated Solutions Guide by Chuck Allison).

Unfortunately, it appears that neither of these companion books will be published for at least a year. The text he supplies on the website is still (obviously) in very incomplete form.

This leaves me more than a little disappointed. If you buy this text, you'll find yourself (like me) returning to Amazon.com in a few days to find someone else's book on STL!


C++ Standard Library

The C++ Standard Library A Tutorial and Reference
by Nicolai M. Josuttis
Our Price: $54.95
Hardcover - 832 pages 1 edition (August 1999)
Addison-Wesley Pub Co; ISBN: 0201379260 ; Dimensions (in inches): 1.61 x 9.48 x 7.63
Amazon.com Sales Rank: 1,084
Popular in: Sandia National Laboratories (#15) , Global Datalink, Inc. (#6)
Avg. Customer Rating: 4.8 out of 5 stars
Number of Reviews: 29
5 of 5 stars The winner and new champion, March 14, 2000
Reviewer: Joel M. Sarch from Silicon Valley, CA

It used to be that my colleagues and I would sit around arguing about which was the best book on STL and/or Standard C++. Each of the available offerings fell short in a major way. Either it was to introductory, or too complex and incoherent. Or perhaps it neglected major topics.

Josuttis is the new undisputed champion. Chapters 2 & 3 alone are worth more than the price of the book. And it gets better as you go.

Yes, some of the examples involve simple objects. However, from the way the author develops the subject matter, extending the examples to more complex, dynamic objects becomes a simple task.

This is probably the only book you'll ever need on STL and the C++ Standard Library extensions.

5 of 5 stars STL and More..., December 24, 2000
Reviewer: James Boer (see more about me) from Kirkland, WA United States

Mr. Josuttis offers in this book an amazingly comprehensive guide to the often bewildering C++ standard library. I originally purchased this book looking for more STL information, and I was certainly not disappointed in that respect. STL descriptions account for nearly half of the book volume. However, as non-STL questions arose, I found myself digging into this book time and time again (questions about auto_ptr, string class, allocators, etc).

If you're a C++ programmer and do not already own a current (circa 1999 or later) library reference, do yourself and your code a favor and grab a copy of this book. C++ is an extremely scalable language. It's easy to use only knowing a small subset of the language and library features. Having a reference such as this one ensures that you'll be less likely to accidentally duplicate work that has already been done for you in the standard library.

As far as book organization goes, I'd say that the book does lean more towards "reference" rather than "tutorial", but I never believe a book that claims to be both anyhow. Anyone interested in a pure tutorial should buy a book specifically written with that in mind. For more experienced programmers not needing quite as much hand holding, however, the book does work as advertised.

Overall, I can't really recommend this book more enthusiastically.

 
Accelerated C++ Practical Programming by Example (C++ In-Depth Series)
by Andrew Koenig, Barbara E. Moo
Our Price: $33.95
Paperback - 352 pages 1 edition (August 14, 2000)
Addison-Wesley Pub Co; ISBN: 020170353X ; Dimensions (in inches): 0.71 x 9.22 x 7.39
Amazon.com Sales Rank: 1,549
Avg. Customer Rating: 5 out of 5 stars
Number of Reviews: 15

Very effective alternative to other C++ books., September 30, 2000
Reviewer: Robert Gamble (see more about me) from Wilmington, NC USA

I'll start by saying that I probably would not have understood this book as well as I have, if I had not already been teaching myself C++ through other forums (primers and online). The thing that most of these other forums have in common is that they start with the basics and build up slowly to the more abstract concepts. The problems come during the switchovers (char* to string, procedural programming to object oriented, pointers to iterators, linked lists to containers, etc). In almost all cases you learn the more basic, and paradoxically more difficult concepts first. Then you have to 'unlearn what you have learned' in order to use the more advanced concepts.

So what's different about this book? It teaches a mix of syntax and 'advanced' concepts right from the beginning. You learn the basics of loops and choice statements while using the Standard Library. You also use them in specific examples that have real world uses (the grading program in the first few chapters for example). The Standard Library is _easy_ compared to arrays, char*, rolling your own linked list, using pointers, etc. Since it takes far less time to learn, you can be writing useful programs very quickly. _Then_ the authors go on to describe some of the more 'basic' concepts, usually in terms of how they implement some of the ideas behind the Standard Library. Since you have that understanding already, things like pointers become easier not only to learn, but to understand how they can be used.

I have one complaint about the book, and that's with the grading program, specifically how it appears in Chapter 4. As written, it's very confusing to actually enter data to get it to run correctly. A minor complaint though, considering how many times I thought to myself 'Aha! This is what I could use to solve this problem I've been having.' Or 'Aha! So this is what those other books were trying to say.'

In a nutshell, it's a refreshing look at C++ and if not able to stand on its own, is a must have supplement for anyone learning or using the language. At the very least, it's made me question the seeming SOP of giving the Standard Library one or two chapters and calling fundamentally harder concepts 'basic' and the concepts that make programming in C++ easier being considered 'advanced'.

5 of 5 stars The best "learning C++" book yet., November 22, 2000
Reviewer: james_dennett (see more about me) from Bournemouth, Dorset United Kingdom

I picked up a copy of "Accelerated C++" to see what the fuss was about, and I'll add my voice to those who have praised this book. It is the first book I've seen to introduce C++ coding in a high-level manner along with some notion of invariants, and reminded me in some ways of the text which taught me Modula-2 a decade ago (Sale's "Modula-2: Disciple and Design", as if it matters). I think/hope that this book will help to improve the average quality of [C++] programming.

If you've been put off learning C++ because you think that it's just a low-level language, this book might be your reason to try again: it shows how to use C++ in a high-level style, and more importantly it reminds us how to _think_ in a high-level style and translate that directly to code.

-- James Dennett <jdennett@acm.org>

 
Standard Template Library : A Definitive Approach to C++ Programming Using STL
P. J. Plauger, et al / Paperback / Published 1998
Data Structures in C++ Using the Standard Template Library ~ Ships in 2-3 days
Timothy Budd / Hardcover / Published 1997
Stl for C++ Programmers ~ Usually ships in 24 hours
Leen Ammeraal, Leendert Ammeraal / Paperback / Published 1997
Amazon Price : $54.99

C++ Programmer's Guide to the Standard Template Library by Mark Nelson

 http://web2.airmail.net/markn 


Advanced C++

See also Optimization
More Exceptional C++
by Herb Sutter
... Our Price: $34.99
Paperback - 256 pages 1st edition (December 17, 2001)
Addison-Wesley Pub Co; ISBN: 020170434X

Amazon.com Sales Rank: 5,740

5 of 5 stars Filled with forty all-new working strategies and solutions, February 9, 2002
Reviewer: Midwest Book Review (see more about me) from Oregon, WI USA

Part of the outstanding Addison-Wesley "C++ In-Depth Series", Herb Sutter's More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, And Solutions is the sequel to his popular and "user friendly" Exceptional C++: 47 Engineering Puzzles, Programming Problems, And Solutions (0201615622). Filled with forty all-new working strategies and solutions to solve real-world problems, More Exceptional C++ presents its valuable information in problem-and-solution format so that experienced programmers can streamline their code and improve their results. Chapters cover such topics as code optimization and so-called "lazy optimization"; the uses and pitfalls of multiple inheritance; how to properly use auto_ptr and much, much more. A valuable and informative resource for experienced C++ programmers.


5 of 5 stars Effective C++'s Big Brother, February 1, 2002
Reviewer: A reader from Sim City, CA (Somewhere in the Bay Area)

Addison Wesley's "C++ In-Depth Series" is showing an amazing consistency in producing one winner after the other. Any C++ programmer could almost blindly pick up any book in the series and learn some new valuable insights.

I like "More Exceptional C++" even more than the original. It's not clear to me whether this is because the book is better or because the subject matter has become more important to me. The "Exceptional C++" series is shaping up to be a big brother to the "Effective C++" series, covering areas somewhat more advanced than those in the Effective series, such as exceptions, templates, and namespaces.

One aspect of the book I don't particularly care for is the quizzes/points format that, I suspect, is due to the origins of the book in the author's "Guru of the Week" series.

This is a great book and should belong in every advanced C++ programmer's personal library.


5 of 5 stars Picks Up Where The First Book Left Off, January 30, 2002
Reviewer: Philip R. Heath (see more about me) from Plano, TX United States

More Exceptional C++ is every bit as good as the first offering from Sutter. Like the first, this is an advanced text, and a solid working knowledge of C++ is necessary to get the most out of this book.

For those without experience with Sutter's previous book, this is divided into "Items" grouped together by broad subject area. Unless the the items make up a series such as Items 13-16, they can be read independently and in any order. This layout is helpful to the reader who doesn't have a lot of time to read a book from cover to cover. One can sit down and spend 30 minutes with an item and gain valuable insight into the specific subject matter Sutter deals with.

I enjoy the author's writing style because he tends to be more conversational than lecturing. He interjects humor - albeit it geek humor - from time to time. The presentation makes learning advanced techniques, dare I say, fun rather than dry and cumbersome.

It is also worth noting that being advanced doesn't preclude being practical. Sutter deals with everyday topics such as the STL, exception safety, and inheritance. If you are ready to make the step to advanced C++ programmer, this book will guide you on your way in a practical, enjoyable manner.

 
Exceptional C++ 47 Engineering Puzzles, Programming Problems, and Solutions
by Herb Sutter
Our Price: $33.95
Paperback - 208 pages 1 edition (December 2, 1999)
Addison-Wesley Pub Co; ISBN: 0201615622 ; Dimensions (in inches): 0.37 x 9.15 x 7.31
Amazon.com Sales Rank: 6,977
Average Customer Rating: 4.9 out of 5 stars Based on 17 reviews. 
Standard C++ IOStreams and Locales Advanced Programmer's Guide and Reference
by Angelika Langer, Klaus Kreft
Our Price: $49.95
Hardcover - 672 pages 1 edition (January 21, 2000)
Addison-Wesley Pub Co; ISBN: 0201183951 ; Dimensions (in inches): 1.38 x 9.56 x 7.72
Amazon.com Sales Rank: 21,832
Average Customer Rating: 4.8 out of 5 stars Based on 13 reviews.

5 of 5 stars Hidden Treasures, February 2, 2001
Reviewer: Klaus Wittlich from Cologne, Germany

The reason why I bought this book was the wish to learn more about the C++ Standard. When I held the book in my hand the first time I was not shure if it would be worth the time reading it. It seemed only be useful for a DOS - like software, not for my GUI problems.

So I was very surprised in a good sense to read about ideas how to use IOStreams for GUI - internationalization (I18N), described on pages 175 and 225. The IOStreams library, as it is described by the authors, is a better answer to my I18N - problems than all other three GUI - libraries I know. It offers more flexibility.

An other treasure was the techniqe of two-phase polymorphic dispatch described in this excellent book. This technique allows me a much more flexible design than in the past. If the customer asked for new features I often had to change my class hierarchy (and all classes in it) by adding new virtual functions. It is cumbersome if it is code of a library. The two-phase polymorphic dispatch shows an alternative.

The third (but not the last) treasure are the appendices. They are a good reference for C++ refinements.

The thought I perhaps would not have read this book worries me, I had missed a chance.

Many thanks to the authors writing such an excellent book.

Efficient C++ Performance Programming Techniques
by Dov Bulka, David Mayhew
Our Price: $34.95
Paperback - 336 pages 1 edition (October 22, 1999)
Addison-Wesley Pub Co; ISBN: 0201379503 ; Dimensions (in inches): 0.63 x 9.23 x 7.42
Amazon.com Sales Rank: 4,467

Average Customer Rating: 4.0 out of 5 stars Based on 10 reviews. 
4 of 5 stars Keys to acceptable C++ performance, January 4, 2001
Reviewer: dmall@literateprogramming.com (see more about me) from San Gabriel, CA USA

The authors are developers of network and web server software for IBM. They specifically target performance issues related to C++ programming. The primary topics of discussion are constructors & destructors, virtual functions, return value optimization, temporary objects, inlining, memory managers, and reference counting. Learn how to create efficient constructor functions. Learn how to avoid the costly construction of temporary objects. The authors promote "lazy evaluation" and nail "useless computations" and "obsolete code." Algorithm and data structure discussions are referred to other standard references, however there is coverage of the STL structures (insertion, deletion, traversal, and find operations). An additional bonus is the excellent coverage of multithreading issues.
4 of 5 stars Recommended, with reservations, June 16, 2000
Reviewer: George Reilly (see more about me) from Seattle, Washington, USA
I thought the book a useful compendium of performance information, as far as it went: temporaries, constructors and destructors, virtual functions, inlining, reference counting, some STL, multiprocessor scalability, and system architecture dependencies. My reservations are the number of omissions (most of the Standard Library, space efficiency, exceptions, performance measurement, etc.) and the number of typos.

**** Effective C++ CD : 85 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series) ~ Usually ships in 24 hours
Scott Meyers / Software / Published 1999
Amazon price: $29.95
 
Collection and Container Classes in C++
Cameron Hughes, Tracey Hughes / Paperback / Published 1996

Optimization

**** Effective C++ : 50 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series) - Scott Meyers; Paperback.

I recommend to buy a CD copy instead of paper copy (see below)

Effective C++ CD : 85 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series) ~ Usually ships in 24 hours
Scott Meyers / Software / Published 1999
Amazon price: $29.95
 
Effective C++ CD is the HTML version of Scott Meyers' previous two works, Effective C++, Second Edition and More Effective C++. Additionally, five supplementary magazine articles appear in the collection. There are also links to relevant material on the Web which that been added to the current edition and which did not appear in the print edition. 

See also review in ERCB

????? Optimizing C ++   Full e-text is available  here
Steve Heller / Paperback / Published 1998
Amazon price: $44.99
Average Customer Review: 3.5 out of 5 stars
Paperback - 416 pages Bk&Cd Rom edition (August 1998)
Prentice Hall; ISBN: 0139774300
Please do not believe some trashing reviews at Amazon. You need to question both my opinion and, especially, the opinion of object-oriented fundamentalists. You can easily guest who of the readers are object-oriented fundamentalists from the demands of C++ specific optimization, etc.  Like other high demand cults object-oriented fundamentalists is a pretty dangerous and aggressive sect ;-).  The first and the most important sign of mastery is to know where to stop. That mean you need to know were you need to use OO technique and were is will be just waist of time and resources. Actually the most obvious method of optimizing C++ is to avoid C++ features that are too expensive, especially in time critical loops. So objection that optimizations are related to C not to C++ are simply naive. Actually the best optimization for C++ program is a complete rewrite in C (and may be some TCL) ;-).

GCC

Teach Yourself C++ for LINUX in 21 Days (With CD-ROM)
by Jesse Liberty, David B. Horvath
Our Price: $31.99
Paperback - 1109 pages 1st edition (May 15, 2000)
Sams; ISBN: 0672318954 ; Dimensions (in inches): 2.28 x 9.10 x 7.35
Amazon.com Sales Rank: 88,147
Average Customer Rating: 4.3 out of 5 stars Based on 3 reviews.
 
Tom Swan's GNU C++ for Linux (Professional Dev. Guide)
by Tom Swan
Our Price: $39.99
Paperback - 848 pages Bk&Cd Rom edition (December 6, 1999)
Que; ISBN: 0789721538 ; Dimensions (in inches): 2.01 x 9.13 x 7.42
Amazon.com Sales Rank: 80,051

Average Customer Rating: 3.5 out of 5 stars Based on 6 reviews.
4 of 5 stars Good book for learning/understanding C++ under Linux., March 12, 2000
Reviewer: Rob Wehrli (see more about me) from Phoenix, AZ
Tom's book is a very good product especially well suited for those people coming to C++ from other worlds or just picking it up as a function of the popularity of Linux. The included source code compiles without problems and the easy introduction into GUI programming alone is worth the asking price. I tend to disagree slightly with some of Tom's purely OOP discussions, however, the basics are well covered and presented so that they are easy to follow and enjoy. Tom's use of the STL under Linux is a good example of how the book is useful right away for those already with some understanding of C++. Remember when unzipping under Linux to use the -L switch for LOWER CASEing the filenames, and you'll want to mv config.mk to Config.mk These kinds of "flaws" are probably potential troublespots for true beginners, however the book is really a fun and great addition for any developing Linux fan or anyone just discovering the wonders of C++. The book is incredibly easy to read and understand, which is more than half the problem with 99% of the remaining books on the subject. The depth of material is well presented in code, however, I think I can do without several directories of "empty.txt", which are used in the source file as place holders in chapter-named directories without source code. Overall, the Amazon discounted price makes the book an exceptionally good buy IMHO. If you're a full-on OOP purist, you'll probably not like this book as much as I did. I especially liked the Xlib and V GUI presentations, as both are quite easy to immediately implement and use from the generous examples provided in source code. I don't think you'll find a better "X-primer" out there. My personal congratulations to Tom for such a fine piece that is easily worth 5 stars when a tad bit more "conceptually pure OOP" is applied to the second edition ;)
 
Unix System Programming Using C++ ~ Usually ships in 24 hours
Terrence Chan / Paperback / Published 1996
Amazon price: $49.99
C++ for Professional Programming With PC and Unix Applications
Stephen Blaha
Practical C++ (Unix/C)
Mark A. Terribile 


GTK

Beginning GTK+ and GNOME


QT

Sams Teach Yourself Qt Programming in 24 Hours (Teach Yourself -- 24 Hours)
by Daniel Solin

Our Price: $23.99
Paperback - 456 pages 1 edition (May 19, 2000)
Sams; ISBN: 0672318695 ; Dimensions (in inches): 1.05 x 9.09 x 7.41

Amazon.com Sales Rank: 51,059
Average Customer Rating: 4.1 out of 5 stars Based on 8 reviews. Write a review.
 
Programming Qt (2nd Edition)
by Matthias Kalle Dalheimer
Our Price: $39.95

Paperback - 552 pages 2nd edition (May 15, 2001)
O'Reilly & Associates; ISBN: 0596000642


Visual C++

Practical Visual C++ 6
by Jonathan Bates, et al (Paperback - September 1999)
Amazon price: $23.99 / Average Customer Review: ****+

Reviewer: Reader (see more about me) from Australia
This is a great book for learning how to use the VC++6 software, and in so doing, gain an understanding of how to use the easy stuff (like controls). It doesn't do a lot to teach the syntax of C++, so if you want to know the key to the language, this isn't the book for you. If you want a genuinely first class tutorial on how to use the VC++6 software, this is it. And surprise surprise, what code there is actually works (anyone who's read a few computer books knows how rare that is!). To say that it will teach you intermediate C++ in a few chapters is however an exageration. I've read some other C++ books (and been programming several years in other languages) and as far as the actual C++ language goes, this book is about as basic as it gets. But even so, it's a great tutorial for the software and intro to basic MFC.

5 out of 5 stars A revelation!, July 4, 2000
Reviewer: Andrew Norris (see more about me) from Austin, TX USA

If I see one more hack write their version of Microsoft Documentation Regurgitated I think I'm going to lose my lunch. Fortunately, this isn't one of those. This book differentiates itself by what it leaves out--you won't see nook and cranny of Visual C++ covered, and you won't get 800,000 lines of code free on the CD. Instead, it picks out the key features you really need to know to start getting a handle on Visual C++, and covers them clearly and thoroughly.

This book assumes you know how to write C++, and it assumes you understand object oriented programming, so it doesn't waste your time trying to rehash them. If you don't know these things, get a different book. But if you know the language but are new to MFC and the specifics of Visual C++, you'll find yourself able to put together a program in surprisingly short order.

At first, I was surprised and alarmed by the fact that it contained no CD of sample code like I'm used to seeing. But upon reflection, this makes perfect sense. Many of the nuances of working with Visual C++ and MFC are in working with the Visual Studio GUI and various wizards, and the chapters that concentrate on a topic take you through all the steps needed to create sample programs. The code that *is* used in the samples is inline in the chapter, but by creating it all yourself (rather than just opening a file on a CD), you get a feel for really using the tools.

Frankly, I always thought Visual C++ and MFC were really complicated to program in. If you know C++ pretty well, after you've worked through the chapters of this book that are relevant to whatever you're trying to program, it will be as easy as working in Visual Basic, and you'll still get all the power of a real programming language.

Of course, if you're looking to do low-level systems programming in Windows or tackle other advanced areas, this book isn't going to tell you how to do it. But it will make hooking up the front-end GUI, connecting to a standard ODBC database, and other common tasks quick and painless, so you can spend your time concentrating on the hard parts.

***+ Ivor Horton's Begining Visual C++ 6, Installation & Contents Guide Amazon.com "C++ Book of the Year for 1998".
by Ivor Horton. Paperback (January 1999)
Amazon price:$47.99
You Save: $12.00 (20%)
Usually ships in 24 hours
Average Customer Review: **** 
It comes with the Introductory Edition of Microsoft's Visual C++6 compiler. But actually you can get C++ 6.0 Standard Edition for $49.

2 out of 5 stars Not at all what I was expecting, February 21, 1999
Reviewer: A reader from United States

I must say I was disappointed when I got this and the compiler it included is an Introductory Compiler. Whenever you compile any program it pops up a nice little window that informs you that your license agreement does not allow you to redistribute your programs. This bothers me somewhat because when I develop programs I like to compile and test each new bit of code that I add. The book on the other hand dives right in and if you have no programming background then you will feel like you are drowning in information. However, the author does do an adequate job of explaining what he is trying to teach.

5 out of 5 stars Answer to: Not at all what I was expecting, March 31, 1999
Reviewer: John Franklin ( johnf@wrox.com) from UK

I've given the book 5 stars simply because the contents have been '4 & 5' starred by many others already (see ISBN 186100088X)I have to say it that way because I was editorially involved with the book. That said, I'm specifically answering the US reader who rated the book but hated the Compiler...There was very minor 'doctoring' of the Compiler: you have to run programs within the product; it had a 'nag screen' come up when you compile and, for Windows programmers, a statically linked MFC( Microsoft Foundation Classes)which gave normal, but fatter code than the full priced product.Other than those caveats you're getting a $100, Visual C++ product, for close to zilch. This thing will compile workaday C++ code; giving you console apps or Windows apps. It has all the normal development Wizards and debugging assistance and has a big fat on-line help library to refer too. I'm not a "Microsoftie" but I think that's a very generous (unlimited) access to a pro developer's tool.

Still,I appreciate your desire for more freedom of usage - maybe the powers that be are listening.

Beginning Visual C++ 6 by Ivor Horton (Paperback - August 1998)
Amazon price: $39.99 / Average Customer Review: ***+

3 out of 5 stars Good Intro to C++, but..., October 26, 1999
Reviewer: Matt Bridges (t_sql_rex@msn.com) from Scottsdale, AZ

As a Windows Programming MCT, I constantly read "Beginner" books to recommend to my students to supplement or provide backgrounders to the Microsoft Official Curriculum.

The book does a pretty good job until you get to Windows programming. Actually I think it's one of the better books to learn the fundamentals of C++ programming.

However, the treatment of structures leaves a little to be desired, with common structures that appear throughout the entire Windows API being glossed over in Chapter 7.

Contrary to several other reviews, the intro to MFC is not that bad, and provides a good background to move on to other texts more devoted to the subject.

ATL should be removed from the text completely. This subject requires a more detailed explanation of COM which is simply not appropriate for a beginers text. My recomendation would be to expand the section on structures in a Windows context.

Also, version 6 of Visual Studio introduced OLE-DB as a solution for Universal Data Access, yet there is no mention of it here. Instead the author has applied a cut and paste from the version 5 of the book to give us ODBC. It would've been more appropriate to mention something about OLE-DB templates, and focus on ADO.

Overall however, this is a book I would recommend for beginners, to continue with Programming Windows with MFC, 2nd Ed by Jeff Proise.

Advanced Visual C++5
Steven Holzner, Steve Holzner / Paperback / Published 1997
 
***+ Programming Visual C++ ~ Usually ships in 2-3 days
David J. Kruglinski, et al / Paperback / Published 1998
Amazon Price: $39.99 ~ You Save: $10.00 (20%)

5 out of 5 stars Advanced Tutorial on VC++ Environment (with AppWizard + MFC), January 18, 2000
Reviewer: A reader from Vancouver, Canada

I Just picked up the book from a half price bookstore. It's one of the best buys I made in recent months. The writing style is concise and their explanations extremely clear. A "must buy" for anyone who wants to dive into Win32 programming using MFC. However this is not a book for everyone. It is ideal for intermediate programmers.

I'm an experienced C/C++ programmer who wants a quick way of learning VC++ and the Visual Studio 6.0 Development Environment. And this is THE BOOK! I would also recommend the book for seasoned XWindows/Motif programmers who need to learn the popular MFC Windows application framework for porting their applications. It covers in breadth (but not in great details) many topics related to the Win32 environment: Document-View Architecture, ActiveX, COM, ATL, ODBC, Winsock, etc. In essence, it gives a nice capability overview of the VC++ 6.0 development tools.

Like some negative reviews posted earlier, I have to warn that the ideal readers should have some prior knowledge about Win32 API or at least some prior exposure to event-driven programming style (Smalltalk experience, also a plus.) A nice companion book for Win32 programming is: "Windows 98 Programming from the Ground Up" by Herbert Schildt. It gives C programmers better understanding of the Win32 API underlying MFC.

This is NOT an introductory text, NOR an in-depth reference. It is a comprehensive tutorial that is extremely well written and enjoyable for seasoned programmers who are new to the Win32 environment. I can't wait to start learning DirectX SDK after reading this book. :-)

5 out of 5 stars Excellent book for those with ANSI C/C++ experience, August 13, 2000
Reviewer: qiu from Kansas

You don't need *years* of real-world experience in C/C++ to understand this book. But you do need very good understanding of ANSI C/C++ and some experience in how to use Windows apps. Otherwise, you can hardly undertand most of the book.

This book covers a lot of topics. It means on each topic, except for the core of MFC/COM/ALT/ISAPI, this book serves only as an introduction. Example: to do real-world OLE DB C++ programming, you need much more than this book has covered.

My overall point is: This is an excellent introductory VC++ book either for any C/C++ programmer to migrate to Windows programming, or for a Windows C/C++ programmer to migrate to a field he's unfamiliar with (e.g., one who used to build desktop apps but now wants to write ISAPI stuff).

For those programmers: You can hardly find an introductory VC++ book better than this one.

Fast Track Visual C++(r) 6.0 Programming
by Steven Holzner. Paperback (September 11, 1998)

Amazon price:$35.99
You Save: $9.00 (20%)
Usually ships in 2-3 days
Average Customer Review: ***

Microsoft Visual C++ 6.0 Deluxe Learning Edition (Microsoft Professional Editions) (Paperback - April 1999)
Amazon price: $111.99 / Average Customer Review: *****

Beginning Visual C++ Components
by Matt Telles. Paperback (November 1996)

Amazon price:$36.95
Usually ships in 2-3 days
Average Customer Review: ****+

Debugging Visual C++ Windows
by Keith Bugg. Paperback (October 1998)

Amazon price:$23.96
You Save: $5.99 (20%)
Usually ships in 2-3 days
Average Customer Review: **+

Debugging Windows Programs: Strategies, Tools, and Techniques for Visual C++ Programmers (The DevelopMentor Series)
by Mike Woodring, Everett N. McKay. Paperback (August 18, 2000)

Amazon price:$44.95
Usually ships in 24 hours

Hands On Visual C++ 6 for Web Development
by Don Doherty, et al. Paperback (October 1998)

Amazon price:$32.00
You Save: $8.00 (20%)
Usually ships in 24 hours
Average Customer Review: ****

Mastering Visual C++ 6
by Michael J. Young. Mass Market Paperback

Amazon price:$43.99
You Save: $11.00 (20%)
Usually ships in 24 hours
Average Customer Review: ***

Mastering Windows 2000 Programming With Visual C++ (Mastering)
by Ben Ezzell. Paperback (March 2000)

Amazon price:$39.99
You Save: $10.00 (20%)
Usually ships in 24 hours
Average Customer Review: ***

McSd Visual C++ 6 Desktop Exam Cram (Exam Cram)
by James M. Lacey, Jim M. Mischel. Paperback (January 29, 2000)

Amazon price:$23.99
You Save: $6.00 (20%)
Usually ships in 24 hours
Average Customer Review: ****+

McSd Visual C++ 6 Distributed : Exam Cram : Exam 70-015
by James M. Lacey. Paperback (December 21, 1999)

Amazon price:$23.99
You Save: $6.00 (20%)
Usually ships in 24 hours
Average Customer Review: ****

MFC Programming With Visual C++ 6 Unleashed (Unleashed)
by David White, et al. Paperback (June 17, 1999)

Amazon price:$39.99
You Save: $10.00 (20%)
Usually ships in 24 hours
Average Customer Review: ***+

Microsoft Visual C++ 6.0 Deluxe Learning Edition (Microsoft Professional Editions)
Paperback (April 1999)

Amazon price:$111.99
You Save: $28.00 (20%)
Usually ships in 1-2 weeks
Average Customer Review: *****


Windows API

Programming Windows, The Definitive Guide to the Win32 API
by Charles Petzold
Amazon price: $47.99
Hardcover - 1479 pages 5th Bk&Cd Rom edition (December 1998)
Microsoft Press; ISBN: 157231995X ; Dimensions (in inches): 2.83 x 9.58 x 7.68
Amazon.com Sales Rank: 1,066
Popular in: Kokomo, IN (#8) , Jordan (#11) . See more
Avg. Customer Review: ****+
Number of Reviews: 32

Reviewer: leaderl (see more about me) from Arcadia, CA USA
This is an awesome book. It covers a lot of what used to be API programming. It gives a little more understanding to how to program Windows. In fact, I had to read this book first before I was able to understand MFC. In addition, it made me want to download the Platform SDK to try out more stuff, even though it wasn't covered in the book.

Anyway, a couple words of warnings. First, all of the coding in this book is in C, which doesn't give much for Object Oriented Programming. Second, there are a lot of code compared to MFC. So, don't expect to do some small things in a couple of lines. Lastly, you must at least have an interest into learning this because I can see that a person not interested in this can get bored really fast.

Overall, it's a good book.

Advanced Windows (3rd Ed)
by Jeffrey Richter
Amazon price: $39.99
Paperback - 950 pages 3rd Bk&cdr edition (February 1997)
Microsoft Press; ISBN: 1572315482 ; Dimensions (in inches): 1.86 x 9.14 x 7.42
Amazon.com Sales Rank: 7,074
Popular in: Israel (#6)
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 43

5 out of 5 stars Two essential books: Petzold's and this book., September 23, 1999
Reviewer: Mike Gleason (see more about me) from Omaha, Nebraska, USA

For UNIX, you buy W. Richard Stevens' Advanced Programming in the UNIX Environment and UNIX Network Programming -- for Win32 you buy Programming Windows by Charles Petzold and this book. Petzold gets you started, Richter lets you pursue the good stuff.

Although this is easily a 5 star book, it is not without room for improvement. For the 4th edition, Mr. Richter, I'd like to see Anonymous and Named Pipes covered, as well as Mailslots, and some introductory coverage of Winsock (Winsock could be covered in a separate book.)

It's a bit surprising that those topics aren't covered, since just about every advanced topic I was looking for was covered in excellent detail.

To be in the same class as Stevens' books, I'd like to see some performance considerations included. For example, how much more expensive is a Mutex over Critical Sections and Events? Ralph Davis' book, Win32 Network Programming, covers this a little better, and includes quite a bit of discussion on advanced Win32 topics besides the networking APIs.

And lastly, a hard-bound edition would be nice.


5 out of 5 stars Great book on the Win32 API., March 24, 1999
Reviewer: A reader from San Francisco, California

Before reading this book I had a good grasp of C++ but didn't know much of the Win32 API except some of the function names I was really interested in.

After sitting down for 2 - 3 weeks with the MSDN Library, Visual C++ and Advanced Windows I now have a firm grasp of most concepts.

This book does not go into GUI development at all. I would recommend Programming Windows Fifth Edition for this. Since most of the code I write is for the backend (DLLs, Databases) my prefered GUI is always a web application so this was very desirable for me.

If you want MFC you should probably get the Microsoft Mastering series title.

If you want GUI get Programming Windows Fifth Edition.

If you want hard core, Win32... GET THIS BOOK!

**** Visual C++ 6 Programming Blue Book
by Bill McCarty, Stephen D. Gilbert
Amazon Price: $31.99

Paperback - 653 pages Bk&Cd Rom edition (October 1998)
The Coriolis Group; ISBN: 1576103242 ; Dimensions (in inches): 2.03 x 9.24 x 7.41
Amazon.com Sales Rank: 10,578

Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 21
Table of contents

MFC

Programming Windows With MFC
by Jeff Prosise
Hardcover - 1376 pages 2nd edition (May 13, 1999)
Microsoft Press; ISBN: 1572316950 ; Dimensions (in inches): 2.50 x 9.65 x 7.69
Amazon.com Sales Rank: 2,771
Avg. Customer Review: 5 out of 5 stars
Number of Reviews: 33

5 out of 5 stars good book, but not necessarily for newbies, September 22, 1999
Reviewer: A reader from Toronto, Canada

If I were a practising MFC programmer at the junior or intermediate level, I'd definitely want to have this book as a reference. It is one of the most complete MFC books around, and I like the author's approach of starting off with MFC basics and wrapper classes before moving onto application framework stuff and wizards. This is one of the few books that tells you what's behind some of those macros like DECLARE_DYNCREATE and tells you where to look for it in the source code of MFC itself.

However, if you are new to Visual C++ or have never heard of MFC, this is not the book I would recommend. I would suggest picking up Ivor Horton's Beginning Visual C++ 6 instead. Real beginners need a book that tells them how to use the IDE, debug programs, and use the wizards. So what if after reading it, all that wizard generated code becomes a blur to you. That's what Prosise and other more advanced books are for.

I'm an experienced C++ developer and I had read two MFC books (Beginning Visual C++ 6, MFC Programming by Alan Feuer) and Petzold 5th ed before reading Prosise and I still found it a little difficult reading, mostly because it starts off kind of slow (as someone else mentioned too). The chapter I found most difficult was the one on OLE clipboard/drag & drop.

I really recommend reading Petzold 5th ed before reading this or any other intermediate/advanced MFC book. Petzold is more of a beginner's book for Win32 SDK-style GUI programming.

3 out of 5 stars Comprehensive but Overrated, May 26, 2000
Reviewer: A reader from USA

This book covers MFC in great detail. That can be a plus or a minus, depending on how you look at it. If you're a beginner, I would not recommend this book. Interestingly enough, in the book's introduction, the author writes: "[This book] was written with two kinds of people in mind: (1) Windows API programmers who want to learn MFC; (2) Programmers who have never before programmed Windows." I strongly disagree with (2). If you want to spend hours and hours reading this book at a snail's space, and then going back and continually reviewing what you read, then I guess it's possible for you as a beginner to learn MFC from this book. For the majority of beginners, however, starting out with this book would not be the best way to learn MFC. (Of course, the author's job is to sell copies of his book, so why wouldn't he claim that it's for beginners too?)

The best part about this book is its comprehensiveness. So, if you're looking for a good reference, this book definitely gets a thumbs-up. But if you want clear discussions of fundamental MFC concepts, this book falls short. When you read this book, in many ways you can't see the forest for all the trees. That is, Prosise does a rather poor job of separating key, high-level concepts from more advanced, low-level details. The result is a book that is very dense and not so readable.

Even when he isn't getting bogged down in details, Prosise doesn't always present topics effectively. At some places his discussions are pretty good, but at others they aren't so clear. Frankly, although Prosise is a brilliant programmer, I don't think he's that gifted as a teacher. He no doubt understands the material himself, but he isn't nearly as skilled at presenting it to someone with little exposure to it.

If you're an intermediate MFC programmer--or, even better, an advanced one--this book can be a valuable resource. But if you're trying to navigate the waters of MFC/COM for the first time, try another book--and come back to this one after you've already learned the ropes.

5 out of 5 stars For the Windows programmer, it's *the* MFC book., October 19, 1999
Reviewer: Ferghil O'Rourke (forourke@cbtsys.com) from Dublin, Ireland

Just what I was looking for. Explains the MFC concepts from the ground up in an authoritative and approachable way. The examples are perfectly pitched and bring you step-for-step through the architecture of an MFC application. What I particularly liked was how, as I was going through the examples, the book seemed to anticipate my problems and questions. You get the impression that Prosise is a Windows programmer who had to go through the process you're now going through - and he's tripped all the wires.

It's not a book for programmers unfamiliar with C++, and some knowledge of how Win32 GUI programs are constructed is an advantage. However, if you're a current Windows programmer who needs to pick up MFC - it's *THE* book.

(One small gripe - I would have liked more on how MFC is used with the various UDA technologies. The CRowset class for example.)

CORE Visual C++ 6
by Lars Klander. Paperback (November 19, 1999)

Amazon price:$39.99
You Save: $10.00 (20%)
Usually ships in 2-3 days
Average Customer Review: ****

4 out of 5 stars OK Mfc book, May 16, 2000
Reviewer: A reader from Cudahy, Wisconsin

I was looking for a book on Visual C++ 6. I have plenty on MFC. This book covers MFC ok (Prosise' "Programming Windows with MFC" is still the best, imho). The first chapter is MS overview (advertising) of Visual Studio. The second states the obvious about the debugger. Chapter 19 covers scripting for the IDE. All the rest is MFC. The index (10 pages as compared to 27 in Prosise) includes very few classes or member functions limiting its usefulness as a reference. The author does have some useful information on Win98 and MFC scattered about, though. I suggest this book as a survey to those new to windows programming with mfc. There is little said about Visual C++ itself.

Intermediate MFC
by Vic Broquard, Victor E. Broquard. Paperback (January 1998)

Amazon price:$31.96
You Save: $7.99 (20%)
Usually ships in 24 hours
Average Customer Review: *****

Introduction to MFC Programming with Visual C++
by Richard M. Jones. Paperback (December 22, 1999)

Amazon price:$27.99
You Save: $7.00 (20%)
Usually ships in 24 hours
Average Customer Review: *****


C++ pointers, memory management, I/O

C++ Pointers and Dynamic Memory Management/Book and Disk
Michael C. Daconta / Paperback / Published 1995
Read more about this title...
 
Conquering C++ Pointers
Robert J. Traister / Published 1994
C++ Iostreams Handbook
Steve Teale / Paperback / Published 1993
C++ Memory Management
Len Dorfman, Marc J. Neuberger / Paperback / Published 1993

Reference

C++ Unleashed
by Jesse Liberty, Vishwajit Aklecha, Alexander Nickolov (Contributor), Steven Mitchell (Contributor)
Our Price: $31.99
Paperback - 918 pages Bk&Cd Rom edition (November 13, 1998)
MacMillan Publishing Company; ISBN: 0672312395 ; Dimensions (in inches): 2.27 x 9.00 x 7.33
Amazon.com Sales Rank: 34,288
Avg. Customer Rating:
Number of Reviews: 6
 Great Book., December 29, 1999
Reviewer: Nizar (see more about me) from Nablus - Palestine

Great book. Worths the money. serious one. it is for people who has very good experience in C++, if you are a beginner please consider another book like C++ from scratch or learn C++ in 21 days. It covers lots of important C++ aspects like: UML, COM, CORBA, Java, SQL, OODBMS, STL, algoritms, OOP, MFC, namespace, encryption and more... it explains things very well. Good book and good price ..

 All I can say is get this book NOW!, August 25, 1999
Reviewer: Jason Mars (jmarskoder@usa.net) from Michigan, USA

All I can say is get this book NOW! If you are here reading this review now, then this is the book you are looking for. I was at the stage where I knew c++ but I knew that there was somthing missing. This book covers it all. If you know c++ and you want to "Master" it this is the place to start, no dout about it. I love Jesse Liberty he's the greatest teacher I've ever been thought by. All I would like to say is GET THIS BOOK ALREADY!
 
Microsoft Visual C++ 6.0 Reference Library
by Microsoft Corporation, MS Corp. Paperback (August 1998)
Amazon price:$119.99


Reengineering

Undocumented Windows NT®
by Prasad Dabak, Sandeep Phadke, Milind Borate

Our Price: $24.49
Paperback - 335 pages Bk&Cd Rom edition (October 1999)
Hungry Minds, Inc; ISBN: 0764545698 ; Dimensions (in inches): 1.06 x 9.00 x 7.05
Amazon.com Sales Rank: 69,741
Average Customer Rating: 3.7 out of 5 stars
 

Inside Microsoft Windows 2000 (Microsoft Programming Series)
by David A. Solomon, Mark Russinovich
Our Price: $34.99
Hardcover 3rd Bk&cdr edition (September 2000)
Microsoft Press; ISBN: 0735610215 ; Dimensions (in inches): 1.85 x 9.55 x 7.61

Amazon.com Sales Rank: 3,240
Popular in: France (#17) , Compaq Computer Corporation (#11) .
 Average Customer Rating: 4.8 out of 5 stars Based on 6 reviews.
5 of 5 stars The Dream Team (David & Mark), April 19, 2001
Reviewer: Terje S&#1096;rgjerd (see more about me) from Oslo,Norway

I got this book 6 days ago, and I've read chapter 1 - 7 so far, the way these two gods explain and show how the internal win 2000 system works is just impressive. If you have read Inside Windows NT 2nd edition by Daveid A Solomon, you know what you are up for, David teamed up with a crazy russian Mark Russinovich which has practically made Windows NT (2000) Magazine worth reading. ;)

The only thing I'd love to see in the future is a little more coverage of the terminal services part of it. (2 pages isn't enough), and maybe a little more deep hands on experiments. All handson experiements seems to be pretty much "overview and simple". But you can't have it all, this nearly 1000 page book is like a design document for NT/2000. >=]

But no doubt, if you develop NT tools or sysadmin NT network this book is a *MUST*! If you don't have it, HURRY UP AND BUY IT NOW!

Also, remember to visit http://www.sysinternals.com for the best utils for NT. (And maybe the most stable ones. ;))

Terje
 


5 of 5 stars Practical Magic in Win32, April 18, 2001
Reviewer: George Datuashvili (see more about me) from Cupertino, CA United States

This is the book to take with you if you are expelled to deserted island with 1 laptop, solar power generator, win32 sdk/ddk, and 1 book of choice. It will make you think, wonder, appreciate and grok the best OS that Microsoft can offer. As Matt Pietrek said once, the magic of being debugger guru is the better understanding of OS. If there is any book to help you become one, this is it.

What is very important also is that along the line Mark (and David) explain and teach the reverse engineering techniques to explore the surrounding world of unknown black-box software. The books if full of ideas, hints and tips on multiple ways how to peek under the hood and extract that piece of information you are looking for.

It made me to fully understand and re-think the implications of thread scheduling, memory management, paging and synchronization on the complex code I was working with and resulted in great performance improvements.

You will also get to see the elegance of design decisions and compromises made by engineers working on such a complex OS, and this enlightening experience alone justifies reading of the book even if you are not interested in Win32 in any way.

It is incredible amount of knowledge and hard work compressed in a single volume.
 

Mfc Internals Inside the Microsoft Foundation Class Architecture

by George Shepherd, Scott Wingo, Dean D. McCrory, Scot Wingo

Our Price: $34.96
Paperback - 709 pages Book&Disk edition (May 1996)
Addison-Wesley Pub Co; ISBN: 0201407213 ; Dimensions (in inches): 1.78 x 9.26 x 7.51
 
5 of 5 stars A really different view on MFC, March 15, 2000
Reviewer: ALVIN SANUSI (see more about me) from Indonesia
This book is not another MFC book and not for beginner. it tells you how it work instead of how to use it. To benefit from it, readers should have some grasp on Windows, C++ and using MFC itself!. It covers how the windows message goes a long the way up to your class, CObject, Dialog, Doc/View Architecture, Threads, COM & OLE. The appendix is very helpful for those who want to explore further into the code of MFC. I recommend this book for those who really want to know why the MFC work the way it is.


Copyright 1996-2001 by Dr. Nikolai Bezroukov

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SNDP or any other organization the author may be associated with.

We do not warrant the correctness of the information provided or its fitness for any purpose.

Links and bibliographical information about the books are prepared in association with Amazon.com. You can buy any book listed here from Amazon.com simply by following the link for the book.

This document is an industrial compilation created for educational purposes only and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Please read, understand, acknowledge, and abide by this license before copying, translating, quoting, or distributing this document.

www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. SDNP is a catalytic initiative to kick-start networking in developing countries and help people share information, knowledge and expertise. I consider it a perfect application area for the Open Source software in general and my idea of Free Open Source University in particular. The SDNP currently offers assistance in establishing connectivity to the Internet, training and Linux deployment in 40 developing nations and 36 small island developing states (SIDSnet ).

Click here to submit your comments!

Last modified: May 05, 2002