⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 21-days.html

📁 Teach Yourself Programming in Ten Years
💻 HTML
📖 第 1 页 / 共 2 页
字号:
The acquisition of a hierarchy of habits. <i>Psychology Review</i>,
1899, 8, 345-375</a>
</p><p>
Hayes, John R., <i><a href="http://www.amazon.com/exec/obidos/ASIN/0805803092">Complete Problem Solver</a></i> Lawrence Erlbaum, 1989.

</p><p>
<a name="cs">Chase, William G. &amp; Simon, Herbert A.  
</a><a href="http://books.google.com/books?id=dYPSHAAACAAJ&amp;dq=%22perception+in+chess%22+simon&amp;ei=z4PyR5iIAZnmtQPbyLyuDQ">"Perception in Chess"</a>
<i>Cognitive Psychology</i>, 1973, 4, 55-81.
</p><p>
Lave, Jean, <i><a href="http://www.amazon.com/exec/obidos/ASIN/0521357349">Cognition in Practice: Mind, Mathematics, and Culture in Everyday
Life</a></i>, Cambridge University Press, 1988.

</p><hr>
<a name="answers"><h2>Answers</h2></a>

Approximate timing for various operations on a typical 1GHz PC in summer 2001:<p>
<table border="1" cellpadding="2" cellspacing="2">
<tbody><tr><td>execute single instruction </td><td> 1 nanosec = (1/1,000,000,000) sec
</td></tr><tr><td>fetch word from L1 cache memory </td><td> 2 nanosec
</td></tr><tr><td>fetch word from main memory </td><td> 10 nanosec 
</td></tr><tr><td>fetch word from consecutive disk location </td><td> 200 nanosec
</td></tr><tr><td>fetch word from new disk location (seek) </td><td> 8,000,000 nanosec = 8 millisec
</td></tr></tbody></table>
 

</p><hr>
<h2>Appendix: Language Choice</h2>

Several people have asked what programming language they should learn first.
There is no one answer, but consider these points:

<p>
</p><ul>

<li><i>Use your friends</i>. When asked "what operating system should
I use, Windows, Unix, or Mac?", my answer is usually: "use whatever
your friends use."  The advantage you get from learning from your
friends will offset any intrinsic difference between OS, or
between programming languages.  Also consider your future friends:
the community of programmers that you will be a part of if you
continue.  Does your chosen language have a large growing community
or a small dying one?  Are there books, web sites, and online forums
to get answers from?  Do you like the people in those forums?

</li><li><i>Keep it simple</i>.  Programming languages such as C++
and Java are designed for professional development by large teams of
experienced programmers who are concerned about the run-time efficiency of
their code.
As a result, these languages have complicated parts designed for these circumstances.
You're concerned with learning to program.  You don't need that complication.
You want a language that was designed to be easy to learn and remember by a
single new programmer.

</li><li><i>Play.</i> Which way would you rather learn to play the piano: the
normal, interactive way, in which you hear each note as soon as you hit a key,
or "batch" mode, in which you only hear the notes after you finish a whole song?
Clearly, interactive mode makes learning easier for the piano, and also for 
programming. Insist on a language with an interactive mode and use it.

</li></ul>

Given these criteria, my recommendations for a first programming
language would be <b><a href="http://python.org/">Python</a></b> or
<b><a href="http://www.schemers.org/">Scheme</a></b>.  But your
circumstances may vary, and there are other good choices. If your
age is a single-digit, you might prefer
<a href="http://alice.org/">Alice</a> or <a href="http://www.squeak.org/">Squeak</a> (older learners might also enjoy these). The important
thing is that you choose and get started.

<hr>

<h2>Appendix: Books and Other Resources</h2>


Several people have asked what books and web pages they should learn
from.  I repeat that "book learning alone won't be enough" but I can
recommend the following:

<p>
</p><ul>
<li> <b>Scheme:</b> <a href="http://www.amazon.com/gp/product/0262011530">Structure and
Interpretation of Computer Programs (Abelson &amp; Sussman)</a> is
probably the best introduction to computer science, and it does
teach programming as a way of understanding the computer science. 
You can see <a href="http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/">online videos of lectures</a> on this book, as well as the <a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">complete text online</a>. The book is
challenging and will weed out some people who perhaps could be
successful with another approach.  

</li><li> <b>Scheme:</b>
<a href="http://www.amazon.com/gp/product/0262062186">How to
Design Programs (Felleisen <i>et al.</i>)</a> is one of the best books
on how to actually design programs in an elegant and functional way.

</li><li> <b>Python:</b> 
<a href="http://www.amazon.com/gp/product/1887902996">Python Programming:
An Intro to CS (Zelle)</a> is a good introduction using Python.  

</li><li> <b>Python:</b> Several
online <a href="http://wiki.python.org/moin/BeginnersGuide">tutorials</a>
 are available at <a href="http://python.org/">Python.org</a>.

</li><li> <b>Oz:</b> <a href="http://www.amazon.com/gp/product/0262220695">Concepts,
Techniques, and Models of Computer Programming (Van Roy &amp; Haridi)</a>
is seen by some as the modern-day successor to Abelson &amp; Sussman.
It is a tour through the big ideas of programming, covering a wider
range than Abelson &amp; Sussman while being perhaps easier to read and
follow.  It uses a language, Oz, that is not widely known but serves as
a basis for learning other languages.

&lt;
</li></ul>

<p>


</p><hr>
<h2>Notes</h2>
T. Capey points out that the <a href="http://www.amazon.com/exec/obidos/ASIN/0805803092">Complete
  Problem Solver</a> page on Amazon now has the "Teach Yourself
  Bengali in 21 days" and "Teach Yourself Grammar and Style" books under the
  "Customers who shopped for this item also shopped for these items"
  section.  I guess that a large portion of the people who look at that
  book are coming from this page.
Thanks to Ross Cohen for help with Hippocrates.


</td><td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td><td bgcolor="#eeeeee" valign="top">
<h2>Translations</h2>
Thanks to the
following authors,
translations of 
this page are
available in:

<hr>
<a href="http://www.myahya.org/writing/21-days">Arabic<br>(Mohamed A. Yahya)
<br><img src="21-days_files/150px-Arabic_Text.png" height="56" width="150">

</a><hr>
<a href="http://www.javaresearch.org/article/showarticle.jsp?column=451&amp;thread=12568">Chinese <br>(Xiaogang Guo)
<br><img src="21-days_files/ch-flag.gif" height="54" width="82"></a>

<hr>
<a href="http://www.open-asm.com/article/tenyears.htm">Chinese, Traditional<br>(Jason Chen)
<br><img src="21-days_files/tw-flag.gif" height="54" width="81"></a>

<hr>
<a href="http://tvrtko.bedekovic.net/home/articles/programming/21-days.html">Croatian
<br>(Tvrtko Bedekovic)
<br><img src="21-days_files/hr-flag.gif" height="55" width="108"></a>


<hr><a href="http://pixx.objectis.net/public/21-jours.html">French <br>(P. E. Allary)
<br><img src="21-days_files/fr-flag.gif" height="54" width="81">
</a>

<hr>
<a href="http://purl.net/stefan_ram/html/21-tage">German <br>(Stefan Ram)
<br><img src="21-days_files/gm-flag.gif" height="54" width="89"></a>

<hr>
<a href="http://www.reviewsnest.com/charities/programmingin10years.htm">Hebrew 
<br>(Eric McCain)
<br><img src="21-days_files/heb-150.png" height="56" width="150"></a>

<hr>
<a href="http://vikashtiwari.blogspot.com/2008/04/teach-yourself-programming-in-10-years.html">Hindi<br>
(Vikash Tiwari)
<br><img src="21-days_files/in-flag.gif"></a>

<hr>
<a href="http://mestyanm.extra.hu/doc/21_nap.html">Hungarian<br>
(Marton Mestyan)
<br><img src="21-days_files/hu-flag.gif" height="54" width="81"></a>

<hr>
<a href="http://www.culturahacker.it/documenti/teach.html">Italian<br>
(Fabio Z. Tessitore)
<br><img src="21-days_files/it-flag.gif" height="54" width="81"></a>

<hr>
<a href="http://www.yamdas.org/column/technique/21-daysj.html">Japanese <br>(yomoyomo)
<br><img src="21-days_files/ja-flag.gif" height="54" width="81"></a>

<hr>
<a href="http://www.tavon.org/site/work/21-days">Korean 
(John Hwang)
<br><img src="21-days_files/ks-flag.gif" height="54" width="81"></a>

<hr>
<a href="http://www.absorbeo.net/articles/norvig.shtml">Norwegian<br>(Andre Reffhaug)
<br><img src="21-days_files/no-flag.gif" height="54" width="74"></a>

<hr>
<a href="http://jnowak.students.wmid.amu.edu.pl/norvig.html">Polish<br>(Kuba Nowak)
<br><img src="21-days_files/pl-flag.gif" height="54" width="87"></a>

<hr>
<a href="http://pihisall.wordpress.com/2007/03/15/aprenda-a-programar-em-dez-anos/">Portugese<br>(Augusto Radtke)
<br><img src="21-days_files/br-flag.gif" height="54" width="74"></a>

<hr>
<a href="http://norvig.com/romanian21-days.html">Romanian<br>(&#350;tefan Laz&#259;r)
<br><img src="21-days_files/ro-flag.gif" height="54" width="80"></a>

<hr>
<a href="http://www.williamspublishing.com/21-days.html">Russian<br>(Konstantin Ptitsyn)
<br><img src="21-days_files/rs-flag.gif" height="54" width="81"></a>
<hr>
<a href="http://www.inverudio.com/21-days.htm">Serbian<br>(Lazar Kovacevic)
<br><img src="21-days_files/rb-flag.gif" height="54" width="108"></a>

<hr>
<a href="http://loro.sf.net/notes/21-dias.html">Spanish <br>(Carlos Rueda)
<br><img src="21-days_files/sp-flag.gif" height="54" width="81"></a>

<hr>
<a href="http://ileriseviye.org/arasayfa.php?inode=programmingtenyears.html">Turkish <br>(&#199;a&#287;&#305;l Ulu&#351;ahin)
<br><img src="21-days_files/tu-flag.gif" height="54" width="81">
</a>

<hr>
<script src="21-days_files/ifr"></script><table class="ig_reset ig_tbl_line" width="160"><tbody><tr><td colspan="2" style="vertical-align: bottom; text-align: center; width: 100%;">  </td></tr><tr><td style="height: 2px;"> </td></tr><tr><td colspan="2"><iframe src="21-days_files/ifr.htm" style="display: block;" frameborder="0" height="60" scrolling="no" width="160"></iframe></td></tr><tr><td style="text-align: left;"></td><td style="text-align: right; vertical-align: middle; height: 18px;"><div id="right_1689860948"><a target="_top" style="font-size: 10px; color: rgb(0, 0, 204); text-decoration: underline;" href="http://www.google.com/webmasters/gadgets.html"> 小工具</a>,<span style="font-size: 10px; color: rgb(0, 0, 204);">Google 技術提供</span></div></td></tr></tbody></table>
</td></tr></tbody></table>
</p><p>
</p><hr>
<a href="http://www.norvig.com/index.html"><i>Peter Norvig</i> (Copyright 2001)</a>


</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -