<?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: How to make your code completely unreadable with .NET 3.5</title>
	<atom:link href="http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/feed/" rel="self" type="application/rss+xml" />
	<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/</link>
	<description>Take care of the sense, and the sounds will take care of themselves.</description>
	<lastBuildDate>Fri, 18 May 2012 08:56:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: babylooneytunes</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-4113</link>
		<dc:creator>babylooneytunes</dc:creator>
		<pubDate>Thu, 30 Dec 2010 22:03:51 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-4113</guid>
		<description>Hi, I am new.This is my frist thread ...lol.
say hi to everybody.</description>
		<content:encoded><![CDATA[<p>Hi, I am new.This is my frist thread &#8230;lol.<br />
say hi to everybody.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maynard D. Cooney</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-3755</link>
		<dc:creator>Maynard D. Cooney</dc:creator>
		<pubDate>Wed, 21 Apr 2010 19:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-3755</guid>
		<description>Nice blog you have... looking forward to read your next post</description>
		<content:encoded><![CDATA[<p>Nice blog you have&#8230; looking forward to read your next post</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Why good programmer never write good programs &#124; Tamir Khason - Just code</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-1749</link>
		<dc:creator>Why good programmer never write good programs &#124; Tamir Khason - Just code</dc:creator>
		<pubDate>Thu, 01 Jan 2009 09:12:35 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-1749</guid>
		<description>[...] Here, one of visitors, begun a discussion about good and bad programmers. Here, I wrote about absolutely unnecessary and not relevant questions to good programmers. Someone things, that good programmers should write good programs. However, I want to interpose my objections to the statement. And this why. [...]</description>
		<content:encoded><![CDATA[<p>[...] Here, one of visitors, begun a discussion about good and bad programmers. Here, I wrote about absolutely unnecessary and not relevant questions to good programmers. Someone things, that good programmers should write good programs. However, I want to interpose my objections to the statement. And this why. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Binding with Lambda expressions &#124; Tamir Khason - Just code</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-1741</link>
		<dc:creator>Binding with Lambda expressions &#124; Tamir Khason - Just code</dc:creator>
		<pubDate>Thu, 01 Jan 2009 09:06:54 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-1741</guid>
		<description>[...] personally, not a big fan of labdas. However, it looks like new blogger M. Or&#231;un Topdağı is. He wrote three posts (1, 2, 3) [...]</description>
		<content:encoded><![CDATA[<p>[...] personally, not a big fan of labdas. However, it looks like new blogger M. Or&#231;un Topdağı is. He wrote three posts (1, 2, 3) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niki</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-934</link>
		<dc:creator>Niki</dc:creator>
		<pubDate>Thu, 01 Jan 2009 08:29:05 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-934</guid>
		<description>&lt;p&gt;Your point seems to be, if a feature can be used to write code that&#039;s hard to understand, then the feature is bad. Is that right?&lt;/p&gt;
&lt;p&gt;Wouldn&#039;t it make more sense to learn those new programming language elements, and see how they can be used to make code more readable?&lt;/p&gt;
&lt;p&gt;BTW: Maybe you should have a look at languages that are usually regarded as &quot;elegant&quot;, like Lisp, Python, Ruby, Haskell or ML. Guess what? They all have lambda expressions!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Your point seems to be, if a feature can be used to write code that&#39;s hard to understand, then the feature is bad. Is that right?</p>
<p>Wouldn&#39;t it make more sense to learn those new programming language elements, and see how they can be used to make code more readable?</p>
<p>BTW: Maybe you should have a look at languages that are usually regarded as &quot;elegant&quot;, like Lisp, Python, Ruby, Haskell or ML. Guess what? They all have lambda expressions!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jhunter</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-933</link>
		<dc:creator>jhunter</dc:creator>
		<pubDate>Thu, 01 Jan 2009 08:29:04 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-933</guid>
		<description>&lt;p&gt;I agree with you, I hate anonymous types. &#160;I expect to frustrated when I start reading people&#039;s code in .net 3.5.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I agree with you, I hate anonymous types. &nbsp;I expect to frustrated when I start reading people&#39;s code in .net 3.5.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tamir Khason</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-932</link>
		<dc:creator>Tamir Khason</dc:creator>
		<pubDate>Thu, 01 Jan 2009 08:29:03 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-932</guid>
		<description>&lt;p&gt;Niki, no it is not my statement. My statement is that we are studing developers to write bad code, by adding more and more unnessesery features to the programming language.&lt;/p&gt;
&lt;p&gt;In Python 3000, for example is was decided to remove lambdas from the language and replace them with anonymous delegates. Regarding Ruby, delegates works as block expressions. They are working very hard to add delegate support to the language += and -= expressions.&lt;/p&gt;
&lt;p&gt;So, are you really thinking , that lambdas are good? :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Niki, no it is not my statement. My statement is that we are studing developers to write bad code, by adding more and more unnessesery features to the programming language.</p>
<p>In Python 3000, for example is was decided to remove lambdas from the language and replace them with anonymous delegates. Regarding Ruby, delegates works as block expressions. They are working very hard to add delegate support to the language += and -= expressions.</p>
<p>So, are you really thinking , that lambdas are good? <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daily Dose of Links - 20071119 « Daily Geek Bits</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-931</link>
		<dc:creator>Daily Dose of Links - 20071119 « Daily Geek Bits</dc:creator>
		<pubDate>Thu, 01 Jan 2009 08:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-931</guid>
		<description>&lt;p&gt;Pingback from &#160;Daily Dose of Links - 20071119 &laquo; Daily Geek Bits&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Pingback from &nbsp;Daily Dose of Links &#8211; 20071119 &amp;laquo; Daily Geek Bits</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Angelos Petropoulos</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-930</link>
		<dc:creator>Angelos Petropoulos</dc:creator>
		<pubDate>Thu, 01 Jan 2009 08:29:01 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-930</guid>
		<description>&lt;p&gt;I agree with the point you are trying to make. My feelings are reflected by this post on LINQ (the reason anonymous types and lambda expressions were implemented) that I made only a few days ago ...&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_new&quot; href=&quot;http://www.angelosp.com/blog/post/TechEd-Wisdom-%e2%80%93-Still-not-convinced-about-LINQ.aspx&quot; rel=&quot;nofollow&quot;&gt;www.angelosp.com/.../TechEd-Wisdom-%e2%80%93-Still-not-convinced-about-LINQ.aspx&lt;/a&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I agree with the point you are trying to make. My feelings are reflected by this post on LINQ (the reason anonymous types and lambda expressions were implemented) that I made only a few days ago &#8230;</p>
<p><a rel="nofollow" target="_new" href="http://www.angelosp.com/blog/post/TechEd-Wisdom-%e2%80%93-Still-not-convinced-about-LINQ.aspx" rel="nofollow">http://www.angelosp.com/&#8230;/TechEd-Wisdom-%e2%80%93-Still-not-convinced-about-LINQ.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niki</title>
		<link>http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/comment-page-1/#comment-929</link>
		<dc:creator>Niki</dc:creator>
		<pubDate>Thu, 01 Jan 2009 08:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://khason.net/blog/how-to-make-your-code-completely-unreadable-with-net-35/#comment-929</guid>
		<description>&lt;p&gt;I just have to reinstall VS2008 because I keep getting weird &quot;unexpected errors&quot; (very helpful error message, by the way. thank you, microsoft!). So I have a few minutes to write down a reply:&lt;/p&gt;
&lt;p&gt;&gt; Niki, no it is not my statement. My statement is that we are studing developers to write bad code, by adding more and more unnessesery features to the programming language.&lt;/p&gt;
&lt;p&gt;That&#039;s your conclusion, but I still don&#039;t see how you get to that conclusion. Yes, of course, the feature is kind of redundant, but not more redundant than for-loops, foreach-loops, do-while-loops, events, switch-case or properties are. Yes, there is potential for misuse, but IMHO you can do far more damage e.g. with events, which can lead to serious spagetti code.&lt;/p&gt;
&lt;p&gt;I see two possible conclusions out of this, either:&lt;/p&gt;
&lt;p&gt;a) Use a minimalist language like Scheme, that does not have all those redundant features. I like Scheme, but unfortunately I&#039;m quite alone with that, most companies seem to prefer &quot;rich&quot; languages. (And guess what: Yes, Scheme does have lambdas...)&lt;/p&gt;
&lt;p&gt;b) Teach your programmers to use the features of the language wisely, not to obscure the meaning of the code they&#039;re writing, but to clarify it.&lt;/p&gt;
&lt;p&gt;&gt; In Python 3000, for example is was decided to remove lambdas from the language and replace them with anonymous delegates. &lt;/p&gt;
&lt;p&gt;I think I read a statement from Guido van Rossum (the man behind Python) that lambdas will stay in the language, but that might be outdated. Anyway, the reason why there&#039;s discussion about lambdas in Python are largely syntactic: they simply don&#039;t fit into the &#160;indentation-oriented block structure. That&#039;s not a problem that in C#.&lt;/p&gt;
&lt;p&gt;&gt; So, are you really thinking , that lambdas are good? :)&lt;/p&gt;
&lt;p&gt;Yes, of course I do. Why? For one thing, I have some mathematical background, so I&#039;ve found lambda calculus intuitive long before anyone thought C# might get lambda expressions some day. Also, I know a bit of higher-order-programming, and know how much it can simplify development if used correctly. And I can think of code like this:&lt;/p&gt;
&lt;p&gt;purchases.SortBy(p =&gt; p.Price);&lt;/p&gt;
&lt;p&gt;I don&#039;t see how I could make this code any clearer. In .NET 1.1 (or in C++), I would have a static function like &quot;GetPrice&quot; somewhere far aways form the SortBy-call, which is of course bad because it destroys code locality. In C# 2.0, I could to do something similar with an anonymous delegate, which does the same thing, but makes the code hard to read, because it is far more verbose, and also less flexible, because it cannot be used as an expression. (I am hoping that anonymous delegates will be removed in some future version of C#.)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I just have to reinstall VS2008 because I keep getting weird &quot;unexpected errors&quot; (very helpful error message, by the way. thank you, microsoft!). So I have a few minutes to write down a reply:</p>
<p>&gt; Niki, no it is not my statement. My statement is that we are studing developers to write bad code, by adding more and more unnessesery features to the programming language.</p>
<p>That&#39;s your conclusion, but I still don&#39;t see how you get to that conclusion. Yes, of course, the feature is kind of redundant, but not more redundant than for-loops, foreach-loops, do-while-loops, events, switch-case or properties are. Yes, there is potential for misuse, but IMHO you can do far more damage e.g. with events, which can lead to serious spagetti code.</p>
<p>I see two possible conclusions out of this, either:</p>
<p>a) Use a minimalist language like Scheme, that does not have all those redundant features. I like Scheme, but unfortunately I&#39;m quite alone with that, most companies seem to prefer &quot;rich&quot; languages. (And guess what: Yes, Scheme does have lambdas&#8230;)</p>
<p>b) Teach your programmers to use the features of the language wisely, not to obscure the meaning of the code they&#39;re writing, but to clarify it.</p>
<p>&gt; In Python 3000, for example is was decided to remove lambdas from the language and replace them with anonymous delegates. </p>
<p>I think I read a statement from Guido van Rossum (the man behind Python) that lambdas will stay in the language, but that might be outdated. Anyway, the reason why there&#39;s discussion about lambdas in Python are largely syntactic: they simply don&#39;t fit into the &nbsp;indentation-oriented block structure. That&#39;s not a problem that in C#.</p>
<p>&gt; So, are you really thinking , that lambdas are good? <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Yes, of course I do. Why? For one thing, I have some mathematical background, so I&#39;ve found lambda calculus intuitive long before anyone thought C# might get lambda expressions some day. Also, I know a bit of higher-order-programming, and know how much it can simplify development if used correctly. And I can think of code like this:</p>
<p>purchases.SortBy(p =&gt; p.Price);</p>
<p>I don&#39;t see how I could make this code any clearer. In .NET 1.1 (or in C++), I would have a static function like &quot;GetPrice&quot; somewhere far aways form the SortBy-call, which is of course bad because it destroys code locality. In C# 2.0, I could to do something similar with an anonymous delegate, which does the same thing, but makes the code hard to read, because it is far more verbose, and also less flexible, because it cannot be used as an expression. (I am hoping that anonymous delegates will be removed in some future version of C#.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

