Softpanorama Bookshelf is the key part of the Softpanorama: (slightly skeptical) Open Source Software Educational Society Website
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:
introductory, often called Programming I (sometimes called OO programming)
intermediate, often called Programming II (sometimes called Advanced OO programming)
advanced, usually called Data Structures (even if instructor spends more than half of the time explaining templates and STL ;-), C++ and Data Structures or C++ Patterns or something like this.
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:
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.
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.
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.
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: ![]()
Number of Reviews: 18
Second edition of Using C++. A very good introductory book. A very talented writer.
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.
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
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++.
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
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
Good book, Focuses on how to use the IDE to access MFC, May 14, 2000
Reviewer: Reader (see more about me) from
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
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.
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: ![]()
Number of Reviews: 22
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.
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.
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.
**** 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
Somewhat useful, May 25, 2000
Reviewer: Lawrence A Neer from
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.
An Important Book
Reviewer: James Bredijk from New Jersey February 12, 2000An 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!
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 :-)
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: ![]()
Number of Reviews: 18
Second edition of Using C++. A very good introductory book. A very talented writer.
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.
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
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++.
***** Absolutely top notch introduction to C++, November 7, 1999
Reviewer: James Weisbin (jim@savagetranscendental.com) fromNew 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 fromUnited 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) fromArizona, 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.
Avg. Customer Review: ![]()
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 - |
Day 12 - | |
Day 13 - |
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:
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.
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!
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.
This is definitely a masterpiece!, July 12, 2000
Reviewer: Ivan (see more about me) from
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.
Starts Well, Gets Confusing, March 25, 2000
Reviewer: Geoff Thornton (see more about me) from
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.
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
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!
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.
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! :)
What a great book!, August 17, 2000
Reviewer: iamcdn (see more about me) from
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
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!
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: ![]()
Number of Reviews: 18
Second edition of Using C++. A very good introductory book. A very talented writer.
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.
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
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
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 :-)
Help Files In Visual Studio are More helpful, November 4, 1999
Reviewer: A. Tattaglia fromNew 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.
Poorly Written Book., October 30, 1999
Reviewer: Joe Baker (joebak@mailexcite.com) fromUnited 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++.
An O.K. book, but choose another if possible., November 30, 1999
Reviewer: David Federman (see more about me) fromPennsylvania, 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.
Excellent Text, But Beginners Beware, January 17, 2000
Reviewer: Derek R. Ploor fromMadison, 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.
An excellent and lucid intro to C++., March 2, 2000
Reviewer: Aleksey Cherman fromCollege 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.
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 StudiesPART III: PRACTICE EXAMINATIONS
Hints for Students
A One
A Two
AB One
AB Two
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. "
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.
Clear, concise, and easy to read while staying informative., January 31, 2000
Reviewer: Robert Gamble (gambler@vxc.uncwil.edu) (see more about me) from
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).
A great book for beginners, March 15, 2000
Reviewer: Neurite from
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.
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: ![]()
Number of Reviews: 40
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.
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++.
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!!!
See also STL books
beginner, July 11, 2000
Reviewer: badname (see more about me) fromAustralia
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) fromUniversity 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 fromNew 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 fromUSA
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
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) fromEllicott 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.
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.
Finally, a decent C++ Tutorial, July 15, 2000
Reviewer: Allen Vander Meulen; Masters Consultants Inc (see more about me) from
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!
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.
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.
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'.
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>
C++ Programmer's Guide to the Standard Template Library by Mark Nelson
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.
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.
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.
**** 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)
See also review in ERCB
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) fromAustin, 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.
Not at all what I was expecting, February 21, 1999
Reviewer: A reader fromUnited 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.
Answer to: Not at all what I was expecting, March 31, 1999
Reviewer: John Franklin ( johnf@wrox.com) fromUK
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: ***+
Good Intro to C++, but..., October 26, 1999
Reviewer: Matt Bridges (t_sql_rex@msn.com) fromScottsdale, 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 Tutorial on VC++ Environment (with AppWizard + MFC), January 18, 2000
Reviewer: A reader from
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. :-)
Excellent book for those with ANSI C/C++ experience, August 13, 2000
Reviewer: qiu from
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: *****
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.
Two essential books: Petzold's and this book., September 23, 1999
Reviewer: Mike Gleason (see more about me) from
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.
Great book on the Win32 API., March 24, 1999
Reviewer: A reader from
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!
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
good book, but not necessarily for newbies, September 22, 1999
Reviewer: A reader fromToronto, 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.
Comprehensive but Overrated, May 26, 2000
Reviewer: A reader fromUSA
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.
For the Windows programmer, it's *the* MFC book., October 19, 1999
Reviewer: Ferghil O'Rourke (forourke@cbtsys.com) fromDublin, 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: ****
OK Mfc book, May 16, 2000
Reviewer: A reader fromCudahy, 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: *****
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
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.
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.
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