<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The value of typing code</title>
	<atom:link href="http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/</link>
	<description>John D. Cook</description>
	<lastBuildDate>Thu, 23 May 2013 10:27:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: psanxiao &#187; Blog Archive &#187; Don&#8217;t let google code for you</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3886</link>
		<dc:creator>psanxiao &#187; Blog Archive &#187; Don&#8217;t let google code for you</dc:creator>
		<pubDate>Sun, 23 Dec 2012 17:48:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3886</guid>
		<description><![CDATA[[...] reading this entry it come into my mind a simple question: Why the first thing that developers do is searching in [...] ]]></description>
		<content:encoded><![CDATA[<p>[...] reading this entry it come into my mind a simple question: Why the first thing that developers do is searching in [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Various and Sundry &#187; Quick Link Dump for 2012-12-21</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3885</link>
		<dc:creator>Various and Sundry &#187; Quick Link Dump for 2012-12-21</dc:creator>
		<pubDate>Sat, 22 Dec 2012 01:47:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3885</guid>
		<description><![CDATA[[...] I couldn&#8217;t possibly agree with more: When learning programming, type the code! Cutting-and-pasting it won&#8217;t help you. It&#8217;s tough to explain, but you learn better when [...] ]]></description>
		<content:encoded><![CDATA[<p>[...] I couldn&#8217;t possibly agree with more: When learning programming, type the code! Cutting-and-pasting it won&#8217;t help you. It&#8217;s tough to explain, but you learn better when [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J5C</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3884</link>
		<dc:creator>J5C</dc:creator>
		<pubDate>Wed, 19 Dec 2012 16:26:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3884</guid>
		<description><![CDATA[I agree with the respondents who say that blind retyping is no better than copy-and-paste. The intent must be to put the brain in gear, rather than performing finger exercises. Rather than retyping, I prefer to run other people&#039;s code in my head. This leads to questions like: What is he doing here? Why doesn&#039;t he simply do XXX? Can this be simplified? Then I get onto the more long term important questions: What ingenious devices has he used that I can add to my tool box? What caused me to stumble and struggle - and was the pain worth it (nothing worth learning comes cheaply)? What awful things have I seen that I will studiciously avoid in the future? Even the bad bits are a learning opportunity; the good bits are like gold nuggets - worth hours of panning through muddy water to find.

P.S. Of course &#039;he&#039; could be a &#039;she&#039;.]]></description>
		<content:encoded><![CDATA[<p>I agree with the respondents who say that blind retyping is no better than copy-and-paste. The intent must be to put the brain in gear, rather than performing finger exercises. Rather than retyping, I prefer to run other people&#8217;s code in my head. This leads to questions like: What is he doing here? Why doesn&#8217;t he simply do XXX? Can this be simplified? Then I get onto the more long term important questions: What ingenious devices has he used that I can add to my tool box? What caused me to stumble and struggle &#8211; and was the pain worth it (nothing worth learning comes cheaply)? What awful things have I seen that I will studiciously avoid in the future? Even the bad bits are a learning opportunity; the good bits are like gold nuggets &#8211; worth hours of panning through muddy water to find.</p>
<p>P.S. Of course &#8216;he&#8217; could be a &#8216;she&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Rostenbach</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3883</link>
		<dc:creator>Curt Rostenbach</dc:creator>
		<pubDate>Wed, 19 Dec 2012 16:22:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3883</guid>
		<description><![CDATA[When I was a mainframe programmer in the 70&#039;s I used to get yelled at by my boss because I keypunched my own programs.  He thought I should have be writing them out longhand on coder sheets to give to the keypuncher staff.
I told him I didn&#039;t want to deal with their typos in addition to my programming errors.  Many times as I would be typing in my programs I would suddenly realize it had no chance of working and I&#039;d wonder what I had been smoking to even write like that.
Typing in the code certainly makes you think about it more.]]></description>
		<content:encoded><![CDATA[<p>When I was a mainframe programmer in the 70&#8242;s I used to get yelled at by my boss because I keypunched my own programs.  He thought I should have be writing them out longhand on coder sheets to give to the keypuncher staff.<br />
I told him I didn&#8217;t want to deal with their typos in addition to my programming errors.  Many times as I would be typing in my programs I would suddenly realize it had no chance of working and I&#8217;d wonder what I had been smoking to even write like that.<br />
Typing in the code certainly makes you think about it more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3882</link>
		<dc:creator>John</dc:creator>
		<pubDate>Wed, 19 Dec 2012 15:17:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3882</guid>
		<description><![CDATA[It depends on context, such as where the code came from, how you intend to use it, etc. Some code is worth studying carefully and some is not.

I heard someone say on Twitter that he&#039;d no more paste random found code into production than he&#039;d eat chewing gum he found on the street. :)]]></description>
		<content:encoded><![CDATA[<p>It depends on context, such as where the code came from, how you intend to use it, etc. Some code is worth studying carefully and some is not.</p>
<p>I heard someone say on Twitter that he&#8217;d no more paste random found code into production than he&#8217;d eat chewing gum he found on the street. <img src='http://www.johndcook.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexK</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3881</link>
		<dc:creator>alexK</dc:creator>
		<pubDate>Wed, 19 Dec 2012 15:03:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3881</guid>
		<description><![CDATA[Nothing wrong with copy pasting but the NEXT step is to change, break and fix the code. Alter bits and pieces, add traces etc.  After a while you WILL understand the code well enough to use it as  a basis for a new project.

Copy pasting saves time. Time you may not have.  If you do not know debugging techniques then maybe you are in the wrong career.]]></description>
		<content:encoded><![CDATA[<p>Nothing wrong with copy pasting but the NEXT step is to change, break and fix the code. Alter bits and pieces, add traces etc.  After a while you WILL understand the code well enough to use it as  a basis for a new project.</p>
<p>Copy pasting saves time. Time you may not have.  If you do not know debugging techniques then maybe you are in the wrong career.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PHenry</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3880</link>
		<dc:creator>PHenry</dc:creator>
		<pubDate>Wed, 19 Dec 2012 14:48:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3880</guid>
		<description><![CDATA[Agreed, and you also learn about how to deal with your own personal tendencies/deficiencies.  What I mean is, spelling mistakes, indentation different from code samples, do you mix up single/plural tense for variables, how you debug, maybe you like to focus on something slightly different from the example and it really changes the outcome?
Thanks for the blog.]]></description>
		<content:encoded><![CDATA[<p>Agreed, and you also learn about how to deal with your own personal tendencies/deficiencies.  What I mean is, spelling mistakes, indentation different from code samples, do you mix up single/plural tense for variables, how you debug, maybe you like to focus on something slightly different from the example and it really changes the outcome?<br />
Thanks for the blog.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3879</link>
		<dc:creator>Nathan</dc:creator>
		<pubDate>Wed, 19 Dec 2012 14:44:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3879</guid>
		<description><![CDATA[The more you experience the learning of knowledge, the deeper the knowledge will be.]]></description>
		<content:encoded><![CDATA[<p>The more you experience the learning of knowledge, the deeper the knowledge will be.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Devin</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3878</link>
		<dc:creator>Devin</dc:creator>
		<pubDate>Wed, 19 Dec 2012 14:25:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3878</guid>
		<description><![CDATA[I agree 100%.  Anytime I am trying to learn a new language or coding style I always type the examples and follow the logic line by line.  I thought I was the only one that had to &quot;Spoon Feed&quot; the info into his brain.  LOL]]></description>
		<content:encoded><![CDATA[<p>I agree 100%.  Anytime I am trying to learn a new language or coding style I always type the examples and follow the logic line by line.  I thought I was the only one that had to &#8220;Spoon Feed&#8221; the info into his brain.  LOL</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Sandberg</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3877</link>
		<dc:creator>Bob Sandberg</dc:creator>
		<pubDate>Wed, 19 Dec 2012 13:22:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3877</guid>
		<description><![CDATA[One thing I do with sample code is change it. That is change it functionally. I choose a salient point in the code and change its behavior to prove to myself that I really understand what the code is doing and possibly explore the lesson of the code a little more deeply.]]></description>
		<content:encoded><![CDATA[<p>One thing I do with sample code is change it. That is change it functionally. I choose a salient point in the code and change its behavior to prove to myself that I really understand what the code is doing and possibly explore the lesson of the code a little more deeply.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gary Wheeler</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3876</link>
		<dc:creator>Gary Wheeler</dc:creator>
		<pubDate>Wed, 19 Dec 2012 11:38:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3876</guid>
		<description><![CDATA[Whenever I reuse someone else&#039;s code, I occasionally find myself refactoring it and adjusting the coding style to match mine. During that process, I learn a lot more about how the code works than if I just plug it in and pray. This isn&#039;t quite the &quot;type it in to learn to be a good programmer&quot; process you describe, but then I&#039;ve already put in my 30 years.]]></description>
		<content:encoded><![CDATA[<p>Whenever I reuse someone else&#8217;s code, I occasionally find myself refactoring it and adjusting the coding style to match mine. During that process, I learn a lot more about how the code works than if I just plug it in and pray. This isn&#8217;t quite the &#8220;type it in to learn to be a good programmer&#8221; process you describe, but then I&#8217;ve already put in my 30 years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The value of typing code &#171; Another Word For It</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3875</link>
		<dc:creator>The value of typing code &#171; Another Word For It</dc:creator>
		<pubDate>Tue, 18 Dec 2012 20:53:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3875</guid>
		<description><![CDATA[[...] The value of typing code by John D. Cook. [...] ]]></description>
		<content:encoded><![CDATA[<p>[...] The value of typing code by John D. Cook. [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The value of re-analysis &#124; Simply Statistics</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3874</link>
		<dc:creator>The value of re-analysis &#124; Simply Statistics</dc:creator>
		<pubDate>Tue, 18 Dec 2012 16:59:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3874</guid>
		<description><![CDATA[[...] just saw this really nice post over on John Cook&#8217;s blog. He talks about how it is a valuable exercise to re-type code for [...] ]]></description>
		<content:encoded><![CDATA[<p>[...] just saw this really nice post over on John Cook&#8217;s blog. He talks about how it is a valuable exercise to re-type code for [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoff Knauth</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3873</link>
		<dc:creator>Geoff Knauth</dc:creator>
		<pubDate>Tue, 18 Dec 2012 16:05:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3873</guid>
		<description><![CDATA[I did not know the Hunter S. Thompson story.  Very interesting.  Maybe that is an antidote for writer&#039;s block:  just start typing someone else&#039;s book until you feel like writing your own.  Same goes for programming, modulo specific set knowledge and installation requirements.]]></description>
		<content:encoded><![CDATA[<p>I did not know the Hunter S. Thompson story.  Very interesting.  Maybe that is an antidote for writer&#8217;s block:  just start typing someone else&#8217;s book until you feel like writing your own.  Same goes for programming, modulo specific set knowledge and installation requirements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Meinte Boersma</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3872</link>
		<dc:creator>Meinte Boersma</dc:creator>
		<pubDate>Tue, 18 Dec 2012 15:59:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3872</guid>
		<description><![CDATA[In fact, why type code when you can write it? By hand, that is. (You can forego on the whole parchment and quill paper thing, though.) The great advantage of handwriting code is that there&#039;s no backspace key, so you automatically force yourself to think harder about the code and you keep an audit trail of &quot;misthinkings&quot; at the same time.]]></description>
		<content:encoded><![CDATA[<p>In fact, why type code when you can write it? By hand, that is. (You can forego on the whole parchment and quill paper thing, though.) The great advantage of handwriting code is that there&#8217;s no backspace key, so you automatically force yourself to think harder about the code and you keep an audit trail of &#8220;misthinkings&#8221; at the same time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rdm</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3871</link>
		<dc:creator>rdm</dc:creator>
		<pubDate>Tue, 18 Dec 2012 15:32:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3871</guid>
		<description><![CDATA[A related exercise is changing the indentation or style of the code.  It get&#039;s your fingers dirty and gives you something to do, and in the process of making sure the code works after your changes you learn a lot about what the code is doing.

Of course, once you have completed this exercise, it&#039;s probably best to throw out your changes.  If you have something of value to contribute to the original code base, it&#039;s probably best to adhere to the original style.

That said, I also suspect, that some of the importance people have placed on stylistic issues has to do with how much they have learned using this kind of process (except attributing the consequences to the style they have selected rather than the process of making many minute changes to someone else&#039;s code).]]></description>
		<content:encoded><![CDATA[<p>A related exercise is changing the indentation or style of the code.  It get&#8217;s your fingers dirty and gives you something to do, and in the process of making sure the code works after your changes you learn a lot about what the code is doing.</p>
<p>Of course, once you have completed this exercise, it&#8217;s probably best to throw out your changes.  If you have something of value to contribute to the original code base, it&#8217;s probably best to adhere to the original style.</p>
<p>That said, I also suspect, that some of the importance people have placed on stylistic issues has to do with how much they have learned using this kind of process (except attributing the consequences to the style they have selected rather than the process of making many minute changes to someone else&#8217;s code).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abdulsattar</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3870</link>
		<dc:creator>Abdulsattar</dc:creator>
		<pubDate>Tue, 18 Dec 2012 15:09:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3870</guid>
		<description><![CDATA[Typing in examples works when you look at a code sample, understand what it does, &lt;i&gt;close&lt;/i&gt; that sample and write it on your own. If you&#039;re looking at the code sample for every character you type, you&#039;re just copy pasting it again.]]></description>
		<content:encoded><![CDATA[<p>Typing in examples works when you look at a code sample, understand what it does, <i>close</i> that sample and write it on your own. If you&#8217;re looking at the code sample for every character you type, you&#8217;re just copy pasting it again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lvps1000vm</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3869</link>
		<dc:creator>lvps1000vm</dc:creator>
		<pubDate>Tue, 18 Dec 2012 14:03:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3869</guid>
		<description><![CDATA[It&#039;s not typing per se, but thinking about what you&#039;re doing. You can achieve the same by carefully reading selected code, and reasoning about it. Having to type it just prevents the temptation to start skipping parts.

The same applies to lecture notes. You can attend a lecture and mecanically copy what was said and not understand anything or try to rewrite in your words what was said and discover things you didn&#039;t pay attention to.]]></description>
		<content:encoded><![CDATA[<p>It&#8217;s not typing per se, but thinking about what you&#8217;re doing. You can achieve the same by carefully reading selected code, and reasoning about it. Having to type it just prevents the temptation to start skipping parts.</p>
<p>The same applies to lecture notes. You can attend a lecture and mecanically copy what was said and not understand anything or try to rewrite in your words what was said and discover things you didn&#8217;t pay attention to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alejandro Weinstein</title>
		<link>http://www.johndcook.com/blog/2012/12/18/the-value-of-typing-code/comment-page-1/#comment-3868</link>
		<dc:creator>Alejandro Weinstein</dc:creator>
		<pubDate>Tue, 18 Dec 2012 13:47:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=12603#comment-3868</guid>
		<description><![CDATA[That&#039;s exactly the philosophy behind &quot;Learn Python the hard way&quot;

http://learnpythonthehardway.org/

&quot;You must type each of these exercises in, manually. If you copy and paste, you might as well just not even do them. The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code. If you copy-paste, you are cheating yourself out of the effectiveness of the lessons.&quot;]]></description>
		<content:encoded><![CDATA[<p>That&#8217;s exactly the philosophy behind &#8220;Learn Python the hard way&#8221;</p>
<p><a href="http://learnpythonthehardway.org/" rel="nofollow">http://learnpythonthehardway.org/</a></p>
<p>&#8220;You must type each of these exercises in, manually. If you copy and paste, you might as well just not even do them. The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code. If you copy-paste, you are cheating yourself out of the effectiveness of the lessons.&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
