<?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: Comfort with meaninglessness the key to good&#160;programmers</title>
	<atom:link href="http://boingboing.net/2008/12/12/comfort-with-meaning.html/feed" rel="self" type="application/rss+xml" />
	<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html</link>
	<description>Brain candy for Happy Mutants</description>
	<lastBuildDate>Sun, 19 May 2013 10:06:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
	<item>
		<title>By: t3knomanser</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354562</link>
		<dc:creator>t3knomanser</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354562</guid>
		<description>@Zuzu(#43): I hate manually managing threads. The first thing I did when I needed to write a threaded application was write a class that hid all the details and I just reuse that everywhere. It only works for simple cases of multithreading, but that&#039;s the majority of cases I run into.

I haven&#039;t manually managed memory in a very long time. I did some ObjectiveC, so I had to manage retain/release calls, which isn&#039;t exactly managing memory. Not exactly, but it&#039;s pretty close- a half step between manual and garbage collected memory.

I&#039;m sadly stuck in the .NET world, and I&#039;m trying desperately to get my employer to see the benefit of declarative persistence through something like NHibernate. The reply is, &quot;The next version of .NET has LINQ. That&#039;s the same thing.&quot;

It isn&#039;t, but at least it&#039;s better than what we&#039;ve got now. *sigh*</description>
		<content:encoded><![CDATA[<p>@Zuzu(#43): I hate manually managing threads. The first thing I did when I needed to write a threaded application was write a class that hid all the details and I just reuse that everywhere. It only works for simple cases of multithreading, but that&#8217;s the majority of cases I run into.</p>
<p>I haven&#8217;t manually managed memory in a very long time. I did some ObjectiveC, so I had to manage retain/release calls, which isn&#8217;t exactly managing memory. Not exactly, but it&#8217;s pretty close- a half step between manual and garbage collected memory.</p>
<p>I&#8217;m sadly stuck in the .NET world, and I&#8217;m trying desperately to get my employer to see the benefit of declarative persistence through something like NHibernate. The reply is, &#8220;The next version of .NET has LINQ. That&#8217;s the same thing.&#8221;</p>
<p>It isn&#8217;t, but at least it&#8217;s better than what we&#8217;ve got now. *sigh*</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: techdeviant</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354564</link>
		<dc:creator>techdeviant</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354564</guid>
		<description>For me, learning a programming language has always been more like learning a foreign language than learning math. 

There are intricacies and weird syntax that you might not understand but it doesn&#039;t matter - this is just the way it is done (so many programmers I&#039;ve met just don&#039;t understand that.) There are multiple ways to do the same thing, but as a skilled programmer [or foreign language speaker] you need to find the most concise and easiest to understand path. </description>
		<content:encoded><![CDATA[<p>For me, learning a programming language has always been more like learning a foreign language than learning math. </p>
<p>There are intricacies and weird syntax that you might not understand but it doesn&#8217;t matter &#8211; this is just the way it is done (so many programmers I&#8217;ve met just don&#8217;t understand that.) There are multiple ways to do the same thing, but as a skilled programmer [or foreign language speaker] you need to find the most concise and easiest to understand path. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yish</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354568</link>
		<dc:creator>yish</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354568</guid>
		<description>
There are 10 kind of people. those who get binary and those who don&#039;t.</description>
		<content:encoded><![CDATA[<p>There are 10 kind of people. those who get binary and those who don&#8217;t.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: techdeviant</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354571</link>
		<dc:creator>techdeviant</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354571</guid>
		<description>@nprnncbl
&lt;blockquote&gt;Apparently, the researchers have discovered that there actually 11 kinds of people, and not 10, as previously believed.&lt;/blockquote&gt;

nice :)</description>
		<content:encoded><![CDATA[<p>@nprnncbl</p>
<blockquote><p>Apparently, the researchers have discovered that there actually 11 kinds of people, and not 10, as previously believed.</p></blockquote>
<p>nice :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fnc</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354572</link>
		<dc:creator>fnc</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354572</guid>
		<description>Try working with digital artists and all of this will be thrown into ~very~ sharp relief.

</description>
		<content:encoded><![CDATA[<p>Try working with digital artists and all of this will be thrown into ~very~ sharp relief.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GregLondon</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354589</link>
		<dc:creator>GregLondon</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354589</guid>
		<description>Uh, someone figured out that programming requires some relationship with the concept of meaningless a long time ago. A famous sign posted over an old terminal long ago said:

&quot;I really hate this damn machine, 
I wish that they would sell it.
It never does what I want,
but only what I tell it.&quot;

Getting &quot;meaningless&quot; means getting that what you want and what you say can be two different things. And the computer will do exactly what you say, which isn&#039;t always what you want.

But if you try sometimes, you get what you need.
</description>
		<content:encoded><![CDATA[<p>Uh, someone figured out that programming requires some relationship with the concept of meaningless a long time ago. A famous sign posted over an old terminal long ago said:</p>
<p>&#8220;I really hate this damn machine,<br />
I wish that they would sell it.<br />
It never does what I want,<br />
but only what I tell it.&#8221;</p>
<p>Getting &#8220;meaningless&#8221; means getting that what you want and what you say can be two different things. And the computer will do exactly what you say, which isn&#8217;t always what you want.</p>
<p>But if you try sometimes, you get what you need.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-355615</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-355615</guid>
		<description>&quot;Other students, who hadn&#039;t read the Time-Life Science Library or some similar grade school library book might have done less well. There&#039;s got to be a strong correlation between reading library books like that in grade school and being capable of understanding computer programming.&quot;

This is meaningless, because you are defining the program compilation using your known language - math. 

The programming language could just as easily compile that a = b as both being 10. Or both returning 0 because it&#039;s an invalid line (constants can&#039;t be assigned to each other. You don&#039;t even know they are CONSTANTS). Or maybe they&#039;re 10 and 20 still respectively. You don&#039;t know the rules of the language, and they aren&#039;t given, so you ASSUME and fall back upon, the previous world of mathematics. 

As poster #8 clearly stated, it&#039;s about order of operations. 

Since this has no frame of reference (ie, language, rules, ect), this test is MEANINGLESS, hence the title. So there is no &quot;better&quot; answer, only an answer you can justify. And you can justify many answers many different ways. Applying that justification across multiple answers is what the test was searching for (thus the categories).


</description>
		<content:encoded><![CDATA[<p>&#8220;Other students, who hadn&#8217;t read the Time-Life Science Library or some similar grade school library book might have done less well. There&#8217;s got to be a strong correlation between reading library books like that in grade school and being capable of understanding computer programming.&#8221;</p>
<p>This is meaningless, because you are defining the program compilation using your known language &#8211; math. </p>
<p>The programming language could just as easily compile that a = b as both being 10. Or both returning 0 because it&#8217;s an invalid line (constants can&#8217;t be assigned to each other. You don&#8217;t even know they are CONSTANTS). Or maybe they&#8217;re 10 and 20 still respectively. You don&#8217;t know the rules of the language, and they aren&#8217;t given, so you ASSUME and fall back upon, the previous world of mathematics. </p>
<p>As poster #8 clearly stated, it&#8217;s about order of operations. </p>
<p>Since this has no frame of reference (ie, language, rules, ect), this test is MEANINGLESS, hence the title. So there is no &#8220;better&#8221; answer, only an answer you can justify. And you can justify many answers many different ways. Applying that justification across multiple answers is what the test was searching for (thus the categories).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: callingshotgun</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354849</link>
		<dc:creator>callingshotgun</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354849</guid>
		<description>Finding meaning in programming... Heh, that reminds me of jesux:  http://www.geocities.com/ResearchTriangle/Node/4081/</description>
		<content:encoded><![CDATA[<p>Finding meaning in programming&#8230; Heh, that reminds me of jesux:  <a href="http://www.geocities.com/ResearchTriangle/Node/4081/" rel="nofollow">http://www.geocities.com/ResearchTriangle/Node/4081/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GregLondon</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354594</link>
		<dc:creator>GregLondon</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354594</guid>
		<description>tech: &lt;i&gt;For me, learning a programming language has always been more like learning a foreign language than learning math. &lt;/i&gt;

Probably because when you&#039;re learning french, people who speak french can figure out what you meant, regardless of what you actually said.

If Alice only speaks English and Bob only speaks Incan, and then Alice and Bob both study Japanese for a day, when they try to talk to each other, the experience might not be unlike programming.

Neither one will know Japanese well enough to extract meaning from what the other says. Unless the other person says something exactly right, the intended meaning may be lost.

</description>
		<content:encoded><![CDATA[<p>tech: <i>For me, learning a programming language has always been more like learning a foreign language than learning math. </i></p>
<p>Probably because when you&#8217;re learning french, people who speak french can figure out what you meant, regardless of what you actually said.</p>
<p>If Alice only speaks English and Bob only speaks Incan, and then Alice and Bob both study Japanese for a day, when they try to talk to each other, the experience might not be unlike programming.</p>
<p>Neither one will know Japanese well enough to extract meaning from what the other says. Unless the other person says something exactly right, the intended meaning may be lost.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354604</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354604</guid>
		<description>&lt;p&gt;Very interesting, but I don&#039;t know why the results are surprising either, or why the programmers didn&#039;t guess the consistent group.

&lt;p&gt;My first thought on reading the three groups was, &quot;ah, the consistent group will make good programmers, because they have the tenacity and determination to try and apply a consistent ordering to the system.&quot;

&lt;p&gt;That to me is the key to what makes a good programmer... tenacity.  The attitude of &quot;well I don&#039;t understand this yet, but screw it, I have the confidence in myself to push forward anyway&quot;.

&lt;p&gt;The people who didn&#039;t answer at all are afraid of making mistakes, and will be the type who will always be asking for help from senior devs, instead of forging ahead on their own.

&lt;p&gt;The inconsistent group just simply don&#039;t have the right mindset for programming... or they will become spaghetti programmers. ;)

&lt;p&gt;(For the record, I&#039;m a senior developer, who taught myself to code at about 7.)&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Very interesting, but I don&#8217;t know why the results are surprising either, or why the programmers didn&#8217;t guess the consistent group.</p>
<p>My first thought on reading the three groups was, &#8220;ah, the consistent group will make good programmers, because they have the tenacity and determination to try and apply a consistent ordering to the system.&#8221;</p>
<p>That to me is the key to what makes a good programmer&#8230; tenacity.  The attitude of &#8220;well I don&#8217;t understand this yet, but screw it, I have the confidence in myself to push forward anyway&#8221;.</p>
<p>The people who didn&#8217;t answer at all are afraid of making mistakes, and will be the type who will always be asking for help from senior devs, instead of forging ahead on their own.</p>
<p>The inconsistent group just simply don&#8217;t have the right mindset for programming&#8230; or they will become spaghetti programmers. ;)</p>
<p>(For the record, I&#8217;m a senior developer, who taught myself to code at about 7.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philoponia</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354608</link>
		<dc:creator>philoponia</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354608</guid>
		<description>The correct answer is actually ALL OF THE ABOVE.

For those of you who have taken a basic concepts of mathematics course, what we have done here is describe a mathematical theory where 10=20 by axiom, which means that 0=1. It can be shown from there that 30=0, 30=20, 20=0, and all the other answers. 

So even though there was not supposed to be any truly correct answer, any friend of math could totally pwn the Prof.

axiom: a=10
axiom: b=20
axiom: a=b

Since a=b
Then (a-10)/10=(b-10)/10
Therefore 0=1
Let c=30
Then 0*c=1*c
Therefore 0=30 QED
Also 0*a=1*a
So 0=10
Then 0+b=10+b
Therefore 20=30 QED

ALL OF THE ABOVE</description>
		<content:encoded><![CDATA[<p>The correct answer is actually ALL OF THE ABOVE.</p>
<p>For those of you who have taken a basic concepts of mathematics course, what we have done here is describe a mathematical theory where 10=20 by axiom, which means that 0=1. It can be shown from there that 30=0, 30=20, 20=0, and all the other answers. </p>
<p>So even though there was not supposed to be any truly correct answer, any friend of math could totally pwn the Prof.</p>
<p>axiom: a=10<br />
axiom: b=20<br />
axiom: a=b</p>
<p>Since a=b<br />
Then (a-10)/10=(b-10)/10<br />
Therefore 0=1<br />
Let c=30<br />
Then 0*c=1*c<br />
Therefore 0=30 QED<br />
Also 0*a=1*a<br />
So 0=10<br />
Then 0+b=10+b<br />
Therefore 20=30 QED</p>
<p>ALL OF THE ABOVE</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354610</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354610</guid>
		<description>In the context of the example, there&#039;s no reason to assume assignment is left right or right left or even allowed (a compiler is its own state machine that gets fed a program like a = b). 10 could be interpreted as a 2 bit binary number and 20 as an integer based on arbitrary rules of the state machine, while &quot;int&quot; might be a softly typed (can be 2bit binary or integer) variable label. The correct answer is, YOU CAN&#039;T KNOW (with the information provided).</description>
		<content:encoded><![CDATA[<p>In the context of the example, there&#8217;s no reason to assume assignment is left right or right left or even allowed (a compiler is its own state machine that gets fed a program like a = b). 10 could be interpreted as a 2 bit binary number and 20 as an integer based on arbitrary rules of the state machine, while &#8220;int&#8221; might be a softly typed (can be 2bit binary or integer) variable label. The correct answer is, YOU CAN&#8217;T KNOW (with the information provided).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354361</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354361</guid>
		<description>20 20 ?</description>
		<content:encoded><![CDATA[<p>20 20 ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wkiernan</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-355133</link>
		<dc:creator>wkiernan</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-355133</guid>
		<description>Maybe it&#039;s just that one question, but as a college freshman I&#039;d certainly have answered that as a = 20 and b = 20, not because my brain has this structure as opposed to that, but because when I was in &lt;i&gt;grade school&lt;/i&gt;, I read the Time-Life Science Library volume on Mathematics, which spelled the idea of assigning values to named variables out for me in words and pictures.

Other students, who hadn&#039;t read the Time-Life Science Library or some similar grade school library book might have done less well.  There&#039;s got to be a strong correlation between reading library books like that in grade school and being capable of understanding computer programming.</description>
		<content:encoded><![CDATA[<p>Maybe it&#8217;s just that one question, but as a college freshman I&#8217;d certainly have answered that as a = 20 and b = 20, not because my brain has this structure as opposed to that, but because when I was in <i>grade school</i>, I read the Time-Life Science Library volume on Mathematics, which spelled the idea of assigning values to named variables out for me in words and pictures.</p>
<p>Other students, who hadn&#8217;t read the Time-Life Science Library or some similar grade school library book might have done less well.  There&#8217;s got to be a strong correlation between reading library books like that in grade school and being capable of understanding computer programming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sabik</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354366</link>
		<dc:creator>sabik</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354366</guid>
		<description>Of course, there&#039;s interpretation B: there&#039;s a single, fundamental concept in programming that nobody ever teaches. Those who happen to already know it succeed, the others fail.

This would also tend to be self-perpetuating: only those who didn&#039;t need to be taught the concept succeed to become programming teachers, so they do not think of it as something that needs to be taught (nor do they have a model for how to teach it).

Semi-testable consequence: once this concept can be isolated, verbalised and taught, success in programming courses will rise.</description>
		<content:encoded><![CDATA[<p>Of course, there&#8217;s interpretation B: there&#8217;s a single, fundamental concept in programming that nobody ever teaches. Those who happen to already know it succeed, the others fail.</p>
<p>This would also tend to be self-perpetuating: only those who didn&#8217;t need to be taught the concept succeed to become programming teachers, so they do not think of it as something that needs to be taught (nor do they have a model for how to teach it).</p>
<p>Semi-testable consequence: once this concept can be isolated, verbalised and taught, success in programming courses will rise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gebloom</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-355647</link>
		<dc:creator>gebloom</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-355647</guid>
		<description>Seems to me that they defined not programming aptitude, but &lt;em&gt;autism.&lt;/em&gt; There&#039;s &lt;a href=&quot;http://www.wired.com/wired/archive/9.12/aspergers_pr.html&quot; rel=&quot;nofollow&quot;&gt;research&lt;/a&gt; to suggest that there is some dovetailing of technology workers and the autistic spectrum, but that doesn&#039;t mean that further research won&#039;t show that a variety of cognitive abilities can result in programming aptitude. 


</description>
		<content:encoded><![CDATA[<p>Seems to me that they defined not programming aptitude, but <em>autism.</em> There&#8217;s <a href="http://www.wired.com/wired/archive/9.12/aspergers_pr.html" rel="nofollow">research</a> to suggest that there is some dovetailing of technology workers and the autistic spectrum, but that doesn&#8217;t mean that further research won&#8217;t show that a variety of cognitive abilities can result in programming aptitude. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bardfinn</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354624</link>
		<dc:creator>bardfinn</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354624</guid>
		<description>nprnncbl:

I&#039;m employed in a DBA role, shared with others. Consistency of input and consistency of code expression are very highly ranked skillsets for our role; Probably 90% of my time and 90% of the code I write is spent hunting down and flattening bugs caused by inconsistency of expression, from input data to query statements.</description>
		<content:encoded><![CDATA[<p>nprnncbl:</p>
<p>I&#8217;m employed in a DBA role, shared with others. Consistency of input and consistency of code expression are very highly ranked skillsets for our role; Probably 90% of my time and 90% of the code I write is spent hunting down and flattening bugs caused by inconsistency of expression, from input data to query statements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zuzu</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354369</link>
		<dc:creator>zuzu</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354369</guid>
		<description>&lt;a href=&quot;http://www.info.ucl.ac.be/~pvr/book.html&quot; rel=&quot;nofollow&quot;&gt;Imperative stateful programming, yuck!&lt;/a&gt;  Of course that&#039;s confusing (unless you&#039;ve already been indoctrinated) compared to the single-assignment of &lt;a href=&quot;http://en.wikipedia.org/wiki/Actor_model&quot; rel=&quot;nofollow&quot;&gt;asynchronous message-passing concurrency&lt;/a&gt; programming, such as with &lt;a href=&quot;http://www.pragprog.com/titles/jaerlang/programming-erlang&quot; rel=&quot;nofollow&quot;&gt;Erlang&lt;/a&gt;.

:p

c.f. &lt;i&gt;&lt;a href=&quot;http://books.google.com/books?id=0drDRT370eoC&amp;output=html&quot; rel=&quot;nofollow&quot;&gt;A Small Matter of Programming&lt;/a&gt;&lt;/i&gt; by &lt;a href=&quot;http://darrouzet-nardi.net/bonnie/default.html&quot; rel=&quot;nofollow&quot;&gt;Bonnie A. Nardi&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p><a href="http://www.info.ucl.ac.be/~pvr/book.html" rel="nofollow">Imperative stateful programming, yuck!</a>  Of course that&#8217;s confusing (unless you&#8217;ve already been indoctrinated) compared to the single-assignment of <a href="http://en.wikipedia.org/wiki/Actor_model" rel="nofollow">asynchronous message-passing concurrency</a> programming, such as with <a href="http://www.pragprog.com/titles/jaerlang/programming-erlang" rel="nofollow">Erlang</a>.</p>
<p>:p</p>
<p>c.f. <i><a href="http://books.google.com/books?id=0drDRT370eoC&#038;output=html" rel="nofollow">A Small Matter of Programming</a></i> by <a href="http://darrouzet-nardi.net/bonnie/default.html" rel="nofollow">Bonnie A. Nardi</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noahpoah</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354372</link>
		<dc:creator>noahpoah</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354372</guid>
		<description>But method X/language Y is so intuitive that it solves this problem, iff ( X == trial &amp; error ) &amp; (Y == Scheme &#124; Perl )!</description>
		<content:encoded><![CDATA[<p>But method X/language Y is so intuitive that it solves this problem, iff ( X == trial &#038; error ) &#038; (Y == Scheme | Perl )!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: klenow</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354373</link>
		<dc:creator>klenow</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354373</guid>
		<description>&quot;Very few, so far, have predicted that the consistent group would be the most successful. Remarkably, it is the consistent group, and almost exclusively the consistent group, that is successful.&quot;

I&#039;m not a programmer, so maybe this is just my naivte...but this doesn&#039;t make any sense to me. Why would someone predict anything other than the consistent group? I can see the blank group, at least the explanation makes some sense (not much, but some).

Why is it remarkable that the consistent group would be the highest performers? Do computers not work by consistent rules?</description>
		<content:encoded><![CDATA[<p>&#8220;Very few, so far, have predicted that the consistent group would be the most successful. Remarkably, it is the consistent group, and almost exclusively the consistent group, that is successful.&#8221;</p>
<p>I&#8217;m not a programmer, so maybe this is just my naivte&#8230;but this doesn&#8217;t make any sense to me. Why would someone predict anything other than the consistent group? I can see the blank group, at least the explanation makes some sense (not much, but some).</p>
<p>Why is it remarkable that the consistent group would be the highest performers? Do computers not work by consistent rules?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354632</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354632</guid>
		<description>Of course then there are the quality control types like me who would just shake their heads and tell the tester what a ridiculously bad way to write a program that is, and where the heck are the comments on what this program is supposed to do, and where are the design specs, etc, etc...

</description>
		<content:encoded><![CDATA[<p>Of course then there are the quality control types like me who would just shake their heads and tell the tester what a ridiculously bad way to write a program that is, and where the heck are the comments on what this program is supposed to do, and where are the design specs, etc, etc&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zuzu</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354379</link>
		<dc:creator>zuzu</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354379</guid>
		<description>&lt;a href=&quot;http://xkcd.com/242/&quot; rel=&quot;nofollow&quot;&gt;xkcd: The Difference&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://xkcd.com/242/" rel="nofollow">xkcd: The Difference</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chrs</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354384</link>
		<dc:creator>Chrs</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354384</guid>
		<description>Sorry to show my ignorance here, but which of the options is correct in the first one?  I&#039;m guessing that the answer will be clear in hindsight, but I&#039;m too impatient to look up the programming language properly.  </description>
		<content:encoded><![CDATA[<p>Sorry to show my ignorance here, but which of the options is correct in the first one?  I&#8217;m guessing that the answer will be clear in hindsight, but I&#8217;m too impatient to look up the programming language properly.  </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ricket</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354645</link>
		<dc:creator>ricket</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354645</guid>
		<description>I tend to think that &quot;comfort with meaninglessness&quot; is a critical skill for all people in science. You have to be adept and comfortable with not always knowing &quot;the answer&quot;, knowing that later it will come. I can always spot a non-science/non-math person a mile away in that they don&#039;t have this skill.</description>
		<content:encoded><![CDATA[<p>I tend to think that &#8220;comfort with meaninglessness&#8221; is a critical skill for all people in science. You have to be adept and comfortable with not always knowing &#8220;the answer&#8221;, knowing that later it will come. I can always spot a non-science/non-math person a mile away in that they don&#8217;t have this skill.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: t3knomanser</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354391</link>
		<dc:creator>t3knomanser</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354391</guid>
		<description>That puts a fine point on something I always tried to communicate when I used to teach programming.

It&#039;s like order of operations.
2 + 7 * 9 = 81 is perfectly valid. We just defined an order of operations that says multiplication goes first. It really doesn&#039;t matter, so long as everyone agrees to evaluate these statements the same way. Since the consensus is that multiplication should go first, we instead say that the right answer is 65.

The secret ingredient to a good programmer is someone who is aggressive about simplifying things. Consistent rules are more simple than inconsistent ones.

Here&#039;s the thing though: it&#039;s harder to be simple and concise than it is to be complex and verbose. It takes more time and more effort to cut things down and define consistent rules.

Try prying requirements out of a customer. I used to tell students, &quot;They honestly don&#039;t know what they want,&quot; which is uncharitable. They know what they want, but they don&#039;t know how to describe it in clear, simple terms.</description>
		<content:encoded><![CDATA[<p>That puts a fine point on something I always tried to communicate when I used to teach programming.</p>
<p>It&#8217;s like order of operations.<br />
2 + 7 * 9 = 81 is perfectly valid. We just defined an order of operations that says multiplication goes first. It really doesn&#8217;t matter, so long as everyone agrees to evaluate these statements the same way. Since the consensus is that multiplication should go first, we instead say that the right answer is 65.</p>
<p>The secret ingredient to a good programmer is someone who is aggressive about simplifying things. Consistent rules are more simple than inconsistent ones.</p>
<p>Here&#8217;s the thing though: it&#8217;s harder to be simple and concise than it is to be complex and verbose. It takes more time and more effort to cut things down and define consistent rules.</p>
<p>Try prying requirements out of a customer. I used to tell students, &#8220;They honestly don&#8217;t know what they want,&#8221; which is uncharitable. They know what they want, but they don&#8217;t know how to describe it in clear, simple terms.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xeno</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354647</link>
		<dc:creator>Xeno</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354647</guid>
		<description>@BARDFINN

I sympathize. I do DBA, sys administration and development for my company (triple threat) and I have had to redesign all their systems to as they did not have standards in place for anything. 

A classic example is their CITYSTATEZIP field in their existing database which store three data types in various degrees of conforming standards. Some of the data is their, some of the data is not, some of the data is foreign and doesn&#039;t conform to united states formats.

Consistency is VERY important but you cannot guarantee that humans will be consistent so you have to force consistency down their throats by limiting their options much like forcing a rat down a maze; he can only choose left or right when he comes to a fork and you have limited his options through his environment.</description>
		<content:encoded><![CDATA[<p>@BARDFINN</p>
<p>I sympathize. I do DBA, sys administration and development for my company (triple threat) and I have had to redesign all their systems to as they did not have standards in place for anything. </p>
<p>A classic example is their CITYSTATEZIP field in their existing database which store three data types in various degrees of conforming standards. Some of the data is their, some of the data is not, some of the data is foreign and doesn&#8217;t conform to united states formats.</p>
<p>Consistency is VERY important but you cannot guarantee that humans will be consistent so you have to force consistency down their throats by limiting their options much like forcing a rat down a maze; he can only choose left or right when he comes to a fork and you have limited his options through his environment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kyuzo</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354392</link>
		<dc:creator>kyuzo</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354392</guid>
		<description>#1 I think you&#039;ve solved it.

#5 Haha! That&#039;s great, I wonder it it would be possible to find an xkcd strip that relates to each and every boing boing post as they are published...</description>
		<content:encoded><![CDATA[<p>#1 I think you&#8217;ve solved it.</p>
<p>#5 Haha! That&#8217;s great, I wonder it it would be possible to find an xkcd strip that relates to each and every boing boing post as they are published&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: t3knomanser</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354394</link>
		<dc:creator>t3knomanser</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354394</guid>
		<description>@CHRS: It&#039;s a C flavored language doing simple assignment. The correct answer is a = 20, b = 20.</description>
		<content:encoded><![CDATA[<p>@CHRS: It&#8217;s a C flavored language doing simple assignment. The correct answer is a = 20, b = 20.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GregLondon</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354650</link>
		<dc:creator>GregLondon</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354650</guid>
		<description>&lt;i&gt;The correct answer is actually ALL OF THE ABOVE. For those of you who have taken a basic concepts of mathematics course,&lt;/i&gt;

Except this isn&#039;t a math course, this is a programming course, and programs are &lt;i&gt;executed in sequence&lt;/i&gt;, whereas mathematical statements are &lt;i&gt;always true&lt;/i&gt;.

Which should point to the fundamental difference between math and programming. Math is about getting fundamental truths. Programming is about getting something that works.


</description>
		<content:encoded><![CDATA[<p><i>The correct answer is actually ALL OF THE ABOVE. For those of you who have taken a basic concepts of mathematics course,</i></p>
<p>Except this isn&#8217;t a math course, this is a programming course, and programs are <i>executed in sequence</i>, whereas mathematical statements are <i>always true</i>.</p>
<p>Which should point to the fundamental difference between math and programming. Math is about getting fundamental truths. Programming is about getting something that works.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zuzu</title>
		<link>http://boingboing.net/2008/12/12/comfort-with-meaning.html#comment-354396</link>
		<dc:creator>zuzu</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-354396</guid>
		<description>Assuming it&#039;s &lt;a href=&quot;http://en.wikipedia.org/wiki/C_(programming_language)&quot; rel=&quot;nofollow&quot;&gt;C&lt;/a&gt;, because it sure looks like it:

The variable &quot;a&quot; is being defined as an integer data type and assigned the value of &quot;10&quot;.

The variable &quot;b&quot; is being defined as an integer data type and assigned the value of &quot;20&quot;.

Now what&#039;s weird is that unlike in algebra, &quot;a = b&quot; means that the variable &quot;a&quot; is from that moment on assigned whatever value &quot;b&quot; held &lt;i&gt;at that time&lt;/i&gt; (in this case, &quot;20&quot;).

There&#039;s no way to know that &quot;a&quot; used to hold &quot;10&quot;, but &quot;a&quot; will retain the value of &quot;20&quot; even while &quot;b&quot; may also be reassigned to a different value later.  Having to keep track of this &lt;i&gt;program state&lt;/i&gt; &lt;b&gt;in your head&lt;/b&gt; is why bugs and crashes occur.

&lt;a href=&quot;http://en.wikipedia.org/wiki/Single_assignment&quot; rel=&quot;nofollow&quot;&gt;Single assignment&lt;/a&gt; is far more... consistent. ^_^</description>
		<content:encoded><![CDATA[<p>Assuming it&#8217;s <a href="http://en.wikipedia.org/wiki/C_(programming_language)" rel="nofollow">C</a>, because it sure looks like it:</p>
<p>The variable &#8220;a&#8221; is being defined as an integer data type and assigned the value of &#8220;10&#8243;.</p>
<p>The variable &#8220;b&#8221; is being defined as an integer data type and assigned the value of &#8220;20&#8243;.</p>
<p>Now what&#8217;s weird is that unlike in algebra, &#8220;a = b&#8221; means that the variable &#8220;a&#8221; is from that moment on assigned whatever value &#8220;b&#8221; held <i>at that time</i> (in this case, &#8220;20&#8243;).</p>
<p>There&#8217;s no way to know that &#8220;a&#8221; used to hold &#8220;10&#8243;, but &#8220;a&#8221; will retain the value of &#8220;20&#8243; even while &#8220;b&#8221; may also be reassigned to a different value later.  Having to keep track of this <i>program state</i> <b>in your head</b> is why bugs and crashes occur.</p>
<p><a href="http://en.wikipedia.org/wiki/Single_assignment" rel="nofollow">Single assignment</a> is far more&#8230; consistent. ^_^</p>
]]></content:encoded>
	</item>
</channel>
</rss>
