My problem is I think Im rushing it. Like I get all the concepts and everything, (I haven't mastered them, but I understand them). Im learning classes right now. It's just I see people who spent like 10-20 years learning c++, and this is only not even my first year and Im more then halfway done I guess? Im looking forward to use my knowledge to make a couple games. So basically my question is how long did it take you to learn the concepts altogether. (Variables, Functions, Arrays, Pointers, Classes, Polymorphism, etc.)
I got all the basics within 3-4 weeks, just messing around. But it's going to take me years to master it.
And I can tell you, that even gurus who have been writing C++ for a decade, still learn new things once in a while.
So I believe the way you're thinking of it is a little cut & dry... too black and white.
I can tell you now, you are not close to half way done learning everything in the language. The basics maybe, but not all of C++.
I don't think anyone can really say when they finished learning C++, because I don't think anyone ever stops learning. Finishing a tutorial book, doesn't mean you've learned the language, just learned more of it.
I guess I see what youre trying to say... but what's beyond the book? Even the book written by the man who made C++? Isn't that well, everything there is to know?
The language syntax is just the basics. After you leaned what it is then you can begin to learn how to program. That's something you'll never stop learning.
There is no really valid answer to that question. Programming is much more than knowing all the syntax and functionality. There is very big creative factor as well.
Just because you've mastered music theory doesn't mean you can write the next great symphony.
Of course, that's why it can be so fascinating (... and frustrating).
Ahh I see what you mean, I guess my question is how long did it take to learn all the syntax? Like I said before. Variables, Functions, Arrays, Pointers, Classes, Polymorphism?
I know a small chunk of the language basics, but what I do know I am decent at.
To measure your knowledge you should try to make full fledged programs from scratch, using what you've learned. Maybe try making clones of different simple games - tic tac toe, black jack, rock paper scissors, hang man.
Just because you might know some of the basics doesn't mean you have mastered those elements and can somewhat easily know where and how to implement them in your coding.
Ahh I see what you mean, I guess my question is how long did it take to learn all the syntax? Like I said before. Variables, Functions, Arrays, Pointers, Classes, Polymorphism?
The first language I learned was Java, I learned it about 6 months (doing programs, review the concepts, experiment, etc..), then I move on to C++ because I also want to make games. Having my knowledge in Java made it easy to learn C++.
Learning a language is not difficult, however if you do not understand some fundamentals such as Data Structures, Algorithms, Memory Management, etc... you will have a hard time solving real world problems with the language and have an especially hard time making games. How quickly you can learn the language is really dependant on how much you practice. It tends to also be much easier and quicker to learn a new language when you already have one from the same paradigm under your belt.
When you feel you have conquered C++, start familiarizing yourself with STL and Boost, learn a graphics API or take on a challenging project.
Once I read that it takes 18 months to prepare an astronaut to go to outer space, but it took 3 years to even say you know how to program in C++. - Mag Art.
There's ppl like Herb Sutter, Danny Kalev, Scott Meyers and Herb Shildt, for example. They're what's called C++ gurus. That level of expetise in the language is reachable, but what does it take??
>>> Well, if the task is to master C++, this is huge!! It sures gonna take hours of your time studying it.
is it fair someone that, doesn't know the STL, havent herd about AUTO_PTR, operator overloading among other things integral parts of C++ not inherited from C, say they know, master or even are C++ programmers?? Something to think about.
>>>Some find it hard to learn, specially those who approach C++ from other programming language. This language is quirky, dark sides and even hidden things, i mean there are parts of the language some ppl hardly hear about, say LOCALS for example. The thing is to embrace the language as it is and not with too much logic, something hard to say to IT people or Computer Scientists!
Another thing is C programmers... C is great, dont take me wrong but there's lotz of bad habit u get when learning to program in a language like C, and worse is to bring that into C++.
>>>Years back the first line of code i saw was C++ and I'm still learning. My advise would be dont rush or u are bound to waste time! Get good tutorials... if you are a novice in C++ a good place to start is PROGRAMMING PRINCIPLE AND PRACTICE USING C++ by stroustrupp (who knows better?) it's his first biginers tut, C++ PRIMER SERIES they ar great, ESSENCIAL C++ by Stanly B. Lippman this book is a little more than 250 pages a short tutorial considering the first two but this one will get u familiar right away with aspects of C++ like TEMPLATES, RTTI, EXCEPTIONS, THE STL in my opinion a must-to know, OBJECT AND OBJECT-BASED PROGRAMMING and such. There are a bunch of other books I'd recommend but this are great to start.
Not much left to say but write a lot of code, write it good, discuss it with teachers and fellow student o colleages, commit to it, patience the reward is to programme reasonably good and with confidense in C++ what else have fun!!!!
First of all, I think very few people actually get to say they "know" a language. Many more can "use it with great proficiency".
Second, like it has been said, writing programs is easy. Writing programs cleverly is the hard part. Take a look at www.projecteuler.net . With lots of those, you can probably think of a brute force method in seconds. To do them in under a minute, you'll have to think like a computer scientist (and, gasp, maybe a mathematician!).
It actually has relatively little to do with syntax, and much more to do with knowledge of concepts that exist. Often, I'll have an idea of what I need to do, but no idea what the syntax is. I google it and generally have it in a few seconds, and have no trouble implementing it. Of course, some concepts just don't exist in certain languages.
In this community, I've mostly noted that the truthful saying "Remember kids, the higher your postcount, the bigger your hum-te-hum is" measures peoples knowledge of C++ here ;)
Herb Schildt? From my experience, it's best to stay away from his books.
it seems to me that his books are not only his books
one man can't release many books for every language
so, I think it's a pseudonym for a command of different people with different skills
I saw a thing similar to this
char *p = malloc(4); strcpy(p, "abcd");
and contradictions in one book and even on the one list (two pages) of one book
so, I think there are several editors write it