<br><br>
<div><span class="gmail_quote">On 7/3/07, <b class="gmail_sendername">Ben Waldin</b> <<a href="mailto:atomiclemon@hotmail.com">atomiclemon@hotmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>How long will it take until I successfully create my own working program that is useful? I have crated the address book ones in the tutors and just want to know how long it takes before I start to create my own thought up programs that will be useful. Thanks Ben
<br><br> </div></blockquote></div>
<div>-- <br> </div>
<div>This depends entirely on the following things:<br><br>1) How motivated are you?<br>2) How much time are you willing to put in?</div>
<div>3) What do you call "useful"?</div>
<div> </div>
<div>There is no set "time frame" you can count on. No matter what some books/teachers may tell you, you *cannot* "Learn how to (do whatever) in X number of hours"---that's an unreasonable standard to hold yourself to. But the more motivated you are to learn, the more you *will* learn. And the more time you put in, the "faster" you will acquire that knowledge. For more on this idea, read Peter Norvig's excellent essay "Teach Yourself Programming in Ten Years" at <
<a href="http://norvig.com/21-days.html">http://norvig.com/21-days.html</a>> </div>
<div> </div>
<div>That pretty much answers 1 and 2, but to answer 3, you have to think about what you mean by a "useful" program. That is entirely subjective, and I think you're backing yourself into a bad corner by thinking of a *program* as useful/nonuseful. The beauty of a language like Python is that it is easy to build different "modules," if you will, that you can use over and over again in new and creative ways. So perhaps instead of thinking in terms of "how useful is this *program*" you should be thinking "how useful is this *skill*." The answer, for each skill you learn, will be different, but if you think of it that way, you'll be a lot more satisfied with your daily progress. For example: If you are learning how to print text to the screen, such as the basic "Hello World" that almost everyone learns first, that *is* useful, because *without* that, you can't really do anything else. See what I'm getting at here?
</div>
<div> </div>
<div>Once you build a basic toolbox of skills, then you can begin to look for challenges that need to be solved. And in order to do that, you are only limited by the skills you have, and by your own imagination.</div>