Jump to content
  • Advertisement
Sign in to follow this  
RSL

C++ Language

This topic is 4499 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi people. I just wanted to ask you a question. How big is the C++ language? How do you know if you're a beginner? an intermediate? advanced? If I know up to polymorphism, then am I still a beginner or an intermediate? After you learn the basics of C++ from cplusplus.com, is that all that's to it? Or do you learn Windows GUI programming and then you're done? Not including learning API though.

Share this post


Link to post
Share on other sites
Advertisement
Hey bud,

1. The language is big, but most of its operation lies in libraries now.
2. It is safe to say that you will never stop learning new things about it whilst learning it.
3. I dont think you can easily brand yourself as Beginner, Average or Expert.
4. If you want to get good then:
a) go to http://www.gotw.ca and understand those articles.
b) CODE CODE CODE, nothing better than solving real world situations
c) download the standard and browse that. I have learned some new stuff just reading it.

Hope that helps,

Dave

Share this post


Link to post
Share on other sites
I'd say you will never be fully learned. You always learn something new, or at least I do. How to tell at what level you are. Well, that's a bit tricky. I guess you have to determine for yourself. Do you feel confident and believe you know all the workings of c++? Then you are probably an advanced user. If your just starting out and don't know how arrays or casting works, for instance. Then i'd say beginner. Intermediate somewhere between.

Share this post


Link to post
Share on other sites
Quote:
Original post by DarkZoulz
I'd say you will never be fully learned. You always learn something new, or at least I do. How to tell at what level you are. Well, that's a bit tricky. I guess you have to determine for yourself. Do you feel confident and believe you know all the workings of c++? Then you are probably an advanced user. If your just starting out and don't know how arrays or casting works, for instance. Then i'd say beginner. Intermediate somewhere between.


i would agree with you there.

i recommend this tutorial for anyone out there trying to learn C++ http://cplusplus.com/doc/tutorial/

Share this post


Link to post
Share on other sites
C++ is very complex. If you want to get into some more advanced concepts, check out C++ FAQ Lite. It is great if you want to go beyond what is presented in text books.

Also check out Bjarne Stroustrup's C++ page. He is the original creator of C++ and his site gives a lot of insight into the design of the language.

Also Windows GUI programming does not have anything to do with mastering C++. It is just a library that can be used.

Good Luck!

Share this post


Link to post
Share on other sites
I would say that, if you kept studying for a rather long time and always wrote new programs, you would eventually "know" C++. After all, the language is not infinitely large. What you will keep learning is new ways to apply the language. There are always new ways to get from point A to point B, always a new way to solve problem X.

Share this post


Link to post
Share on other sites
C++ is just a language. Knowing all the keywords helps, but it doesn't allow you to make anything you want. You could understand ever facet of C++ and you still couldn't make a game if you didn't understand the math, physics, AI, etc. behind it. Hell, I understand almost every word in the English language, I can put together nouns, pronouns, verbs, direct... oh what they.. objects, etc. But I couldn't write a poem or novel to save my life.

Heres a pretty easy test to determine how good you are.
If you understand and can use pointers, pointers to pointers, etc: well, you are at least intermediate.
Could you program any C++ program in C? Its always possible, you just have to use function pointers instead of virtual functions, write functions instead of class methods, not name your functions the same name (thats a hard one), etc. The most object oriented code can still be written in C. If you can do all that you are probably close to an expert.
Now for the real test, could you program any C++ program in assembly. While that would take some knowledge of assembly, remember that all your code gets transformed into assembly anyways. Could you tell me what order parameters are pushed onto the stack and what registers are used to pass parameters with different calling conventions? Ever made a DLL before? Do you understand how the compiler generates jump tables with switch statements? Oh god its scary how much ridiculous stuff compilers do. All of this stuff really helps understand what is going on under the hood of C++.

Edit: Now I'm just talking about the C/C++ language in general. I don't include libraries, API's, Windows-specific stuff with the term C++. But it does make life easier when you use the STL and other good stuff.

Share this post


Link to post
Share on other sites
There is a difference between being fluent in a language and being able to program. I'm talking about the problem solving side of programming.

I've said this before somewhere but I think that no matter how much of a language you've learned, you find that you're a better programmer when you're faced with a problem and devise a solution almost completely without thinking of the language specifics. It's not something that you need to actively work at. For me, I just looked at what I was doing one day and realised that I had been creating solutions first, then worrying about what I needed to do with C++ to code the solution.

I believe when you get to this point, you can call yourself an intermediate programmer. Please note that this doesn't mean that you'll always be doing this, just that you can see the difference between the solution and the creation of the solution in any particular language.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I hope this doesn't sound condescending, but if you have to ask, you're probably a beginner.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Well, I am not a pro just a mere brand new beginner; but I will personally feel like i have left the beginner stage when I can successfuly come up with an idea and implement it into code without asking for help on every other line :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!