<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1-beta1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Regarding Conventions</title>
	<link>http://skanev.com/2007/11/14/regarding-conventions-english/</link>
	<description>Блогът на Стефан Кънев</description>
	<pubDate>Thu, 28 Aug 2008 03:12:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1-beta1</generator>
		<item>
		<title>By: Greg Jorgensen</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-307</link>
		<dc:creator>Greg Jorgensen</dc:creator>
		<pubDate>Mon, 19 Nov 2007 17:21:07 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-307</guid>
		<description>You have a good point about how programming idioms and style convey meaning. However your tone and choice of words reveal some traits that are probably more counterproductive than mixing up "for" and "while."

You say "I endeavour to enforce Draconian measures for standard coding conventions. The reason — I’m very sensitive to code inconsistencies. I’d always organize everything after the same fashion...." There's no such thing as a "standard coding convention." There are lots of opinions about the "right" way to write code, though. It's important to distinguish between one's personal preferences, obsessive-compulsive tendencies, and fetishes and the one and only "right" way to do something. There's nothing wrong with consistency and it can make team projects go smoother, but as Emerson said, "A foolish consistency is the hobgoblin of little minds." I would wager that more programming time has been wasted arguing about the "right" way to place braces in C, or changing indents from eight spaces to four, than has been lost trying to figure out why a "for" loop didn't really need the index variable.

I agree with you that a chaotic style, with no apparent consistency, is the hallmark of an inexperienced or sloppy programmer. However I don't agree that a programmer who fails to follow my personal style is necessarily doing something wrong. To turn Tolstoy around, bad programmers are all alike, but good programmers are each good in their own way. Rather than try to force another programmer to use my style (which is not practical anyway) I prefer to filter out the truly bad code and accept and learn from the good code.

I know it's just a figure of speech, but proposing that people who believe stylistic differences should be tolerated "deserve to be shot" is over the top and only detracts from the point you are trying to make. Even if we agree in principle I wouldn't want to work with someone who has a "fascist outlook" on style, imposes Draconian enforcement, and believes in capital punishment for offenders.</description>
		<content:encoded><![CDATA[<p>You have a good point about how programming idioms and style convey meaning. However your tone and choice of words reveal some traits that are probably more counterproductive than mixing up &#8220;for&#8221; and &#8220;while.&#8221;</p>
<p>You say &#8220;I endeavour to enforce Draconian measures for standard coding conventions. The reason — I’m very sensitive to code inconsistencies. I’d always organize everything after the same fashion&#8230;.&#8221; There&#8217;s no such thing as a &#8220;standard coding convention.&#8221; There are lots of opinions about the &#8220;right&#8221; way to write code, though. It&#8217;s important to distinguish between one&#8217;s personal preferences, obsessive-compulsive tendencies, and fetishes and the one and only &#8220;right&#8221; way to do something. There&#8217;s nothing wrong with consistency and it can make team projects go smoother, but as Emerson said, &#8220;A foolish consistency is the hobgoblin of little minds.&#8221; I would wager that more programming time has been wasted arguing about the &#8220;right&#8221; way to place braces in C, or changing indents from eight spaces to four, than has been lost trying to figure out why a &#8220;for&#8221; loop didn&#8217;t really need the index variable.</p>
<p>I agree with you that a chaotic style, with no apparent consistency, is the hallmark of an inexperienced or sloppy programmer. However I don&#8217;t agree that a programmer who fails to follow my personal style is necessarily doing something wrong. To turn Tolstoy around, bad programmers are all alike, but good programmers are each good in their own way. Rather than try to force another programmer to use my style (which is not practical anyway) I prefer to filter out the truly bad code and accept and learn from the good code.</p>
<p>I know it&#8217;s just a figure of speech, but proposing that people who believe stylistic differences should be tolerated &#8220;deserve to be shot&#8221; is over the top and only detracts from the point you are trying to make. Even if we agree in principle I wouldn&#8217;t want to work with someone who has a &#8220;fascist outlook&#8221; on style, imposes Draconian enforcement, and believes in capital punishment for offenders.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: greg</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-301</link>
		<dc:creator>greg</dc:creator>
		<pubDate>Fri, 16 Nov 2007 12:39:34 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-301</guid>
		<description>Nice post indeed; now I'm slightly disappointed that you didn't give any hint on how you "endeavour to enforce Draconian measures for standard coding conventions". That's a problem I'm facing right now. Checkstyle and assorted tools are too dumb to understand the reasons behind the possible diversions (and I'd hate to have to have to resort to ugly markup), and it seems common/good sense can only be trusted so much. Any tip?</description>
		<content:encoded><![CDATA[<p>Nice post indeed; now I&#8217;m slightly disappointed that you didn&#8217;t give any hint on how you &#8220;endeavour to enforce Draconian measures for standard coding conventions&#8221;. That&#8217;s a problem I&#8217;m facing right now. Checkstyle and assorted tools are too dumb to understand the reasons behind the possible diversions (and I&#8217;d hate to have to have to resort to ugly markup), and it seems common/good sense can only be trusted so much. Any tip?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anislav</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-286</link>
		<dc:creator>Anislav</dc:creator>
		<pubDate>Thu, 15 Nov 2007 12:59:56 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-286</guid>
		<description>YANA (Yet Another Nice Article) from you Stefan :)</description>
		<content:encoded><![CDATA[<p>YANA (Yet Another Nice Article) from you Stefan <img src='http://skanev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johannes Rudolph</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-285</link>
		<dc:creator>Johannes Rudolph</dc:creator>
		<pubDate>Thu, 15 Nov 2007 08:23:17 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-285</guid>
		<description>Correction:
ArrayList has only amortized addition, of course. So insertion would be a point for LinkedList.</description>
		<content:encoded><![CDATA[<p>Correction:<br />
ArrayList has only amortized addition, of course. So insertion would be a point for LinkedList.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johannes Rudolph</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-284</link>
		<dc:creator>Johannes Rudolph</dc:creator>
		<pubDate>Thu, 15 Nov 2007 08:21:43 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-284</guid>
		<description>Nice post, just a comment about your ArrayList/LinkedList statements.

While it were nice if you could so, you will actually almost never choose LinkedList because of the iteration type. If you chose LinkedList then because of the fast O(1) prepend and append operations when you don't know the size in advance. But then: addition and insertion is amortized O(1) in ArrayList as well... 
Then think about the memory usage of the lists: While ArrayList has to preallocate some memory and is memory efficient when the size is known in advance, LinkedList has to allocate memory for every element in the list to store the pointers.
So there it is almost everytime the best thing to choose ArrayList.

eg see http://joust.kano.net/weblog/archives/000066.html</description>
		<content:encoded><![CDATA[<p>Nice post, just a comment about your ArrayList/LinkedList statements.</p>
<p>While it were nice if you could so, you will actually almost never choose LinkedList because of the iteration type. If you chose LinkedList then because of the fast O(1) prepend and append operations when you don&#8217;t know the size in advance. But then: addition and insertion is amortized O(1) in ArrayList as well&#8230;<br />
Then think about the memory usage of the lists: While ArrayList has to preallocate some memory and is memory efficient when the size is known in advance, LinkedList has to allocate memory for every element in the list to store the pointers.<br />
So there it is almost everytime the best thing to choose ArrayList.</p>
<p>eg see <a href="http://joust.kano.net/weblog/archives/000066.html" rel="nofollow">http://joust.kano.net/weblog/archives/000066.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stewart Johnson</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-283</link>
		<dc:creator>Stewart Johnson</dc:creator>
		<pubDate>Thu, 15 Nov 2007 07:33:20 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-283</guid>
		<description>I could not agree with you more. My only disappointment is that there's people who don't think a consistent coding standard is so important.</description>
		<content:encoded><![CDATA[<p>I could not agree with you more. My only disappointment is that there&#8217;s people who don&#8217;t think a consistent coding standard is so important.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Torreborre</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-281</link>
		<dc:creator>Eric Torreborre</dc:creator>
		<pubDate>Wed, 14 Nov 2007 14:25:12 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-281</guid>
		<description>I like the ArrayList/LinkedList convention which I usually don't use, as I'm very often using an ArrayList as my default List implementation. 

Your post makes me think about it twice and I wish you would translate more posts like that one!

Eric.</description>
		<content:encoded><![CDATA[<p>I like the ArrayList/LinkedList convention which I usually don&#8217;t use, as I&#8217;m very often using an ArrayList as my default List implementation. </p>
<p>Your post makes me think about it twice and I wish you would translate more posts like that one!</p>
<p>Eric.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reg Braithwaite</title>
		<link>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-280</link>
		<dc:creator>Reg Braithwaite</dc:creator>
		<pubDate>Wed, 14 Nov 2007 12:26:14 +0000</pubDate>
		<guid>http://skanev.com/2007/11/14/regarding-conventions-english/#comment-280</guid>
		<description>Thank you, very nice post. I'm sorry I could not read the original, with all of its native idioms and style.</description>
		<content:encoded><![CDATA[<p>Thank you, very nice post. I&#8217;m sorry I could not read the original, with all of its native idioms and style.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
