Archived

This topic is now archived and is closed to further replies.

Webbster

C++ Learning Curve

Recommended Posts

Webbster    122
Just a question of curiousness really, to anyone else who taught themselves C++ (from a book, not a course). How long did it take you to actually get the basics (Variables, Functions, OOP, Pointers, Inheritance, Polymorphism, Templates etc.) under your belts? And also, after you''d covered such topics, where you went from there, in terms of programming (games or otherwise)?

Share this post


Link to post
Share on other sites
Dark Star    100
well originally before learning C/C++ I learned BASIC which was too easy. With the basics of programming I went on to learning C from reading a library book but never had a compiler for about 3 years so all I learned I couldnt try out, I wrote programs on paper (LOL)....within those years I also started learning C++ aspects too at the same time as learning C, which people would advise strongly against, because it could confuse you or lead to a mish-mash of programming style clashes or whatever (at that time I didnt even know the difference between the languages). Frankly it did not confuse me and by the time I got a compiler I discovered I knew C/C++ quite well (not expert like.. but well enough).

I finally got a chance to write all my hand written programs and compile them to find they worked well, with few errors. Soon after I started learning graphics programming in MS-DOS using the DJGPP compiler and then once I knew the low level routines like changing screen mode and palette stuff I was able to make my first C/C++ game, a remake of Snake. Which turned out excellently.

It took me only about a month or two to get the basics of C, because I had BASIC programming experience already, but I guess it depends on who u are. some people can get it in about 3 weeks (my friend did, and he''s never coded before in his life, now he can code in C quite well).

Dark Star
UK

Share this post


Link to post
Share on other sites
Webbster    122
I''m 15 years old, and have started programming with C++ from the start.

I followed the Sam''s 21 Days course, but its so slow. So i decided to do 2 chapters a day instead of 1. I''ve got what i would consider the basic knowledge of C++ and OOP, but chances are many programmers here would disagree, i would like to go onto OpenGL but I''m alittle worried that such a leap would be a waist of £30 (for a good book lol)...

Does anyone know if the so called ''Red Book'' caters for people like me?

Share this post


Link to post
Share on other sites
Ekim_Gram    418
If you don''t wanna spend money on a book then download and print out NeHe''s tutorials, put them in a binder with the pdf cover beneath the plastic of the binder and there you have it! An OpenGL book that just cost the price of printer ink.



R.I.P. Mark Osback
Solo Pa Mi Gente

Share this post


Link to post
Share on other sites
Webbster    122
I checked out NeHe a while back, the tutorials are alittle confused. I looked at the first one, I could identify all the structure and everything but it was almost as if I was already expected to know every OpenGL keyword used and its syntax.

I''ll take another look and browse the gametutorials web site something might just go ping! in my head...

Ad
PS Thanks for the free book tip Ekim_Gram

Share this post


Link to post
Share on other sites
Dark Star    100
I can''t really advise you on what book to get on OpenGL, but if you have been programming for only a little while then maybe it may not be advisable to start on something like OpenGL. The reason I say this is that with programming, if you follow a 21 day book like the one you have, and do all the exercises, doing well in those does not always mean you will be ok on your own. Sometimes you need to put your programming skills to the test and write small programs to practice what you have learned. Simply learning something new from each chapter (day) is not enough for the type of programming you want to achieve in OpenGL. Maybe if you have been practicing for a few months first.

But dont let me discourage you. I dont know your level of programming and neither can I give a definate for how long you must be programming before you start on something like OpenGL or DirectX. People learn at different rates.

and doing 2 chapters in one day is fine....I did about 4 because I was so excited when I was learning. Just depends on how much you can take in. But be sure to devise your own programs to test something you have learned in the chapter. Eg. if u learn about functions, write a program with extensive function calls, and experiment with return types and parameters


Dark Star
UK

Share this post


Link to post
Share on other sites
Darkneon    166
I started with QBasic for 3 months then did Visual Basic for 2 years. When I switch to C++ (it has been 1 year now) it took me like 5 days to learn the syntax (variables, loop, functions etc), the basics are the same.

As for learning OOP, Pointers, Inheritance, Polymorphism, it took me 6 months to really understand how to use them. Pointers where a pain in the ass at the beginning. But in the end, it all comes to only one thing, the amount of time you pass practicing. If you can spend 5 hours a day in 2 months you should get all that. It all about free time.

If you''re into serious game programming do not learn VB, experience talks.

Share this post


Link to post
Share on other sites
sSimontis    100
By 3 months, I was writing my own simple programs without help of the book. By 6 months I wrote a text-based game. I have been programming in C++ for about 9 months now, and understand most of it. I read C++ for Dummies 4th Edition and half of Thinking in C++, Edition 2, Volume 1 to learn, plus read some stuff online.

Scott Simontis
e-mail:ageofscott@comcast.net
AIM:ssimontis

Share this post


Link to post
Share on other sites
Webbster    122
Im fairly able in terms of programming my own creations (and not just copying and altering samples from a book).

Im one of these types of people who messes around with programming whenever I''m bored, which is usually when I''m not learning abought computers and programming in general. lol, your average computer nerd.

Share this post


Link to post
Share on other sites
EvilVodkaMan    152
Originally being self taught, now going threw classes basically i started with basic(i was a youngin lol), then c, and later c++, vb, etc etc. Ive been "programming" for 11-12 years now.

Well teaching yourself has its benefits, looking back i dont really recommend it, or rather not in the way i did. Youll teach yourself...eventually. Everything takes longer to learn, unless you easily grasp logical problems, OOP, polymorphism, inheritance and all that. C is easy to learn in my opinion, c++ is a whole diff. story. Also, you may teach yourself "wrong" now that im in a lot of CIS courses i upset the teacher a lot because ive always been a code now plan later developer because i mean who wants all that boring design right? lol.

However, i still think teaching myself was a good idea, and being as your only 15 theres not really much of a alternative. Pick up some good books, lots of them. Dont be like me and sit on the internet all day looking for material. That was my biggest mistake. "Im cheap and books are expensive" so i taught myself with one book, and about 100lbs of computer printout lol....so much for cheap. But soon enough it was text based games, then VGA, SVGA, Simple graphics demos, then 3d.

As for learning opengl, dont. not yet. Im one of those you cant learn c++ in 15 days people, and im sure people will argue with me. While you can learn the basics, you cant learn its full power. Why learn something if you cant learn it correctly. Spend time playing with the language. But once you grasp the language firmly theres no problem going with opengl, you arent coding 10 years ago(thank god) where all the 3d blitting routines had to be written by hand. Opengl makes game development go a lot faster, in my opinion anyways.

As people have said, write programs. LOTS of programs its the only way youll ever get better at it. A book can teach you the "recipe" but it cant teach you how to cook.

~ Chris

Share this post


Link to post
Share on other sites
sSimontis    100
Never learn OpenGL quickly. At least be able to understand intermideate skill level C++ books. C++ in 21 Days is pretty bad. You can''t learn enough in 21 days. The biggest joke of all is TEach Yourself C++ in 10 Minutes. You will have no chance of learning in 10 minutes.

Scott Simontis
e-mail:ageofscott@comcast.net
AIM:ssimontis

Share this post


Link to post
Share on other sites
EvilVodkaMan    152
"The biggest joke of all is TEach Yourself C++ in 10 Minutes."


.....please tell me that isnt a book....please. Stupid authors like that get peoples hopes up that programming is easier then it really is. "Well ill just go learn c++ in 10 minutes! opengl in another 5 and have doom4 out by summer vacation!" So irritating....

~ Chris

Share this post


Link to post
Share on other sites
bastard2k5    238
Actually, it is a real book: clicky. It is in 10 minute lessons, which is still stretching it.It took me about 3 months to get the basics, although that was because of taking a class, you could probably push it, and learn it all in 1 month. Just write a lot of programs, pushing your knowledge of the language farther each time. I am probably looking at learning the STL next as far as C++, and how to use that in programs, then I will probably take on SDL(Multi-platform game API), and then OpenGL.

Share this post


Link to post
Share on other sites
deathtrap    364
took me 3 weeks to get a good grasp on c++ . and another 3 weeks to get alot more practice and become more familiar with it. now i''m learning sdome graphics API''s and trying to learn ASM

Share this post


Link to post
Share on other sites
EvilVodkaMan    152
No offense, i dont know your intention, and im all for low level manipulation. I once wrote a software renderer over using opengl just for fun, but is learning asm 6 weeks into your programming adventure that wise? Yes ASM is still relevant, but only with a deep deep deeep deep knowledge of the innerworkings of both the compiler, and the cpu. Now if your idea of "fun" is much like mine (Oh lets learn asm for fun!) then i have nothing to say except, youll have more "fun" in C++ then you ever will in asm lol

~ Chris

Share this post


Link to post
Share on other sites
Meldroc    122
Learning the basics of C++ didn''t take very long - only a few weeks for me. But C++, being a large language, has a lot of gotchas - various intricacies of classes & inheritance, templates, the STL, exceptions, namespaces, etc. All of these features are fundamentally easy enough to understand, but it takes months to figure out all the quirks. Then I had to relearn C++ - after doing other things and coming back to C++ after a couple years, I had to learn about the things that changed just before C++ became an official ISO standard - how the standard library now lives in the std namespace, how to use cout instead of printf, and how to do canonically correct C++ (most classes should have operator= and a copy constructor, be const correct, exception safe, and follow other conventions).

Do not underestimate C++. You can get the fundamentals fairly quickly, but truly mastering the language can take years.

Share this post


Link to post
Share on other sites
Bakingsoda36    211
quote:
Original post by sSimontis
...C++ in 21 Days is pretty bad...


Please don't comment on a book you have never read.

[edited by - Bakingsoda36 on September 2, 2003 10:32:54 AM]

Share this post


Link to post
Share on other sites
Webbster    122
Thanks for all the replys.

lol, i had a little read of C++ in 10 Minutes...I''m only a noob and the idea of it made me laugh, and the actual content isn''t that good either.

Alot of you have been saying that going from C++ in 21 Days to OpenGL is abit to much of jump, so... can anyone suggest a C++ Intermediate book which will be of great value to me?

I was thinking of that one written by the creator of C++ himself: "The C++ Programming Language" maybe the special edition one, or is that book to advanced?

Share this post


Link to post
Share on other sites
bastard2k5    238
"The C++ Programming Language" is a very good reference book, and I would recommend you getting it eventually if you are serious about programming in C++. Although perhaps experimentation with code would be a good step between the core language, and building on knowledge of API.

Share this post


Link to post
Share on other sites
flangazor    516
quote:
Original post by Webbster
I''m 15 years old, and have started programming with C++ from the start.

I followed the Sam''s 21 Days course, but its so slow. So i decided to do 2 chapters a day instead of 1. I''ve got what i would consider the basic knowledge of C++ and OOP, but chances are many programmers here would disagree, i would like to go onto OpenGL but I''m alittle worried that such a leap would be a waist of £30 (for a good book lol)...

Does anyone know if the so called ''Red Book'' caters for people like me?


When you are ready to learn OpenGL, the Red Book is THE book to get. Also, get the blue book (ask your parents nicely if you can''t afford it). You will know your progress of learning OpenGL based on which book you refer to more. The more you use the Blue book, the better you understand the API.

Share this post


Link to post
Share on other sites
Lektrix    106
I would expect that these introductory books would be very useful to you:

  • Accelerated C++ by Andrew Koenig and Barbara E. Moo
  • C++ Primer by Stanley Lippman and Josee Lajoie

    If you would like some advise and reviews on books, I would recommend having a look at ACCU's book reviews section (ordered by "highly recommended", preferably).


    Based on your level of experience, I don't think that you are in a position to make such comments, sSimontis.

    [ Google || Start Here || ACCU || STL || Boost || MSDN || GotW || MSVC++ Library Fixes || BarrysWorld || E-Mail Me ]

    [edited by - Lektrix on September 2, 2003 1:31:47 PM]

    Share this post


    Link to post
    Share on other sites