Rating: Summary: An Object-Oriented C++ book for the rest of us Review: Steve Heller's book "Who's Afraid of C++?" is one of the best books I have read on programming and programming languages in my 20 year career in software development. It's not a dry book, it has excitement, the thrill of learning and drama. It draws you along sucks you in propelling you towards wanting and needing to know the next bits of knowledge. It's also the personal, almost intimate, nature of this book that makes it attractive. It reads more like a novel or narrative than a technical text. You will learn things easily almost effortlessly, as you did when you read all those info-novels from James Mitchner "Alaska", "Hawaii", "Texas" or "Centennial" or Arthur Hailey "Airport" or "Hotel".
If you are new to programming or want an introduction to programming read this book. He starts with fundamentals, that is the actual physical makeup of a computer (RAM, CPU, disk drives) and it's importance and use in running software.
You do not need to have programmed to read this book, all you need is logical thinking and an interest in computers. Steve and his novice, Susan, will lead you willingly down towards understanding programming and in particular C++ object oriented programming.
If you program but do not know C and want to learn C++ and object oriented programming then take a shortcut and learn both from this book, skip the traps you can get into if you come from a serious C background. If you are a C programmer this book is the fastest way to unlearn the habits that can cause problems in C++ and object oriented programming.
Littered throughout the book are clear definitions of the terminology used in object oriented programming and C++. You will learn what a "class" is what "class interface" and "class implementation" are, their importance and uses in implementing objects in C++. Other clearly defined and explained concepts are scope, compiler-generated functions (what the compiler makes for you if you do not define it), constructor, function overloading (functions can have the same names but different arguments), storage class and the difference between stack and heap. You will also learn many of the more useful aspects of C. All explained with clear, simple and direct code examples.
Steve incorporated a novel approach in writing this book, he included a dialog with a novice, a real person, not someone who was just part of his imagination, with which he communicated via e-mail. This e-mail approach probably shifted his explanations profoundly, he would need to understand the written questions and views from the novice and at the same time think of many analogies to help clarify his points that were confusing to the novice. We can easily empathize with the novice since she is asking the same kinds of questions that we would ask if Steve were physically with us.
Steve clearly explains and helps us visualize what a compiler is going to do with our source code, something that every professional coder needs to know. He walks us through numerous coding examples showing what happens in memory and on the stack, where and why you need pointers in C and C++ and how to use them.
Do not skip the footnotes nor the glossary. Learn the glossary and you will be speaking like a coder in a week. The footnotes add some of Steve's personal opinions, some history and a lot of humor.
Do not skip the questions. The answers are fully explained and also contain dialog between Susan and Steve explaining some of the traps that the novice programmer can fall into without fully understanding what happens between source code and compiler.
Steve has promised another book following this one that will explain some of the more "advanced" concepts of C++. In his hands these advanced concepts (inheritance is one) should be pretty easy to understand. I look forward to seeing his next book.
Rating: Summary: It's the best introduction to C++ for the novice I've seen. Review: This book explains the sometimes forbidding topic of C++ programming, stepby step, sometimes retracing steps as necessary for especially difficult concepts. We are provided with instant feedback for the questions thatarise, in the person of Susan who challenges the author to make his presentation clear, sometimes to re-present it in different terms if necessary.It's entertaining, thorough, and (maybe the best part) it comes with a dandyfull-featured 32-bit C++ compiler on a CD-ROM, not some punitive stripped-down, "it does everything but allow you to save your work" version as I've seen in other introductory books on C. In spite of its readability, it's not shallow -we are taken, albeit gently, into the very bits and bytes of machine code, registers,assembly, etc., very early on, to acquire an understanding beyond, in the author's words, that of the "Sunday driver" of C++. My only qualm with this book is that itseems to stop somewhere in the middle, leaving several (more advanced, I guess) topics uncovered. However, like all good stories these days, we are promised a sequel atthe end. .
Rating: Summary: Still Waiting For my Masters Review: Who's Afraid of C++ is one of the worst books I have ever read. The main complaint that I have is the lack of balance between real world examples and reading. Each chapter is about 30 pages long... My second complaint is on the participation of a real life novice in this book. "Susan"... Her input on this book has only further complicated the experiance... Her questions are very simplistic and boring...
Rating: Summary: Whose Afraid of C++? Review: even after couple of programming classes at my school, i didn't understand much about programming. but after reading first few chapters of "Who's Afraid of C++?", i'm understanding a whole lot more than i used to. i think the hardware chapter was particularly useful. it's not easy to find a computer book that assumes the reader is a novice like me.
Rating: Summary: Beginners start here Review: This is THE book for people without programming experience who are interested in becoming programmers; it assumes literally nothing. This book would make a great gift for a child or teenager that spends a lot of time with the computer. It will get them thinking like a programmer instead of a user; a creator instead of a consumer.
|