<?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: Your Code is My Hell</title>
	<atom:link href="http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/</link>
	<description>&#34;The three virtues of a programmer: laziness, impatience, and hubris&#34; -- Larry Wall</description>
	<lastBuildDate>Sun, 19 May 2013 05:59:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: Erik Reppen</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-2621</link>
		<dc:creator>Erik Reppen</dc:creator>
		<pubDate>Fri, 03 May 2013 19:42:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-2621</guid>
		<description><![CDATA[I think the history of Java (lol @ java/C# devs having any more OOP discipline than people from other backgrounds btw - haven&#039;t seen much C++) is proof positive that you cannot enforce good practices through language or tool design. Anybody who thinks public vanilla getters and setters are somehow preserving encapsulation better than public properties should have their IDEs slapped out of their hands until they&#039;ve learned to value maintainability and how to actually think about what they&#039;re doing from the act of writing code without one. The problem is that there will always be people who don&#039;t want to learn more than they have to and there will always be people delighted to pay them less now so somebody else can pay ten-fold later.]]></description>
		<content:encoded><![CDATA[<p>I think the history of Java (lol @ java/C# devs having any more OOP discipline than people from other backgrounds btw &#8211; haven&#8217;t seen much C++) is proof positive that you cannot enforce good practices through language or tool design. Anybody who thinks public vanilla getters and setters are somehow preserving encapsulation better than public properties should have their IDEs slapped out of their hands until they&#8217;ve learned to value maintainability and how to actually think about what they&#8217;re doing from the act of writing code without one. The problem is that there will always be people who don&#8217;t want to learn more than they have to and there will always be people delighted to pay them less now so somebody else can pay ten-fold later.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik Reppen</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-2620</link>
		<dc:creator>Erik Reppen</dc:creator>
		<pubDate>Fri, 03 May 2013 19:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-2620</guid>
		<description><![CDATA[Rails promises rapid results. Rapid results are attractive to people with short term priorities. In my experience in Chicago it&#039;s the popular choice for startups writing prototypes and marketing/interactive agencies writing throwaway apps. I don&#039;t personally like rails but I don&#039;t blame the technology so much as management for failing to understand how much value is lost when no effort is put on hiring experienced devs who can write maintainable code. For greenfield work it really shouldn&#039;t add that much time.]]></description>
		<content:encoded><![CDATA[<p>Rails promises rapid results. Rapid results are attractive to people with short term priorities. In my experience in Chicago it&#8217;s the popular choice for startups writing prototypes and marketing/interactive agencies writing throwaway apps. I don&#8217;t personally like rails but I don&#8217;t blame the technology so much as management for failing to understand how much value is lost when no effort is put on hiring experienced devs who can write maintainable code. For greenfield work it really shouldn&#8217;t add that much time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik Reppen</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-2619</link>
		<dc:creator>Erik Reppen</dc:creator>
		<pubDate>Fri, 03 May 2013 19:12:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-2619</guid>
		<description><![CDATA[What good practices does jQuery break? It&#039;s just a function that spits out adapter/decorator objects for normalizing and reducing cruft in the DOM API. IMO, a very well-written one that you could a learn a lot about JavaScript from. But it mostly just covers the DOM. It doesn&#039;t architect apps for you.]]></description>
		<content:encoded><![CDATA[<p>What good practices does jQuery break? It&#8217;s just a function that spits out adapter/decorator objects for normalizing and reducing cruft in the DOM API. IMO, a very well-written one that you could a learn a lot about JavaScript from. But it mostly just covers the DOM. It doesn&#8217;t architect apps for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rohan Nicholls</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-2016</link>
		<dc:creator>Rohan Nicholls</dc:creator>
		<pubDate>Fri, 11 May 2012 18:11:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-2016</guid>
		<description><![CDATA[One of the best pieces of advice I ever had, and have kept it in mind ever since is similar to the last paragraph of this post, and could not be more on the money:

&quot;Write your code as if the next person to work on it is a violent psychopath with anger management issues who knows where you live.&quot;
]]></description>
		<content:encoded><![CDATA[<p>One of the best pieces of advice I ever had, and have kept it in mind ever since is similar to the last paragraph of this post, and could not be more on the money:</p>
<p>&#8220;Write your code as if the next person to work on it is a violent psychopath with anger management issues who knows where you live.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Grimm</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-1299</link>
		<dc:creator>Andrew Grimm</dc:creator>
		<pubDate>Tue, 06 Sep 2011 11:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-1299</guid>
		<description><![CDATA[Would things be different if not so many people Ruby developers were using it to develop Rails applications, but were working on longer-term non-Rails projects? People&#039;s behaviour gets affected by their peers, so it wouldn&#039;t just be the people working on the 10-year project that&#039;d be different, but the people who go to the same meetups as them.]]></description>
		<content:encoded><![CDATA[<p>Would things be different if not so many people Ruby developers were using it to develop Rails applications, but were working on longer-term non-Rails projects? People&#8217;s behaviour gets affected by their peers, so it wouldn&#8217;t just be the people working on the 10-year project that&#8217;d be different, but the people who go to the same meetups as them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Grimm</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-1300</link>
		<dc:creator>Andrew Grimm</dc:creator>
		<pubDate>Tue, 06 Sep 2011 11:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-1300</guid>
		<description><![CDATA[Would things be different if not so many people Ruby developers were using it to develop Rails applications, but were working on longer-term non-Rails projects? People&#039;s behaviour gets affected by their peers, so it wouldn&#039;t just be the people working on the 10-year project that&#039;d be different, but the people who go to the same meetups as them.]]></description>
		<content:encoded><![CDATA[<p>Would things be different if not so many people Ruby developers were using it to develop Rails applications, but were working on longer-term non-Rails projects? People&#8217;s behaviour gets affected by their peers, so it wouldn&#8217;t just be the people working on the 10-year project that&#8217;d be different, but the people who go to the same meetups as them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-1298</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Tue, 30 Aug 2011 11:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-1298</guid>
		<description><![CDATA[Yup, wasn&#039;t suggesting you could use traditional interfaces given Ruby is so dynamic.

What triggered my comment was the bit about &quot;Ruby on Rails projects are exceptional in a way: they are really small&quot;, my thinking was just that as they grow (and maybe more importantly age) do traditional interfaces begin to come into their own?]]></description>
		<content:encoded><![CDATA[<p>Yup, wasn&#8217;t suggesting you could use traditional interfaces given Ruby is so dynamic.</p>
<p>What triggered my comment was the bit about &#8220;Ruby on Rails projects are exceptional in a way: they are really small&#8221;, my thinking was just that as they grow (and maybe more importantly age) do traditional interfaces begin to come into their own?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eleanor McHugh</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-1297</link>
		<dc:creator>Eleanor McHugh</dc:creator>
		<pubDate>Tue, 30 Aug 2011 10:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-1297</guid>
		<description><![CDATA[Every time we perform a message send in Ruby we&#039;re asserting an implicit type interface with the target object handling type failures via method_missing or else handing the responsibility back to the call site via an exception.

Naively this could be generalised by filtering on a series of responds_to? messages but we can never provide the same runtime guarantee that&#039;s present in Java or C# as between message sends it is entirely possible for a Ruby object to drastically change its behaviour. Type in Ruby is therefore subject to an uncertainty principle which is at odds with these kinds of static guarantees.

This isn&#039;t to say that a traditional interface mechanism couldn&#039;t be added to the language, but for it to be authoritative it would have to be atomic in operation and enforce a global lock on code mutation throughout the guarded critical code section.]]></description>
		<content:encoded><![CDATA[<p>Every time we perform a message send in Ruby we&#8217;re asserting an implicit type interface with the target object handling type failures via method_missing or else handing the responsibility back to the call site via an exception.</p>
<p>Naively this could be generalised by filtering on a series of responds_to? messages but we can never provide the same runtime guarantee that&#8217;s present in Java or C# as between message sends it is entirely possible for a Ruby object to drastically change its behaviour. Type in Ruby is therefore subject to an uncertainty principle which is at odds with these kinds of static guarantees.</p>
<p>This isn&#8217;t to say that a traditional interface mechanism couldn&#8217;t be added to the language, but for it to be authoritative it would have to be atomic in operation and enforce a global lock on code mutation throughout the guarded critical code section.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Enrico Teotti</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-1296</link>
		<dc:creator>Enrico Teotti</dc:creator>
		<pubDate>Tue, 30 Aug 2011 04:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-1296</guid>
		<description><![CDATA[I blame people not reading about changes in their industry, instead embracing a cushy approach to writing software.]]></description>
		<content:encoded><![CDATA[<p>I blame people not reading about changes in their industry, instead embracing a cushy approach to writing software.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan Donovan</title>
		<link>http://devblog.avdi.org/2011/08/22/your-code-is-my-hell/#comment-1295</link>
		<dc:creator>Bryan Donovan</dc:creator>
		<pubDate>Mon, 29 Aug 2011 19:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://avdi.org/devblog/?p=1453#comment-1295</guid>
		<description><![CDATA[The strange thing is, there are plenty of great books on how to write good code in ruby.  The design patterns one, Eloquent Ruby, Refactoring: Ruby Edition, Rails Antipatterns, The RSpec Book.  It&#039;s just that most people are too lazy to read them or actually apply the concepts.]]></description>
		<content:encoded><![CDATA[<p>The strange thing is, there are plenty of great books on how to write good code in ruby.  The design patterns one, Eloquent Ruby, Refactoring: Ruby Edition, Rails Antipatterns, The RSpec Book.  It&#8217;s just that most people are too lazy to read them or actually apply the concepts.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 2.117 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-05-21 02:47:32 -->

<!-- Compression = gzip -->