<?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: Most developers don&#8217;t really know any computer language</title>
	<atom:link href="http://shape-of-code.coding-guidelines.com/2012/11/16/most-developers-dont-really-know-any-computer-language/feed/" rel="self" type="application/rss+xml" />
	<link>http://shape-of-code.coding-guidelines.com/2012/11/16/most-developers-dont-really-know-any-computer-language/</link>
	<description></description>
	<lastBuildDate>Fri, 24 May 2013 21:15:10 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
	<item>
		<title>By: beatgammit</title>
		<link>http://shape-of-code.coding-guidelines.com/2012/11/16/most-developers-dont-really-know-any-computer-language/comment-page-1/#comment-19607</link>
		<dc:creator>beatgammit</dc:creator>
		<pubDate>Sun, 18 Nov 2012 19:25:57 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=1191#comment-19607</guid>
		<description>The title makes me think that &quot;knowing the language&quot; means that I must know all of the weird corner cases (like the result of prefix vs postfix increment notation for pointers in C in every context) that only a compiler designer would need to know. This means knowing the result of even terribly designed algorithms.

I do not agree with this implication. I think that &quot;knowing the language&quot; means that the programmer understands what &quot;idiomatic&quot; code looks like and can spot, and correct, code that does not follow the style in the language. I pride myself on knowing (and not using) weird corner cases in languages (like when an instance of String == a string literal in Java).

If a person is writing Javascript like Java code (trying to do classical inheritance for example) or writing Haskell in a procedural manner, then that person obviously does not &quot;know the language&quot;. But I argue that someone can &quot;know&quot; C without knowing the result of &quot;p[++i] = i++;&quot;.</description>
		<content:encoded><![CDATA[<p>The title makes me think that &#8220;knowing the language&#8221; means that I must know all of the weird corner cases (like the result of prefix vs postfix increment notation for pointers in C in every context) that only a compiler designer would need to know. This means knowing the result of even terribly designed algorithms.</p>
<p>I do not agree with this implication. I think that &#8220;knowing the language&#8221; means that the programmer understands what &#8220;idiomatic&#8221; code looks like and can spot, and correct, code that does not follow the style in the language. I pride myself on knowing (and not using) weird corner cases in languages (like when an instance of String == a string literal in Java).</p>
<p>If a person is writing Javascript like Java code (trying to do classical inheritance for example) or writing Haskell in a procedural manner, then that person obviously does not &#8220;know the language&#8221;. But I argue that someone can &#8220;know&#8221; C without knowing the result of &#8220;p[++i] = i++;&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Jones</title>
		<link>http://shape-of-code.coding-guidelines.com/2012/11/16/most-developers-dont-really-know-any-computer-language/comment-page-1/#comment-19606</link>
		<dc:creator>Derek Jones</dc:creator>
		<pubDate>Sat, 17 Nov 2012 23:09:21 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=1191#comment-19606</guid>
		<description>&lt;a href=&quot;#comment-19605&quot; rel=&quot;nofollow&quot;&gt;@Pascal Cuoq &lt;/a&gt; 
Sorry for the delay in replying, had web site trouble and I have been out since early morning.

An early draft of this post did say for loops rather than just loops, I thought that version was never publicly visible (perhaps something related to the rather odd website fault).  You are right that some developers only ever use one kind of loop (i.e., a while or a for).

Yes, perhaps the term &#039;template&#039; might be read the wrong way by C++ users.  I sometimes use the term &#039;pattern of behavior&#039; when talking about this topic but thought that was more likely to be ambiguous in this context.</description>
		<content:encoded><![CDATA[<p><a href="#comment-19605" rel="nofollow">@Pascal Cuoq </a><br />
Sorry for the delay in replying, had web site trouble and I have been out since early morning.</p>
<p>An early draft of this post did say for loops rather than just loops, I thought that version was never publicly visible (perhaps something related to the rather odd website fault).  You are right that some developers only ever use one kind of loop (i.e., a while or a for).</p>
<p>Yes, perhaps the term &#8216;template&#8217; might be read the wrong way by C++ users.  I sometimes use the term &#8216;pattern of behavior&#8217; when talking about this topic but thought that was more likely to be ambiguous in this context.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pascal Cuoq</title>
		<link>http://shape-of-code.coding-guidelines.com/2012/11/16/most-developers-dont-really-know-any-computer-language/comment-page-1/#comment-19605</link>
		<dc:creator>Pascal Cuoq</dc:creator>
		<pubDate>Fri, 16 Nov 2012 22:53:46 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=1191#comment-19605</guid>
		<description>Hello, Derek.

The sentence “most developers’ knowledge of the programming languages they use is essentially template based”, taken out of context, can be interpreted at several levels. A popular family of submissions on http://thedailywtf.com/ used to be that of submissions that could be summarized as “The programmer does not know about for loops. Ha, ha!”. I suspect we are seeing fewer of them because the moderators eventually grew tired of them. Would it change the argument if you removed the for loop from the list of templates in the first part of your post?

This said, I wholeheartedly agree about the vocabulary difficulty pointed out in the first item in the second half of the post. When discussing C structs, I never know whether to call the labels in them &quot;fields&quot;, that everyone seems to call them including Wikipedia (http://en.wikipedia.org/wiki/Struct_(C_programming_language) ), an usage that the standard itself implicitly acknowledges when it calls a related notion “bit-field”; or “members”, which appears to be the official name.</description>
		<content:encoded><![CDATA[<p>Hello, Derek.</p>
<p>The sentence “most developers’ knowledge of the programming languages they use is essentially template based”, taken out of context, can be interpreted at several levels. A popular family of submissions on <a href="http://thedailywtf.com/" rel="nofollow">http://thedailywtf.com/</a> used to be that of submissions that could be summarized as “The programmer does not know about for loops. Ha, ha!”. I suspect we are seeing fewer of them because the moderators eventually grew tired of them. Would it change the argument if you removed the for loop from the list of templates in the first part of your post?</p>
<p>This said, I wholeheartedly agree about the vocabulary difficulty pointed out in the first item in the second half of the post. When discussing C structs, I never know whether to call the labels in them &#8220;fields&#8221;, that everyone seems to call them including Wikipedia (<a href="http://en.wikipedia.org/wiki/Struct_(C_programming_language)" rel="nofollow">http://en.wikipedia.org/wiki/Struct_(C_programming_language)</a> ), an usage that the standard itself implicitly acknowledges when it calls a related notion “bit-field”; or “members”, which appears to be the official name.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
