<?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: Coupling Django Style</title>
	<atom:link href="http://compoundthinking.com/blog/index.php/2009/11/28/coupling-django-style/feed/" rel="self" type="application/rss+xml" />
	<link>http://compoundthinking.com/blog/index.php/2009/11/28/coupling-django-style/</link>
	<description>Thinking about programming in new ways</description>
	<lastBuildDate>Tue, 15 Mar 2011 02:30:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Nick Fitzgerald</title>
		<link>http://compoundthinking.com/blog/index.php/2009/11/28/coupling-django-style/#comment-323207</link>
		<dc:creator>Nick Fitzgerald</dc:creator>
		<pubDate>Wed, 23 Dec 2009 01:06:30 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=349#comment-323207</guid>
		<description>If you want truly loose coupling and replaceable components, don&#039;t use Django. Use Werkzeug or something. You are completely right that there are costs and benefits on both sides.

However, I think something is missing from the discussion: You don&#039;t have to go all or nothing with any of the components you choose to use.

We use SQLAlchemy, Django&#039;s ORM, and an in house CouchDB library at WWU Housing. We can still use django pluggable applications, we have the power of SQLAlchemy for mapping objects to the atrocious tables in Banner, and we have the flexibility of a schema free document database with CouchDB. Why should we limit ourselves to one?

Its ridiculous; use the tool for the job.</description>
		<content:encoded><![CDATA[<p>If you want truly loose coupling and replaceable components, don&#8217;t use Django. Use Werkzeug or something. You are completely right that there are costs and benefits on both sides.</p>
<p>However, I think something is missing from the discussion: You don&#8217;t have to go all or nothing with any of the components you choose to use.</p>
<p>We use SQLAlchemy, Django&#8217;s ORM, and an in house CouchDB library at WWU Housing. We can still use django pluggable applications, we have the power of SQLAlchemy for mapping objects to the atrocious tables in Banner, and we have the flexibility of a schema free document database with CouchDB. Why should we limit ourselves to one?</p>
<p>Its ridiculous; use the tool for the job.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Will Larson</title>
		<link>http://compoundthinking.com/blog/index.php/2009/11/28/coupling-django-style/#comment-323109</link>
		<dc:creator>Will Larson</dc:creator>
		<pubDate>Sat, 28 Nov 2009 18:58:09 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=349#comment-323109</guid>
		<description>Hi Mark,

Nice write up, although I cringed reading my first sentence you quoted, remembering what my writing looks like when I lack the foresight to edit.

Coupling/integration can be difficult to discuss, as it hinges pretty heavily on definition. Identically to your example about turbogears 2 plugins relying on SQLAlchemy, the vast majority of Django applications rely on the Django ORM. It is trivial to use Django without the Django ORM, if and only if you&#039;re willing to sacrifice using those Django applications.

I&#039;ve done projects with Django and CouchDB, where the ORM is entirely unused. For these projects I wasn&#039;t able to use some apps (unless I wanted to run both CouchDB and postgres), but the Django core didn&#039;t raise any complaints.

More concisely, I&#039;d suggest that the core is loosely coupled, but the application ecosystem is tightly coupled. But now I&#039;m starting to draw a possibly artificial distinction between the core and the ecosystem.</description>
		<content:encoded><![CDATA[<p>Hi Mark,</p>
<p>Nice write up, although I cringed reading my first sentence you quoted, remembering what my writing looks like when I lack the foresight to edit.</p>
<p>Coupling/integration can be difficult to discuss, as it hinges pretty heavily on definition. Identically to your example about turbogears 2 plugins relying on SQLAlchemy, the vast majority of Django applications rely on the Django ORM. It is trivial to use Django without the Django ORM, if and only if you&#8217;re willing to sacrifice using those Django applications.</p>
<p>I&#8217;ve done projects with Django and CouchDB, where the ORM is entirely unused. For these projects I wasn&#8217;t able to use some apps (unless I wanted to run both CouchDB and postgres), but the Django core didn&#8217;t raise any complaints.</p>
<p>More concisely, I&#8217;d suggest that the core is loosely coupled, but the application ecosystem is tightly coupled. But now I&#8217;m starting to draw a possibly artificial distinction between the core and the ecosystem.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

