Sign in to follow this  
gibxam

C++ time??

Recommended Posts

Hey everyone, I'm just wondering from all you guru C++ game programmers out there how long did it take before you were confident with your C++ skills ( or any other OOP lang )? -max

Share this post


Link to post
Share on other sites
You should always be confident in your skills. However, you also need to be aware of what the limits of your skills are.

I doubt anyone will ever say they're confident enough in their skills that they're done learning or making mistakes. Being over-confident at any skill level will lead to bugs.

Share this post


Link to post
Share on other sites
I started out programming in Turbo C in highschool when I was 14. Picked up my first copy of C++ 6.0 at the age of 16 and began modding Quake II and ultimately III just for the sake of doing it. Twelve years and a college diploma later (as well as working as a developer in the workforce) am I confident in my skills yes, but as Dave and Gibxam have both stated I still find myself looking up this or that in the MSDN/online or spending hours debugging some dumb little issue I should have caught in the first place.

Best bet is pick it up, get some books start reading and mess with smaller OOP applications or open source projects and see how much you understand. You'll always be learning something new and this is one of the driving factors that drove me to choose the career I did :).

Share this post


Link to post
Share on other sites
Quote:
Original post by gibxam
I'm just wondering from all you guru C++ game programmers out there how long did it take before you were confident with your C++ skills ( or any other OOP lang )?
Your question mixes two different questions with very different answers.

-- How long before you were confident with your C++ skills?
-- How long before you were competent with programming in an object oriented language?

The former is, maybe two or three years. Nowadays, I'm not confident at all. There are several sure signs of an incompetent C++ coder; being confident is the easiest and most reliable.

Let me repeat that. Anyone who is confident with C++ has no idea what the hell they're doing. I started using the language regularly in 2000, and have since spent time writing it professionally. I've put considerable effort into understanding all its corners and quirks, and has surprised me with some new detail of behavior or syntax as recently as today. A good C++ coder should constantly be wary of everything they're doing, because the language is extraordinarily volatile.

Now then, moving onto the second question. Again, I'd guess two or three years. Again, I was seriously mistaken. The first mistake was thinking C++ is an object oriented language. It's not, really. it puts up the basic facade of it for the most part, and does the basics, but it's still just a facade.

The second mistake was thinking that because I understood how to use classes and interfaces, inheritance and polymorphism, and was aware of relationships like is-a vs has-a, I knew how to write object oriented code. Not even close. Those things are mechanics. You're not a chef because you know how to use a frying pan.

Something like 8 years into doing all this programming stuff, and I'm back to being cautiously confident. I've read and absorbed the Gang of Four Design Patterns. I'm at least superficially familiar with enough languages (maybe 10-12, imperative and functional both) to be able to effectively understand and compare variations on how OOP can work. I've read as much about software design as I've been able to absorb (such as this eye opening document).

I still get the feeling, though, that a few years from now that I'll see that my current confidence, however cautious, was still entirely misplaced.

Share this post


Link to post
Share on other sites
Quote:
There are several sure signs of an incompetent C++ coder; being confident is the easiest and most reliable.
QFT!
If your ever totally confident with C++, then you need to slap yourself in the face with a wet fish!

Whilst most of us know we can write code to do whatever it is we need to do at the time, we very seldom produce the best solution, we don't necessarily have the knowledge to understand other's code, and we'd occasionally be lost without some form of reference material.

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