Sign in to follow this  
vicer1234

C++ Proficiency

Recommended Posts

vicer1234    115
Hi, I dont know whether its the right kind of question but still i hope people in gamedev can help me out. I have learned c++ and i have tested out programming in it developing some 2d games like pong, side scroller etc. But still i feel i am no where near to what it needs to be a decent c++ programmer. I want to know whether there is any C++ programming site where i can find different level of programs ranging from moderate to difficult level which i can test out. I have used polymorphism,virtual functions, some design pattern etc but still I dont feel like i have done considerably enough in C++. I know keep on programming is the real way to learn. Also what are the things i should do in order to improve my C++ knowledge in a systematic way. Please put your suggestions, i know its a awkward question but all suggestions are welcome.

Share this post


Link to post
Share on other sites
Katie    2244
"Beyond the C++ Standard Library: An Introduction to Boost" by Karlsson.

Have a wander through there. Loads of lovely stuff to play with; each with some simple examples. The topics are presented in neat little bundles, so you can increase what you're using one useful lump at a time.

Also;

"Modern C++ Design: Applied Generic and Design Patterns (C++ in Depth)"

and

"C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond"


I'll caution that they're detailed and they're a bit tough going in places. But if you can read them and use those techniques, you'll be well on your way.


Another book that's well worth reading; "The Pragmatic Programmer". It's not so much about C++, but development in general.

Share this post


Link to post
Share on other sites
LionMX    100
I remember reading somewhere (apologies to the author), that the best way to learn is to sit with someone who is a pro programmer, ideally someone who does it on a daily basis. You can ask them questions and learn why they have done things a certain way.

If you dont have this luxury, the next best thing to do is find yourself some open source code and study it, try to understand the authors code and if possible try find area's to improve.

There is no way of measuring how good someone is but the saying stands true "practice makes perfect".

Share this post


Link to post
Share on other sites
phresnel    953
Quote:
Original post by Katie
[...]


Let me add Josuttis/Vandevoorde: "C++ Templates - The complete guide", which definitely deviated my template skills and general knowledge about C++ to a new level (e.g. it goes into good detail about name lookup). Though it assumes that you are already pretty used to C++ minus templates.

(Sidenote: Vandevoorde is one of the developers of the one complete C++ compiler backend by EDG)

Share this post


Link to post
Share on other sites
phresnel    953
Quote:
Original post by LionMX
I remember reading somewhere (apologies to the author), that the best way to learn is to sit with someone who is a pro programmer, ideally someone who does it on a daily basis. You can ask them questions and learn why they have done things a certain way.

If you dont have this luxury, the next best thing to do is find yourself some open source code and study it, try to understand the authors code and if possible try find area's to improve.

I am happy to not blanket believe in my instructors, otherwise I would still write "void main()", I would be pretty used to copy+paste/cargo-cult programming, all that'd matter would be to rollout, but not to make it re-usable and re-readable, etc. etc.;

I fear that this is more the rule than the exception, as most of all programmers do not learn at boost, edg, or <put in your most respected software company>, but in small "no-name" companies where only people work that do not post on gamedev, devmaster, ompf, the c++ mailing lists or whatever, and who do not follow Dr. Dobbs, or read books of good coding practices, but for whom this is only for the money at the end of the month.

Quote:
There is no way of measuring how good someone is but the saying stands true "practice makes perfect".

Unfortunately it does not. Otherwise, everyone would be a guru after some time.

Share this post


Link to post
Share on other sites
mazelle    106
Read the latest edition of Code Complete. It deals about software construction in general including the nuts and bolts of it which is the code. It helped me a lot. It propelled me to become a framework developer in my previous company.

Are you working already? Let others review your code. Let others use your code (if they can't use it then you need to work on that). This things just comes automatic when you're working in the software industry. If not then you can always share your code with your friends.

Lastly, just keep on making software projects. Take note of the good and bad points of each project. Make sure that the latest project is better than the previous one.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this