|That's the problem.Some people say this book is trash, or that one is trash.I don't understand what they mean by that. I for one don't want to waste my money on trash.BTW, why do people say some books are trash, do they mean the explaining or what??|
When they say a programming book is trash it could be from a number of different things.
One might be because it teaches bad habits and gives misinformation. This is probably the worse thing that can happen in a book geared towards new programmers. If they have a error in the code it will be obvious most of the time. But when the book is teaching you to things in a way that is bad you won't find out until much later down the road most likely. And then you question what else might be wrong in what you learned.
Another reason might be as retsgorf said bugs in the code which isn't the worst as long as it doesn't happen a whole lot but it is still pretty bad.
Another would be the auther(s) don't explain stuff very well or they are to techniqual for beginners. This doesn't make the book bad per say just probably not the best book for beginners to be reading.
But like I said there can be many reasons why people might say a book is bad. It could even be just because they don't like it (Even though others love it).
For me I generally get the books that are highly praised in programming forums (Don't go off the ratings on Amazon or other books stores).
If you are looking for good beginner books I would recommend getting these two book. C++ Primer 5th Edition (Make sure you do not get C++ Primer Plus it is not the same book and is no where near the same quality) and Accelerated C++. Use Accelerated C++ as your main book that you read from start to finish and then use C++ Primer as a reference aid. If you find something you don't understand in Accelerated C++ look in C++ Primer to understand it better (Since it goes much more in depth into topics).
Both of them books are written by highly respected Authors and have great reviews among programmers. Accelerated C++ is a bit out of date but is still one of the best beginners book in my opinion and with C++ Primer which has been updated for C++11 you should be fine.
But as to how you get good at programming. There is three main things in my opinion that you need. The list below is not in any order of importance.
1) Determination. Plain and simple you need to be determined to learn it. You can't give up when you run into a problem you need to keep on trucking and figure out a way to fix it. If you are determined to learn C++ you will learn it.
2) Get some good resources to learn from that teach you the right way to write code. This could be a couple of books or tutorials or even youtube videos.
3) Program, Program and PROGRAM
. You need to keep on programming and much as you can. Practice makes perfect and for so many thing in programming the only way to understand them and get good at them is by actually do them. You can study and read all you want but if you don't actually code anything you won't learn.
Some other tips are
~ When you are first learning something and trying to code it don't always look down at your notes or at the book to see how it is coded. Instead try and think through the problem yourself. This will help your brain learn it that much faster.
~ When you are learning something never copy and paste the examples to test them out. Even if you are just typing it out while you look at the book or tutorial it is better then copying it and pasting it. This will cause you to think about everything that is happening in the code and what it is doing. It might mean more work but it will help you understand the code much better.
~ Learn how to use a debugger
. This actually should be one of the things that is a must to learning coding. A debugger is going to be your most helpful tool that you have in your tool bag and it will save you hundreds of hours of frustration by learning to use it.
~ When you run into a compiler error or debugger error your first step should not be to look up what it means on the internet or go into a forum and ask for help. Before doing any of those try and work through the error on your own. Spend a few hours on it and see if you can figure it out. I know that is a long time but it helps you learn how to debug errors which is a major
part of coding.
I could keep going but this post is getting long as it is ;p. So just remember keep at it and keep on programming. It isn't something you can learn in a few months it will take years to learn, but it is worth it.