51 of 53 people found the following review helpful
- Published on Amazon.com
I'm not a big fan of "Teach yourself X in Y amount of time" books. There, I've said it. Most of these books have their timing wrong anyway, you can't learn to be a world class polo player in 24 hours, you can't build your own ocean liner in 21 days and you can't be a professional hula champion in six easy lessons. And you won't be able to teach yourself C++, at least not enough to be of any use, in an hour a day.
But this book works. Forgetting the one hour a day promise, the book works very well. Learning C++, or just C, or any programming language from scratch is hard. Even harder if you have to learn the concepts of programming, loops, branches, pre and post tests and the whole object oriented thing. This book doesn't make it simple, but it does make the process more logical. And it breaks the process into small steps, most easily learned in an hour.
I'm not a C++ guru. I've used Visual Basic for just about ever and only written a few minor projects in C. I can print my name to the screen in C++, but that's about it. Or at least it was until I started this book. Walking through the first section, aptly titled "The Basics," I was able to get moderately familiar with C++ in such a way that I'll retain the knowledge pretty well. Quite obviously I'll get rusty if I don't use the new skills on a routine basis, but learning them was straight forward and well presented. The tutorials are backed by example code that worked fine in several different compilers and the analysis of what the code is doing is very effective at teaching the concepts as well as the specifics.
I do have a few minor complaints about the book. For one, it almost seems like two books. The first two thirds teaches C++ fundamentals and Object Oriented Programming quite effectively. But then the book almost changes direction and dives into the Standard Template Library. To me it's almost as if the book went a few hundred pages long. I suppose with the trend to produce forest-leveling technical books rather than specific shorter, more to the topic books, that this is to be expected. But I'd rather pay $50 for a 120 page book with only the information I needed than $20 for a thousand page book that scattered that same 120 pages across hundreds of pages of irrelevant, at least to me, material.
On the plus side, this book's 800 or so pages aren't padded with repetitive material or fluff just to meet a page count. The contents may not all be relevant to me, but they are likely relevant to someone else who might buy the book. I tend to see quizzes and exercises in a book like this as extra paper I didn't need, but a student with this book as a course text would find the material appropriate. Even for me the exercises provoked a thinking process not contained in the lesson itself. And in the end, you can't truly learn anything, whether it takes an hour a day or ten, unless you use the knowledge outside of the written example. If you want to learn C++, at your own pace, this is an excellent book to have.
22 of 23 people found the following review helpful
- Published on Amazon.com
I've never bought a book from the Sams "Teach Yourself" series. Although I've browsed a few of them in the local bookstore, I've never really found one that worked for me. This book is different.
First off is the all-star writing staff: Siddharta Rao leads the lineup, as a Microsoft MVP (C++) and expert programmer who contributes to community development sites like CodeGuru. Contributing authors Bradley Jones (also a Microsoft MVP) and Jesse Liberty round out the team, contributing their real-world development skill and writing experience to this book.
These writers have put together a solid book that will help a new C++ programmer get off to a stellar running start in the field. As for myself, being an old hand at C++ programming but having neglected my unmanaged C++ development skills for a few years, this book worked well as a wonderful refresher.
The book advertises that it will teach the reader C++ programming in "one hour a day". I think this might be slightly ambitious for many readers, especially those that want to test sample code along the way. But the fact of the matter is once you start a lesson, the authors' writing style will pull you in. The time literally flies by as you work your way through the lessons. Several times I found myself reading 3 or 4 lessons back to back, with no regrets.
A lot of people might judge a C++ book by its discussion of object-oriented concepts: inheritance, polymorphism, etc. The authors discuss these concepts in great detail, devoting several lessons to a thorough discussion of object-oriented concepts.
The authors use a very entertaining writing style, which expresses complex concepts in a very plain-spoken manner. Consider their comparison of passing parameters to a function by value versus passing parameters by reference:
"Passing (a parameter) by value is like giving a museum a photograph of your masterpiece instead of the real thing. If the vandals mark it up, there is no damage done to the original. Passing by reference is like sending your home address to the museum and inviting guests to come over and look at the real thing." (p. 249)
If I could have but one wish, it would be that in the next edition the authors add an introduction to .NET-style managed C++. The authors do, however, provide several lessons explaining the STL (Standard Template Library), a powerful standardized unmanaged code library that provides implementations of data structures, iterators, and many of the other niceties that programmers tend to take for granted in lesser programming languages.
This book is highly entertaining, expertly written, and intelligently organized. "Teach Yourself C++ In One Hour A Day" is an excellent resource for the newbie learning unmanaged C++, or the old hand (like myself) looking for a quick refresher course.
12 of 13 people found the following review helpful
- Published on Amazon.com
I just finished chapter 4 managing arrays and strings. The book is well written the examples are error free and best of all the book follows a great structure that's something like;
-analysis of code,
-at the end of each chapter there's a summary,
-Q/A for the main points of the chapter.
-workshop section with quiz questions and exercises.
The exercises send you out to write your own code from scratch and think outside of the books examples, some of the exercises are labeled BUG BUSTERS which show code snippets with errors for you to solve. Appendix D has quiz answers and possible solutions to the exercises.
So all that gets your mind into the language not just memorizing it, and gives you multiple opportunities to understand each point.
The book includes a free 45day pass to read the book online via "Safari online".
I highly recommend this book!
6 of 7 people found the following review helpful
- Published on Amazon.com
I haven't finished it yet. I'm on chapter 12, but I've seen more than enough to know that this is a great book and I have no plans to look further for a beginners book.
To clarify the title, I'd say this book is great for those new to programming, as well as amateurs from other languages who need a more modest pace for a 2nd language.
This book is an easy read, while managing to cover all of the basics in good detail. Explanations of difficult aspects are very good, although, as with any book, there are a few portions where I wished just a bit more had been added for emphasis and clarity.
Examples are good along with good end of chapter reviews. I especially like the areas where the authors point out syntax and techniques that you need to know, but then explain why they are better for niche use, and then go on to explain the better, and more common alternatives.
As of chapter 12, the downsides are trivial, as they all fall into that category of, "It's impossible for any one book to please everyone perfectly". Having said that, I give this book my highest rating. I also have Liberty's 24 hour version from 2002, which is why I ultimately bought his bigger version.
And now, a bit of general advice. I've seen a fair amount of programming books, and I've read tons more reviews of many more, all in a quest to find that 'perfect book'.
Try this for a bottom line: By the time you find that 'perfect book', that fits you like a glove, you could have learned that language 4 times over, and spent your spare time getting help from pros on various forums to enhance your skill in places the book was lacking.
Don't wait for the perfect book. First, decide whether you want the 'rush job' and more amateur approach, or the longer route, serious amateur/potential pro approach. For the rush job, get a smaller, '24 hour' book, typically 200-400 pages. For the longer route, get the big thicken'.
Next, aim for a book that is easy on the eyes and the brain, as opposed to one that is said to cover every last scrap and detail of the language and professional practices. Those 'cover-all' books are better for veteran programmers, and you can always get that info online, or later in an 'advanced/professional' book.
Obviously, if you land on a book that is just difficult to work with, you need to try another one, but if your complaints are minor, then the web can fill in those gaps for you, just as it has done for me with my experience with this book. I've only had to do that a few times, ftr.
4 of 5 people found the following review helpful
- Published on Amazon.com
1. This book seems to be very clear on every minute detail which helps even a null knowledge holder about programming language to understand or interpret it better. It is really simple and easy to understand.
2. Seems just like the book from Yashwant Kanetkar titled "Let us C" or "Working with C" with much more simpler version to understand and learn to code C++.
3. I liked the concept of adding complete program along with the outputs right during the explanation of a command. This helps in interpreting the use of the command very well rather than wondering as to how to code and what might be the output, also the errors associated with that.
4. As followed in other books, this book also has the concept of giving the answers (ie. the final output - figures or number) for the workshop/quiz/exercises in the Index or the last pages of the book to verify the answers for the questions.. which is quite tedious to turn around the book and verify.. Atleast, this is my thought. I think it would be better to add all the results just after the quiz for that particular lesson in the next page rather than at the end of the book. I feel this would be more user friendly and simpler to handle the book. Ofcourse, if a person is genuine in learning the concepts or methods of coding then he would definitely not turn around the pages and sneak through it for the answers. Atleast not me in that case.
5. The keywords listed at the end for quick reference are just like tit bits which can be glanced very fast just like the way we prepare a chit with all the important points and glance through it during the exams.. I like that part.
6. If an audio CD is also included with this book, i guess it would be good. Because, if i get bored reading the book, i can switch on the computer and listen to it as well as experiment with the commands.. This is just an idea if you can use it..
7. I guess you could give a bit more clear picture about the pointer to an array versus an array of pointers.. The explanation is more or less similar to that of Yashwant Kanetkar in one of his books named above. We as students always had a bit of confusion in understanding that concept. If you could elaborate more about it with examples or figures, it would be better. Atleast, i had read that paragraph twice or thrice to get a clear pic of it which i could achieve only after representing the sentence with the help of a figure. I feel pictorial representation gives more detailed view of what the sentence can't achieve in just one go.
8. It would be better if you could cover more about the pointers on brief if not in detail like pointers to pointers etc.. so that the reader need not refer to other books just for having an idea about different methods of using pointers or usefulness of pointers.
9. Other topics about C++ seem to be good and informative.
10. Concept of debugging methods was mentioned but if a short cut key used to debug a program like the function keys is also mentioned along with the method as to how to use it while debugging helps a lot to play around with the code. I think this could have been added to the quiz/workshop/exercise part as none of the books mention about this and we learn either with the help of a senior programmer or googling or left unlearnt. Even the lecturers wouldn't know about the key, but they mention that you can debug the code line by line. This would really be an useful tip if made a mention in the book