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