how did you become good

Guys, I am a new student at college.I enrolled for computer science.Currently I am doing c++.But, I don't want to leave it.I want it to be part of my life.I am using a book by Tony Gadis, "starting out with c++".The problem is that even though I do the exercises there, when I am given assignments, tutorials, practicals or projects, I always struggle.My question is, how did you make it.what material should I use.What should I do.Any suggestion is welcomed.
closed account (jwkNwA7f)
I'm not going to call myself good, because you can always get better, but I'll tell you how I got to where I am. I got a lot of books and read online tutorials. Then, I wrote a lot of code. That's about it.
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??

EDIT:
I read a post earlier;some guy says Maliks books are trash.
Last edited on
closed account (jwkNwA7f)
Not explaining it well, bugs in the code, incorrect facts, etc..
closed account (3qX21hU5)
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.
Last edited on
@Zereo
Thanks a lot.that clarified everything.Thanks again for your input.
To expand a bit on number 2 and 3 from Zereo, let's call them:

2a): Cross reference your resources. The best most up to date resource out there is still going to be open to your interpretation so don't just read one thing and think what you gathered from it is the whole truth. This also means that you should keep those resources that are rated poorly, not to learn directly from them but to cross reference what you are reading in another source. Also NEVER FORGET that header files are always stored as plain text, if you are reading up on a function and you don't understand some part of it 100% then crack open the header file with a text editor and see if the function is implemented in there.

3a): Practice is the key but you will run into that point where you feel like you know a lot but you have no idea what to do in order to exercise it, or where to go next. At that point I usually come here and see what other people are working on or having trouble with and that's where a lot of my practice comes from. But this doesn't come until a lot latter when you've exhausted your other ideas.
We were all frustrated and struggled when we first started out programming with c++, you're not the only one.
Topic archived. No new replies allowed.