   At what point do you start a self teaching project?
  I was thinking:You can learn new stuff in most programming languages almost FOREVER.  So at what point do you say "Ok, I''m going to put the learning on hold and see what I''m capable of with what I know."The 2 extreams:Someone learns the bare minimum needed to display text, use if statements, and get imput; and to further my point, lets say they don''t know anything about loops.  Now, the person sets out to make a text based RPG.  Not knowing loops, or any of those tricks that could make it 1000 times easier, they have a *fun* time making this game.  At the end you essentially start, ang procede though, and the program contains about as much text as one of those choose your own ending books.  They often repeat the same line (like in battle sequences) over and over, redundantly.  This is obviously a bad thing, and this person should have waited until he knew more.On the other hand you could never attempt to make anything, because there is always something new out there that MIGHT make your program run a little better and make it a little easyer to create.  This is the other extream.Then there is the classic "Start knowing nothing, end knowing 10 times what you did when you started."  This is a good thing, after all, it''s great to learn new stuff.  The problem with this though is that you will start with redundant/inefficiant methods of programing, and then later want to try and use these new methods your learning.  These may not fit in well, or you may get them in somehow but then your opening looks weak, and the end looks profesional (another extream here).  Or, they may think "HEY! I can make this in 3D now!" and scrap there original project and then start this new "3D" project!  Later they find a faster way of doing 3D (or maybe some noob stumbles accross how to program there monitor to do holo-projections or something ) and scraps the project for a 2nd time.What are you opinions on this?Any thoughts? 
  Think of a project and start writing it.  It might not be done the best way at first, and that''s OK.  You get better by writing code.  When you learn new/better techniques, you can go back and refactor your code.  But the first thing to do is decide on a project that you want to do, not just a test program or exercises.   IMO, anyway.   --Dave Mikesell Software;  Loops (Or control statemetns) are one of the first things you learn in programming, right after variables and basic i/o.I started to make a pong game after reading about OpenGL for 3 hours or so. I kindda failed.I started my first attempt with a graphical RPG after a few days of experience on QBasic. I managed to make a simple engine, and no more.So basically, by doing lots of projects, most of which wasn''t finished, I learned new things at a faster rate that I would reading a book.Of course, knowing the basics (control statements, input, etc), is required.Answer to your question: I would start as soon as you think you can. If you think knowing how to use std::cout, std::cin, for loops, while loops, and cases are enough to make a text-based RPG, then start!  Elben"Give a man a fish and he will eat for a day. Teach a man how to fish and he will eat for a life time."-Chinese ProverbWiseElben.com - Experience Wisdom;  I have learned by reading something and then coding it. Then reading some more and coding some more. Later I go back and reread the material to refresh my memory. I find enjoyment in little things so they motivate me.  ;  I think the read then code experience is a good start to get familiar with the basics. Once you''re pretty familiar with it and have done some more challenging examples you can think of a small and nice project you''d like to do. Then you should think about what you''ll kind of need and see if you can do it. And then just go.When I started my first "real" project (a hangman clone in console) I rewrote the whole app a couple of times, because as you code you think of more features to put in and you realise how to do certain things more efficient than you used to do them.I think it''s important not to give up, but continue with it until you''re happy to show it off.And once you''re finished, you learned a lot.Then you go back to the read then code algorithm again and advance in the same area, or on a complete different one And in my opinion this will never stop unless you lose interest, but that''ll either happen during the first few projects or never 