<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Zend Framework: The Cost of Flexibility is Complexity</title>
	<atom:link href="http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/</link>
	<description>Simple is better than complex. Complex is better than complicated. &#124; @fedecarg</description>
	<lastBuildDate>Mon, 06 Feb 2012 14:38:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Implementing your own Front Controller in Zend Framework &#171; fede.carg ( blog )</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2660</link>
		<dc:creator><![CDATA[Implementing your own Front Controller in Zend Framework &#171; fede.carg ( blog )]]></dc:creator>
		<pubDate>Sun, 05 Apr 2009 12:12:21 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2660</guid>
		<description><![CDATA[[...] Zend Framework: The Cost of Flexibility is Complexity [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Zend Framework: The Cost of Flexibility is Complexity [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Top Posts &#171; WordPress.com</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2408</link>
		<dc:creator><![CDATA[Top Posts &#171; WordPress.com]]></dc:creator>
		<pubDate>Wed, 25 Feb 2009 00:14:21 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2408</guid>
		<description><![CDATA[[...]  Zend Framework: The Cost of Flexibility is Complexity The Zend Framework is a very flexible system, in fact, it can be used to build practically anything. But, the problem [...] [...]]]></description>
		<content:encoded><![CDATA[<p>[...]  Zend Framework: The Cost of Flexibility is Complexity The Zend Framework is a very flexible system, in fact, it can be used to build practically anything. But, the problem [...] [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pcsourcenetwork.com</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2407</link>
		<dc:creator><![CDATA[pcsourcenetwork.com]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 22:05:15 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2407</guid>
		<description><![CDATA[[...] something else along the way - the simplicity that brought you in originally. Federico Cargnelutti takes a look at a tool that can do just that - the Zend Framework.   Don&#039;t assume that just because you&#039;re using an [...]]]></description>
		<content:encoded><![CDATA[<p>[...] something else along the way &#8211; the simplicity that brought you in originally. Federico Cargnelutti takes a look at a tool that can do just that &#8211; the Zend Framework.   Don&#8217;t assume that just because you&#8217;re using an [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2406</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 19:33:53 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2406</guid>
		<description><![CDATA[@Mark Kimsal

Software design decisions.]]></description>
		<content:encoded><![CDATA[<p>@Mark Kimsal</p>
<p>Software design decisions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phpprotip.com</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2405</link>
		<dc:creator><![CDATA[phpprotip.com]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 18:43:34 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2405</guid>
		<description><![CDATA[[...] somebody&#8217;s code. The shortcut is nice because of its flexibility but definitely a case where flexibility can increase complexity or rather, flexibility leading into complications that require complex understanding. I [...]]]></description>
		<content:encoded><![CDATA[<p>[...] somebody&#8217;s code. The shortcut is nice because of its flexibility but definitely a case where flexibility can increase complexity or rather, flexibility leading into complications that require complex understanding. I [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Kimsal</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2404</link>
		<dc:creator><![CDATA[Mark Kimsal]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 18:41:23 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2404</guid>
		<description><![CDATA[&quot;Like I said before, frameworks exist to help us solve complex issues, not to make decisions for us.&quot;

I would say just the opposite.  Frameworks exist to make default decisions for us and give order to disorder.  Libraries exist to help us solve complex issues (image processing, language processing, etc etc)

That&#039;s like saying, I want to build a house, but I don&#039;t want to use any blueprints because they force too many decisions on me.  The flexibility of a hammer and nails is all I need to build a house.  Well... that&#039;s the whole point of blueprints, to make sure you perform something to guidelines, safety tolerances, etc etc.]]></description>
		<content:encoded><![CDATA[<p>&#8220;Like I said before, frameworks exist to help us solve complex issues, not to make decisions for us.&#8221;</p>
<p>I would say just the opposite.  Frameworks exist to make default decisions for us and give order to disorder.  Libraries exist to help us solve complex issues (image processing, language processing, etc etc)</p>
<p>That&#8217;s like saying, I want to build a house, but I don&#8217;t want to use any blueprints because they force too many decisions on me.  The flexibility of a hammer and nails is all I need to build a house.  Well&#8230; that&#8217;s the whole point of blueprints, to make sure you perform something to guidelines, safety tolerances, etc etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tarique Sani</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2401</link>
		<dc:creator><![CDATA[Tarique Sani]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 11:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2401</guid>
		<description><![CDATA[@Wil Using an opinionated framework is purely a business decision for me rather than a technical one.  At the EOD I have/had a greater iteration of programmers hopping jobs than my framework of choice going away, add to it the problems of every rockstar wanting to perform / code his own way....

That said I have been following ZF since very very early days and it has now come to a point where I may really use it in a commercial project ;-)]]></description>
		<content:encoded><![CDATA[<p>@Wil Using an opinionated framework is purely a business decision for me rather than a technical one.  At the EOD I have/had a greater iteration of programmers hopping jobs than my framework of choice going away, add to it the problems of every rockstar wanting to perform / code his own way&#8230;.</p>
<p>That said I have been following ZF since very very early days and it has now come to a point where I may really use it in a commercial project ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2400</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 10:59:34 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2400</guid>
		<description><![CDATA[(added a conclusion to the post)]]></description>
		<content:encoded><![CDATA[<p>(added a conclusion to the post)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2399</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 10:47:37 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2399</guid>
		<description><![CDATA[&gt; It is inevitable that one must rely on human intelligence and judgment for good, maintainable design

Yes, that&#039;s the point I was trying to make. I see flexibility as an advantage. The combination of flexibility and smart design can reduce the maintenance burden. It&#039;s up to us, the developers, to change our thinking when using a flexible framework. Like I said before, frameworks exist to help us solve complex issues, not to make decisions for us.]]></description>
		<content:encoded><![CDATA[<p>&gt; It is inevitable that one must rely on human intelligence and judgment for good, maintainable design</p>
<p>Yes, that&#8217;s the point I was trying to make. I see flexibility as an advantage. The combination of flexibility and smart design can reduce the maintenance burden. It&#8217;s up to us, the developers, to change our thinking when using a flexible framework. Like I said before, frameworks exist to help us solve complex issues, not to make decisions for us.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wil Sinclair</title>
		<link>http://blog.fedecarg.com/2009/02/22/zend-framework-the-cost-of-flexibility-is-complexity/#comment-2398</link>
		<dc:creator><![CDATA[Wil Sinclair]]></dc:creator>
		<pubDate>Tue, 24 Feb 2009 08:54:59 +0000</pubDate>
		<guid isPermaLink="false">http://phpimpact.wordpress.com/?p=1277#comment-2398</guid>
		<description><![CDATA[@Les Please define the word &#039;bloat&#039; as you use it here. I&#039;d really like to know why people feel this is the case. Oftentimes it&#039;s because of the package size, for which I&#039;ve never seen a significant impact on application development in the context of use-at-will architectures. Do you mean something else?

@mgkimsal There are situations in which having flexibility you don&#039;t immediate need is important. As a decision maker on a project- a role I happen to have taken on many times- you are often very interested in the &#039;worst case scenarios&#039;. IE, what if this requirement came up that doesn&#039;t jive with our conventions, or what happens if my requirements outgrow my framework? The additional flexibility is very important for risk management in this case. These considerations shouldn&#039;t outweigh day-to-day development, however, and with the right software I believe you can have the best of both worlds.

@Tarique Sani I&#039;m down with opinionated software, but much less so with opinionated frameworks. For example, who cares whether the authors of Rails (not to pick on them- this is just the best example I know of) think REST is better than SOAP when you&#039;ve got to integrate your app with a web service that is based on SOAP by EOD today? The fact is both are out there in the wild, and I find it hard to see how a framework can express an &#039;opinion&#039; like this without significantly limiting the applications that are built on it. In the ZF project, we&#039;d rather leave the opinions up to the developer and provide suggestions based on our own experience. These typically manifest as sensible defaults.

@Federico At the most basic level, I simply don&#039;t see complexity and flexibility as a trade off (to put your thesis in completely over-simplified terms ;) ). I would describe this as a &#039;false tradeoff&#039; that is widely assumed but can easily be dispelled with the right counterexample. On the ZF project, we&#039;re trying to provide a counterexample to many such false tradeoffs; whether we&#039;ve done this effectively or not is a different matter. Ultimately, you could have made the same argument using practically any technology. That is to say, it isn&#039;t that hard to obfuscate any design. I can easily show you how to do it in a Rails, Django, etc. application out there. Start by replacing all newlines with spaces in your app. ;) It is inevitable that one must rely on human intelligence and judgment for good, maintainable design, otherwise we&#039;d all be out of jobs while our computers programmed themselves.
For ZF, the core team endeavors to provide some of that judgment while not enforcing it. Again, that&#039;s just our goal; how we deliver on that is up to the community to decide.

,Wil]]></description>
		<content:encoded><![CDATA[<p>@Les Please define the word &#8216;bloat&#8217; as you use it here. I&#8217;d really like to know why people feel this is the case. Oftentimes it&#8217;s because of the package size, for which I&#8217;ve never seen a significant impact on application development in the context of use-at-will architectures. Do you mean something else?</p>
<p>@mgkimsal There are situations in which having flexibility you don&#8217;t immediate need is important. As a decision maker on a project- a role I happen to have taken on many times- you are often very interested in the &#8216;worst case scenarios&#8217;. IE, what if this requirement came up that doesn&#8217;t jive with our conventions, or what happens if my requirements outgrow my framework? The additional flexibility is very important for risk management in this case. These considerations shouldn&#8217;t outweigh day-to-day development, however, and with the right software I believe you can have the best of both worlds.</p>
<p>@Tarique Sani I&#8217;m down with opinionated software, but much less so with opinionated frameworks. For example, who cares whether the authors of Rails (not to pick on them- this is just the best example I know of) think REST is better than SOAP when you&#8217;ve got to integrate your app with a web service that is based on SOAP by EOD today? The fact is both are out there in the wild, and I find it hard to see how a framework can express an &#8216;opinion&#8217; like this without significantly limiting the applications that are built on it. In the ZF project, we&#8217;d rather leave the opinions up to the developer and provide suggestions based on our own experience. These typically manifest as sensible defaults.</p>
<p>@Federico At the most basic level, I simply don&#8217;t see complexity and flexibility as a trade off (to put your thesis in completely over-simplified terms ;) ). I would describe this as a &#8216;false tradeoff&#8217; that is widely assumed but can easily be dispelled with the right counterexample. On the ZF project, we&#8217;re trying to provide a counterexample to many such false tradeoffs; whether we&#8217;ve done this effectively or not is a different matter. Ultimately, you could have made the same argument using practically any technology. That is to say, it isn&#8217;t that hard to obfuscate any design. I can easily show you how to do it in a Rails, Django, etc. application out there. Start by replacing all newlines with spaces in your app. ;) It is inevitable that one must rely on human intelligence and judgment for good, maintainable design, otherwise we&#8217;d all be out of jobs while our computers programmed themselves.<br />
For ZF, the core team endeavors to provide some of that judgment while not enforcing it. Again, that&#8217;s just our goal; how we deliver on that is up to the community to decide.</p>
<p>,Wil</p>
]]></content:encoded>
	</item>
</channel>
</rss>

