<?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/"
	xmlns:series="http://organizeseries.com/"
		>
<channel>
	<title>Comments on: Why You Should Write Clean Code</title>
	<atom:link href="http://www.brandonsavage.net/why-you-should-write-clean-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net/why-you-should-write-clean-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-you-should-write-clean-code</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Wed, 15 May 2013 14:54:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.2-alpha</generator>
	<item>
		<title>By: Hikari</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-13116</link>
		<dc:creator>Hikari</dc:creator>
		<pubDate>Thu, 11 Apr 2013 20:05:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-13116</guid>
		<description><![CDATA[Lol I loved the melogic way you expressed it! Write clean code to be pride of it when others read it!

I&#039;d like to go further, talking to a more professional audience. Clean code means maintainability. Easier, faster and more reliable changes in future.

When the objective is to understand the software, reading its code isn&#039;t good. Software must be documented and modeled, to make it real easy and quick to understand.

Then we go to Software Architecture, and create great, versatible and modular architectures, that allow loose coupled components to be reused and maintained separately.]]></description>
		<content:encoded><![CDATA[<p>Lol I loved the melogic way you expressed it! Write clean code to be pride of it when others read it!</p>
<p>I&#8217;d like to go further, talking to a more professional audience. Clean code means maintainability. Easier, faster and more reliable changes in future.</p>
<p>When the objective is to understand the software, reading its code isn&#8217;t good. Software must be documented and modeled, to make it real easy and quick to understand.</p>
<p>Then we go to Software Architecture, and create great, versatible and modular architectures, that allow loose coupled components to be reused and maintained separately.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Devon H. O'Dell</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-10329</link>
		<dc:creator>Devon H. O'Dell</dc:creator>
		<pubDate>Thu, 21 Mar 2013 21:11:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-10329</guid>
		<description><![CDATA[&gt; The computer doesn’t care about clean code
&gt; The computer only cares that the code compiles, and can be executed. Pass this check, and the code will run. Fail this check, and the code won’t run. Period.

Except if &quot;beauty&quot; is part of the syntax of the language. And arguably, it is. Otherwise, Python wouldn&#039;t make whitespace important, and utilities like gofmt wouldn&#039;t exist. LISP also comes to mind.

&gt; The answer is that code is written to communicate ideas in a human readable form.

Code is written to automate tasks through an interpreting agent (like a computer).

&gt; But languages are designed to express ideas as much as they’re designed to instruct computers. Language features are added because they make it easier to express certain ideas. Entire languages have been developed with the purpose of handing a particular set of problems. Many if not most languages are implemented using another language (PHP is written in C, for example). Developers could write in C, but PHP allows them to express themselves in a new and different way from C.

PHP is a very C-like language. Its syntax is based on C&#039;s syntax. PHP doesn&#039;t allow &quot;new and different&quot; means of expression in its language at all. I can honestly not think of a single original feature of PHP that is part of the language itself -- fundamentally the only differences between C and PHP as a language are classes. In which case I would point at C++ and Java, both of which have a C-like syntax.

I think you might be talking about the availability of libraries and the ease of use that comes about from having an expansive standard library. C is not great for web programming, but that is neither &quot;language feature&quot; nor &quot;misfeature.&quot; PHP, on the other hand, is terrible for anything that needs concurrency, threading, or real-time guarantees. It just doesn&#039;t work. In the case of PHP, this isn&#039;t really a language misfeature either, the interpreter and runtime are simply not written in a way that makes these sorts of things viable.

Languages are designed to help people solve problems relating to automating computers.

&gt; Since our goal in writing code is to communicate ideas to other humans (not to computers), it is imperative that we write that code clearly and cleanly.

If this was the case, I&#039;d never have to write architectural or technical design documents. If you want to write literate code, do so -- you may be interested in learning more about literate programming (http://www-cs-faculty.stanford.edu/~uno/lp.html) and a PHP implementation (https://github.com/bergie/noweb.php). People who love literate programming may disagree, but I think this is a mostly failed experiment. Many engineers I know (myself included) are nowhere near as literate as Knuth.

Either way, I think you&#039;re fundamentally wrong. Writing code is about automation. Writing documentation is about communicating ideas. There are methods (linked above) that combine these. Very few people do it, and (in my experience) it is mostly done in academic implementations of algorithms.

&gt; Messy code, though it may work, fails at communicating the ideas of the author as well as clean, clear, organized code. Sure, variable names like $a and $i might hold values, but descriptive names like $databaseObject and $iterator are much clearer and articulate a far better point.

I disagree *very* much, and so does Rob Pike. He makes a much better case than I could at http://doc.cat-v.org/bell_labs/pikestyle

&gt; Clean code is about pride of authorship

Broken clean code is worse than working spaghetti code.]]></description>
		<content:encoded><![CDATA[<p>&gt; The computer doesn’t care about clean code<br />
&gt; The computer only cares that the code compiles, and can be executed. Pass this check, and the code will run. Fail this check, and the code won’t run. Period.</p>
<p>Except if &#8220;beauty&#8221; is part of the syntax of the language. And arguably, it is. Otherwise, Python wouldn&#8217;t make whitespace important, and utilities like gofmt wouldn&#8217;t exist. LISP also comes to mind.</p>
<p>&gt; The answer is that code is written to communicate ideas in a human readable form.</p>
<p>Code is written to automate tasks through an interpreting agent (like a computer).</p>
<p>&gt; But languages are designed to express ideas as much as they’re designed to instruct computers. Language features are added because they make it easier to express certain ideas. Entire languages have been developed with the purpose of handing a particular set of problems. Many if not most languages are implemented using another language (PHP is written in C, for example). Developers could write in C, but PHP allows them to express themselves in a new and different way from C.</p>
<p>PHP is a very C-like language. Its syntax is based on C&#8217;s syntax. PHP doesn&#8217;t allow &#8220;new and different&#8221; means of expression in its language at all. I can honestly not think of a single original feature of PHP that is part of the language itself &#8212; fundamentally the only differences between C and PHP as a language are classes. In which case I would point at C++ and Java, both of which have a C-like syntax.</p>
<p>I think you might be talking about the availability of libraries and the ease of use that comes about from having an expansive standard library. C is not great for web programming, but that is neither &#8220;language feature&#8221; nor &#8220;misfeature.&#8221; PHP, on the other hand, is terrible for anything that needs concurrency, threading, or real-time guarantees. It just doesn&#8217;t work. In the case of PHP, this isn&#8217;t really a language misfeature either, the interpreter and runtime are simply not written in a way that makes these sorts of things viable.</p>
<p>Languages are designed to help people solve problems relating to automating computers.</p>
<p>&gt; Since our goal in writing code is to communicate ideas to other humans (not to computers), it is imperative that we write that code clearly and cleanly.</p>
<p>If this was the case, I&#8217;d never have to write architectural or technical design documents. If you want to write literate code, do so &#8212; you may be interested in learning more about literate programming (<a href="http://www-cs-faculty.stanford.edu/~uno/lp.html" rel="nofollow">http://www-cs-faculty.stanford.edu/~uno/lp.html</a>) and a PHP implementation (<a href="https://github.com/bergie/noweb.php" rel="nofollow">https://github.com/bergie/noweb.php</a>). People who love literate programming may disagree, but I think this is a mostly failed experiment. Many engineers I know (myself included) are nowhere near as literate as Knuth.</p>
<p>Either way, I think you&#8217;re fundamentally wrong. Writing code is about automation. Writing documentation is about communicating ideas. There are methods (linked above) that combine these. Very few people do it, and (in my experience) it is mostly done in academic implementations of algorithms.</p>
<p>&gt; Messy code, though it may work, fails at communicating the ideas of the author as well as clean, clear, organized code. Sure, variable names like $a and $i might hold values, but descriptive names like $databaseObject and $iterator are much clearer and articulate a far better point.</p>
<p>I disagree *very* much, and so does Rob Pike. He makes a much better case than I could at <a href="http://doc.cat-v.org/bell_labs/pikestyle" rel="nofollow">http://doc.cat-v.org/bell_labs/pikestyle</a></p>
<p>&gt; Clean code is about pride of authorship</p>
<p>Broken clean code is worse than working spaghetti code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bobby Kotadinov</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-10069</link>
		<dc:creator>Bobby Kotadinov</dc:creator>
		<pubDate>Wed, 20 Mar 2013 13:07:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-10069</guid>
		<description><![CDATA[Hey Brandon, 

I attended your talk last year in php london conference and back then, and reading the comments now I get the feeling some people finding the &quot;art&quot; of clean and expressive code too bothersome and too airy.
However I agree with your opinions 100%. In my personal experience, working on LONG term, continuous project, clean code makes the difference between a working application and a total mess that is half the time killing apache.
My main goal, for my team, is to force each developer to write a standardized clean code. I insist on this more than I would insist on specific code architecture. I have found through experience that brilliant ideas get bogged down in messy, long code and at the end become a burden to maintain. 
If you write a class and the effort to keep things clean is too much, imagine working on a system with 100000 files and having to introduce new developers to that is just... 
it actually costs money, it creates downtime, creates logical  errors due to developers not understanding the business in the code and doubles the development time needed.
So keep advocating clean code! :)]]></description>
		<content:encoded><![CDATA[<p>Hey Brandon, </p>
<p>I attended your talk last year in php london conference and back then, and reading the comments now I get the feeling some people finding the &#8220;art&#8221; of clean and expressive code too bothersome and too airy.<br />
However I agree with your opinions 100%. In my personal experience, working on LONG term, continuous project, clean code makes the difference between a working application and a total mess that is half the time killing apache.<br />
My main goal, for my team, is to force each developer to write a standardized clean code. I insist on this more than I would insist on specific code architecture. I have found through experience that brilliant ideas get bogged down in messy, long code and at the end become a burden to maintain.<br />
If you write a class and the effort to keep things clean is too much, imagine working on a system with 100000 files and having to introduce new developers to that is just&#8230;<br />
it actually costs money, it creates downtime, creates logical  errors due to developers not understanding the business in the code and doubles the development time needed.<br />
So keep advocating clean code! :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Kaiser</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-9966</link>
		<dc:creator>Robert Kaiser</dc:creator>
		<pubDate>Tue, 19 Mar 2013 20:31:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-9966</guid>
		<description><![CDATA[Just as a note, for me reason #1 for writing clean code is that I myself just might need to extend or fix something in this code long enough in the future that I won&#039;t remember how everything worked, and then I need to find my ways to do the right thing there. Fortunately, the effort to make things understandable for myself a few months/years down the road is pretty much exactly the same as making the same things understandable for complete strangers. :)]]></description>
		<content:encoded><![CDATA[<p>Just as a note, for me reason #1 for writing clean code is that I myself just might need to extend or fix something in this code long enough in the future that I won&#8217;t remember how everything worked, and then I need to find my ways to do the right thing there. Fortunately, the effort to make things understandable for myself a few months/years down the road is pretty much exactly the same as making the same things understandable for complete strangers. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bar</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-9955</link>
		<dc:creator>Bar</dc:creator>
		<pubDate>Tue, 19 Mar 2013 18:43:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-9955</guid>
		<description><![CDATA[@Brandon

&gt; @Marcin You are wrong. Here’s why: if code was just for solving a technical problem, then Brainfuck would be as useful as Python. 

Yeah because Brainfuck is such a great tool to solve problems.

This is the same as saying. You are wrong. Here&#039;s why: if an engine is for driving a machine, then my car engine would be as useful as an airplane engine to drive an airplane.]]></description>
		<content:encoded><![CDATA[<p>@Brandon</p>
<p>&gt; @Marcin You are wrong. Here’s why: if code was just for solving a technical problem, then Brainfuck would be as useful as Python. </p>
<p>Yeah because Brainfuck is such a great tool to solve problems.</p>
<p>This is the same as saying. You are wrong. Here&#8217;s why: if an engine is for driving a machine, then my car engine would be as useful as an airplane engine to drive an airplane.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-9949</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Tue, 19 Mar 2013 18:08:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-9949</guid>
		<description><![CDATA[@Foo, pride in this case is the sense of a job well done and a stake in the outcome. Pride that results in ego is not the same as pride of doing well.

@Marcin You are wrong. Here&#039;s why: if code was just for solving a technical problem, then Brainfuck would be as useful as Python. Since nobody uses Brainfuck in a legitimate way, semantics of a language must matter. As does how you write that language.

With regards to your assertion of my less-than-altrusitic motive, nobody does anything without a reason. I&#039;ve been working on this book for months. I want to share what I&#039;ve learned with the world. Sure, I&#039;ll make money doing it. But if I wanted to make tons of money I wouldn&#039;t have taken up writing.]]></description>
		<content:encoded><![CDATA[<p>@Foo, pride in this case is the sense of a job well done and a stake in the outcome. Pride that results in ego is not the same as pride of doing well.</p>
<p>@Marcin You are wrong. Here&#8217;s why: if code was just for solving a technical problem, then Brainfuck would be as useful as Python. Since nobody uses Brainfuck in a legitimate way, semantics of a language must matter. As does how you write that language.</p>
<p>With regards to your assertion of my less-than-altrusitic motive, nobody does anything without a reason. I&#8217;ve been working on this book for months. I want to share what I&#8217;ve learned with the world. Sure, I&#8217;ll make money doing it. But if I wanted to make tons of money I wouldn&#8217;t have taken up writing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcin</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-9900</link>
		<dc:creator>Marcin</dc:creator>
		<pubDate>Tue, 19 Mar 2013 12:43:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-9900</guid>
		<description><![CDATA[This article looks like it is only to generate traffic to get that book sold. Correct me if I&#039;m wrong but sentences such as &quot;Since our goal in writing code is to communicate ideas to other humans&quot; are completely of out the blue. Since when writing code is to communicate ideas to other people? 
Writing code is solving problems. Period.]]></description>
		<content:encoded><![CDATA[<p>This article looks like it is only to generate traffic to get that book sold. Correct me if I&#8217;m wrong but sentences such as &#8220;Since our goal in writing code is to communicate ideas to other humans&#8221; are completely of out the blue. Since when writing code is to communicate ideas to other people?<br />
Writing code is solving problems. Period.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Havvy</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-9898</link>
		<dc:creator>Havvy</dc:creator>
		<pubDate>Tue, 19 Mar 2013 12:38:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-9898</guid>
		<description><![CDATA[Use $database not $databaseObject...]]></description>
		<content:encoded><![CDATA[<p>Use $database not $databaseObject&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Foo</title>
		<link>http://www.brandonsavage.net/why-you-should-write-clean-code/#comment-9890</link>
		<dc:creator>Foo</dc:creator>
		<pubDate>Tue, 19 Mar 2013 11:22:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2309#comment-9890</guid>
		<description><![CDATA[I am not sure I agree with &quot;pride of authorship&quot;. Pride is a vice. Pride is about ego. Egoless programming is a virtue.]]></description>
		<content:encoded><![CDATA[<p>I am not sure I agree with &#8220;pride of authorship&#8221;. Pride is a vice. Pride is about ego. Egoless programming is a virtue.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced (User agent is rejected)
Object Caching 574/590 objects using apc
Content Delivery Network via Amazon Web Services: S3: brandonsavage-net-files.s3.amazonaws.com

 Served from: www.brandonsavage.net @ 2013-05-20 04:58:02 by W3 Total Cache -->