<?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: Switching From Rails to Django: Why?</title>
	<atom:link href="http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/</link>
	<description>The Tao of Ruby, Python, and....Straw Dogs?</description>
	<lastBuildDate>Wed, 11 Jan 2012 07:10:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: semperos</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2727</link>
		<dc:creator>semperos</dc:creator>
		<pubDate>Wed, 10 Nov 2010 03:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2727</guid>
		<description>Wow, I really just can&#039;t resist commenting, after such an epic discussion. We even managed a Windows/OSX/Linux battle :) Been an Ubuntu user for years, myself.

See my blog (click on my name &#039;semperos&#039; above) for my response to this; look for an entry like Rails vs. Django...

I started writing my comment here, but it turned out to be a bit too long and substantive to stick in a comment.</description>
		<content:encoded><![CDATA[<p>Wow, I really just can&#8217;t resist commenting, after such an epic discussion. We even managed a Windows/OSX/Linux battle <img src='http://www.straw-dogs.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Been an Ubuntu user for years, myself.</p>
<p>See my blog (click on my name &#8216;semperos&#8217; above) for my response to this; look for an entry like Rails vs. Django&#8230;</p>
<p>I started writing my comment here, but it turned out to be a bit too long and substantive to stick in a comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Qefx</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2392</link>
		<dc:creator>Qefx</dc:creator>
		<pubDate>Mon, 09 Aug 2010 19:04:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2392</guid>
		<description>Ha, old post but still valid :)

I switched from PHP to Rail to PHP and now i am at Django, ITS JUST AWESOME. I should had make the switch much much much much earlier :)</description>
		<content:encoded><![CDATA[<p>Ha, old post but still valid <img src='http://www.straw-dogs.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I switched from PHP to Rail to PHP and now i am at Django, ITS JUST AWESOME. I should had make the switch much much much much earlier <img src='http://www.straw-dogs.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jules Manson</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2325</link>
		<dc:creator>Jules Manson</dc:creator>
		<pubDate>Fri, 09 Jul 2010 13:08:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2325</guid>
		<description>Oh man! I needed a good laff this mourning. I love egotistical, unhumble, in-your-face, fuck-you and fuck-the-world because you are you and you are not me and you are not as smart as me, blatantly arrogant, opinionated blogs.

As a mechanical engineer who is a self trained PHP/MySQL/AJAX developer in training, who knows nothing past design patterns about computer science, I admit I am very ignorant.

I have no guidance therefore I rely on opinions such as yours. And, I do read books from Sitepoint and Addeson Wesley for guidance as well. I hope that I am not making a big mistake by learning PHP. I suspect that PHP is the foundation for learning web application design.

By the way your writing reminds me of this guy&#039;s site retortnation.com. If you are not familiar with it please take a look at it. He too will leave you laffing out of your chair.

Keep up the good work. And, I&#039;ll be coming back to this site for some more good arrogant, self-prophesizing (is that a word?) webdev blogging and advice.

Sincerely,

Jules</description>
		<content:encoded><![CDATA[<p>Oh man! I needed a good laff this mourning. I love egotistical, unhumble, in-your-face, fuck-you and fuck-the-world because you are you and you are not me and you are not as smart as me, blatantly arrogant, opinionated blogs.</p>
<p>As a mechanical engineer who is a self trained PHP/MySQL/AJAX developer in training, who knows nothing past design patterns about computer science, I admit I am very ignorant.</p>
<p>I have no guidance therefore I rely on opinions such as yours. And, I do read books from Sitepoint and Addeson Wesley for guidance as well. I hope that I am not making a big mistake by learning PHP. I suspect that PHP is the foundation for learning web application design.</p>
<p>By the way your writing reminds me of this guy&#8217;s site retortnation.com. If you are not familiar with it please take a look at it. He too will leave you laffing out of your chair.</p>
<p>Keep up the good work. And, I&#8217;ll be coming back to this site for some more good arrogant, self-prophesizing (is that a word?) webdev blogging and advice.</p>
<p>Sincerely,</p>
<p>Jules</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2235</link>
		<dc:creator>Brandon</dc:creator>
		<pubDate>Thu, 06 May 2010 14:00:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2235</guid>
		<description>Interesting points. My preference is to be more explicit with what I need the app to do. I don&#039;t mind calling:

if request.method == &#039;POST&#039;:

to check for a POST, GET or XHR request. Form handing in Django is blissful compared to Rails from my perspective. I won&#039;t comment on .NET - having been a .NET developer for a number of years before I found Rails, I can say, with complete confidence that .NET is utter tripe and .NET MVC is a word-for-word rip-off of Rails.

Python has Google App Engine if you need to build something extremely scalable. Django + Nginx + Tornado = some really effing fast apps.

All my opinions aside, I think both frameworks have very good ideas, but frameworks inherently have limitations, performance trade offs and you&#039;re at the mercy of someone else&#039;s code. I&#039;m all for using the right tool for the right job. Even though I&#039;m a staunch Djangonaut and Pythonista, I&#039;ve deployed a WordPress site or two as well.

Happy coding!</description>
		<content:encoded><![CDATA[<p>Interesting points. My preference is to be more explicit with what I need the app to do. I don&#8217;t mind calling:</p>
<p>if request.method == &#8216;POST&#8217;:</p>
<p>to check for a POST, GET or XHR request. Form handing in Django is blissful compared to Rails from my perspective. I won&#8217;t comment on .NET &#8211; having been a .NET developer for a number of years before I found Rails, I can say, with complete confidence that .NET is utter tripe and .NET MVC is a word-for-word rip-off of Rails.</p>
<p>Python has Google App Engine if you need to build something extremely scalable. Django + Nginx + Tornado = some really effing fast apps.</p>
<p>All my opinions aside, I think both frameworks have very good ideas, but frameworks inherently have limitations, performance trade offs and you&#8217;re at the mercy of someone else&#8217;s code. I&#8217;m all for using the right tool for the right job. Even though I&#8217;m a staunch Djangonaut and Pythonista, I&#8217;ve deployed a WordPress site or two as well.</p>
<p>Happy coding!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wayne</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2233</link>
		<dc:creator>Wayne</dc:creator>
		<pubDate>Thu, 06 May 2010 12:30:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2233</guid>
		<description>It&#039;s not so much that rails is &quot;crap&quot; as it&#039;s very intuitive and a hassle-free way of doing those basic CRUD sites.  My problem is that whenever I want to do something that&#039;s not quite your basic &quot;user hits a link, sees a form, fills out form, hits submit, gets taken to the page&quot; stuff, Rails seems to fight against me tooth and nail because I&#039;m never exactly quite sure how I need to tell Rails to do what I want.

When I played with Django (v1.1 I think so not sure if it&#039;s changed since then) it was similar, but it felt like I was more in control.  I had to say explicitly to get these items from the database, do these things with it, and display it to the user.

Rails looks much cleaner and more natural; this I will admit.  It&#039;s ugly how Django handled form actions, for example (having to do an if request.POST to check if a form was a Post request?  Yuck).  I didn&#039;t like having all my model data in one class (I suppose there&#039;s a way to make that more like Rails and make the model class a bootstrap class, but I only played with Django a couple of days).  But nothing excuses the &quot;Let&#039;s hide everything under cute English-like abstractions&quot;.  I really don&#039;t see how it&#039;s any better than the .NET guys who make applications using the drag-and-drop data wizards.  When it goes wrong you&#039;re left wondering &quot;Hmm... where did it go wrong?  And why?&quot; because there are too many abstractions.  Now, maybe they&#039;re fixing that in Rails 3.  I&#039;m not sure.

Finally, I think Ruby is just a little bit nicer than Python but at the cost of the community wanting to make it too abstract and too much like the 4GL of legend (where you can write English and it gets magically turned into code).

To be honest the biggest reason I still plan to use Rails has nothing to do with Rails itself.  It&#039;s because of Heroku, the Rails cloud platform.  It&#039;s so easy to deploy and scale it&#039;s ridiculous.  But, more important for me, they have a FREE 5mb hosting plan, with no catch.  I can use my own domain name.  There are no ads or anything.  It&#039;s totally free.  I&#039;ve looked far and wide for something like that for Python, or hell .NET or PHP (where I live, it&#039;s all .NET and PHP.  No business uses Python or Ruby, Django or Rails) and the only ones that offer free are your legacy cheap hosting providers who make you use a subdomain and litter it with ugly banners, or make it so you can&#039;t do anything but FTP.  Heroku gives you full control.  If I could find something similar, I&#039;d leave Rails forever and never look back.

IMO the problem isn&#039;t Rails itself though, it&#039;s the lazy programmers who LIKE being able to do 10 things with one line of code, at the cost of having no idea what each of those 10 things are doing.  Yes, abstractions are good.  But we&#039;ve all heard of Leaky Abstractions, yes?  Rails is the leakiest abstraction I&#039;ve ever seen.  Does that make it bad?  Not always.  But IMO it&#039;s more the Rails hype machine than it actually being great.  It&#039;s a good framework, but it&#039;s just a tool.  PHP has good frameworks.  Python has good frameworks.  .NET has... well, it has ASP.NET MVC.  Java has good frameworks... you get the idea.  As I said before, Rails hides too much from the programmer, and calls this a good thing.  Rails makes it look like you can do websites easy, and you can as long as ALL you need to do is read/write one, maybe two, entities to a database.  If you need to do anything other than basic database access, Rails is a bear to use because of it&#039;s conventions, and how it handles things internally.  And that is where it sucks for real world business applications that tend to have a lot of logic and workflows.  Very few Rails apps have anything like that, it&#039;s just you grab a record, modify it, and save it.  Nothing happens except for the DB stuff.  There is no complex workflow to check the budget, for example, and if it&#039;s over a certain amount it needs to be approved.  Trying to do something like that in Rails is not as easy as the Rails hype makes it sound.</description>
		<content:encoded><![CDATA[<p>It&#8217;s not so much that rails is &#8220;crap&#8221; as it&#8217;s very intuitive and a hassle-free way of doing those basic CRUD sites.  My problem is that whenever I want to do something that&#8217;s not quite your basic &#8220;user hits a link, sees a form, fills out form, hits submit, gets taken to the page&#8221; stuff, Rails seems to fight against me tooth and nail because I&#8217;m never exactly quite sure how I need to tell Rails to do what I want.</p>
<p>When I played with Django (v1.1 I think so not sure if it&#8217;s changed since then) it was similar, but it felt like I was more in control.  I had to say explicitly to get these items from the database, do these things with it, and display it to the user.</p>
<p>Rails looks much cleaner and more natural; this I will admit.  It&#8217;s ugly how Django handled form actions, for example (having to do an if request.POST to check if a form was a Post request?  Yuck).  I didn&#8217;t like having all my model data in one class (I suppose there&#8217;s a way to make that more like Rails and make the model class a bootstrap class, but I only played with Django a couple of days).  But nothing excuses the &#8220;Let&#8217;s hide everything under cute English-like abstractions&#8221;.  I really don&#8217;t see how it&#8217;s any better than the .NET guys who make applications using the drag-and-drop data wizards.  When it goes wrong you&#8217;re left wondering &#8220;Hmm&#8230; where did it go wrong?  And why?&#8221; because there are too many abstractions.  Now, maybe they&#8217;re fixing that in Rails 3.  I&#8217;m not sure.</p>
<p>Finally, I think Ruby is just a little bit nicer than Python but at the cost of the community wanting to make it too abstract and too much like the 4GL of legend (where you can write English and it gets magically turned into code).</p>
<p>To be honest the biggest reason I still plan to use Rails has nothing to do with Rails itself.  It&#8217;s because of Heroku, the Rails cloud platform.  It&#8217;s so easy to deploy and scale it&#8217;s ridiculous.  But, more important for me, they have a FREE 5mb hosting plan, with no catch.  I can use my own domain name.  There are no ads or anything.  It&#8217;s totally free.  I&#8217;ve looked far and wide for something like that for Python, or hell .NET or PHP (where I live, it&#8217;s all .NET and PHP.  No business uses Python or Ruby, Django or Rails) and the only ones that offer free are your legacy cheap hosting providers who make you use a subdomain and litter it with ugly banners, or make it so you can&#8217;t do anything but FTP.  Heroku gives you full control.  If I could find something similar, I&#8217;d leave Rails forever and never look back.</p>
<p>IMO the problem isn&#8217;t Rails itself though, it&#8217;s the lazy programmers who LIKE being able to do 10 things with one line of code, at the cost of having no idea what each of those 10 things are doing.  Yes, abstractions are good.  But we&#8217;ve all heard of Leaky Abstractions, yes?  Rails is the leakiest abstraction I&#8217;ve ever seen.  Does that make it bad?  Not always.  But IMO it&#8217;s more the Rails hype machine than it actually being great.  It&#8217;s a good framework, but it&#8217;s just a tool.  PHP has good frameworks.  Python has good frameworks.  .NET has&#8230; well, it has ASP.NET MVC.  Java has good frameworks&#8230; you get the idea.  As I said before, Rails hides too much from the programmer, and calls this a good thing.  Rails makes it look like you can do websites easy, and you can as long as ALL you need to do is read/write one, maybe two, entities to a database.  If you need to do anything other than basic database access, Rails is a bear to use because of it&#8217;s conventions, and how it handles things internally.  And that is where it sucks for real world business applications that tend to have a lot of logic and workflows.  Very few Rails apps have anything like that, it&#8217;s just you grab a record, modify it, and save it.  Nothing happens except for the DB stuff.  There is no complex workflow to check the budget, for example, and if it&#8217;s over a certain amount it needs to be approved.  Trying to do something like that in Rails is not as easy as the Rails hype makes it sound.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2232</link>
		<dc:creator>Brandon</dc:creator>
		<pubDate>Thu, 06 May 2010 01:44:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2232</guid>
		<description>@Wayne

I disagree that there aren&#039;t any plugins for Django. There is: http://djangosnippets.org/ and hundreds of other Django projects like tagging, reversion, blogging, etc that can all make things trivially easy.

Other than that, your assessment of Rails closely matches mine: it&#039;s crap :)

Cheers</description>
		<content:encoded><![CDATA[<p>@Wayne</p>
<p>I disagree that there aren&#8217;t any plugins for Django. There is: <a href="http://djangosnippets.org/" rel="nofollow">http://djangosnippets.org/</a> and hundreds of other Django projects like tagging, reversion, blogging, etc that can all make things trivially easy.</p>
<p>Other than that, your assessment of Rails closely matches mine: it&#8217;s crap <img src='http://www.straw-dogs.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reggie Hero</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2231</link>
		<dc:creator>Reggie Hero</dc:creator>
		<pubDate>Thu, 06 May 2010 01:11:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2231</guid>
		<description>&quot;geek with a peanut dick&quot;

Best line ever!  I can&#039;t tell you how much I hate rails and thanks for bringing some common sense and good arguments to the table.</description>
		<content:encoded><![CDATA[<p>&#8220;geek with a peanut dick&#8221;</p>
<p>Best line ever!  I can&#8217;t tell you how much I hate rails and thanks for bringing some common sense and good arguments to the table.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wayne</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2156</link>
		<dc:creator>Wayne</dc:creator>
		<pubDate>Thu, 01 Apr 2010 04:39:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2156</guid>
		<description>I have dabbled in Django. I&#039;ve used Rails for a real world project. What I&#039;ve found is that Rails is great for quick, basic sites. Your typical CRUD bullshit like todo lists or contact managers. But after that if you want anything complex rails falls down. The only good reason for using rails is the community and slew of plugins that others have done. Chances are if I need feature X there&#039;s a plugin for rails that makes it trivially simple to do. There&#039;s no such thing out there for Django.

Aside from that rails is a toy. It hides nearly everything from you so if something goes wrong you are left scratching your head. That problem doesn&#039;t exist in django where you explicitly say what you want without many &quot;magic&quot; abstractions.</description>
		<content:encoded><![CDATA[<p>I have dabbled in Django. I&#8217;ve used Rails for a real world project. What I&#8217;ve found is that Rails is great for quick, basic sites. Your typical CRUD bullshit like todo lists or contact managers. But after that if you want anything complex rails falls down. The only good reason for using rails is the community and slew of plugins that others have done. Chances are if I need feature X there&#8217;s a plugin for rails that makes it trivially simple to do. There&#8217;s no such thing out there for Django.</p>
<p>Aside from that rails is a toy. It hides nearly everything from you so if something goes wrong you are left scratching your head. That problem doesn&#8217;t exist in django where you explicitly say what you want without many &#8220;magic&#8221; abstractions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-2102</link>
		<dc:creator>Brandon</dc:creator>
		<pubDate>Thu, 11 Feb 2010 21:01:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-2102</guid>
		<description>@EnlightenedOne

Obviously not too enlightened. Django is crap? You must be a masochist. Rails has so many bad design decisions in it, I&#039;m surprised anyone would use it for anything.

Try making a model called &quot;resource&quot; for starters. Convention over configuration is fine, for something simple. routes.rb is monolithic. Ruby embedded in HTML is the kiss of death. Scaffolding is pure trash. Shall I go on?</description>
		<content:encoded><![CDATA[<p>@EnlightenedOne</p>
<p>Obviously not too enlightened. Django is crap? You must be a masochist. Rails has so many bad design decisions in it, I&#8217;m surprised anyone would use it for anything.</p>
<p>Try making a model called &#8220;resource&#8221; for starters. Convention over configuration is fine, for something simple. routes.rb is monolithic. Ruby embedded in HTML is the kiss of death. Scaffolding is pure trash. Shall I go on?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan</title>
		<link>http://www.straw-dogs.co.uk/11/15/switching-from-rails-to-django-why/comment-page-1/#comment-1212</link>
		<dc:creator>Nathan</dc:creator>
		<pubDate>Wed, 15 Jul 2009 02:08:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.straw-dogs.co.uk/?p=310#comment-1212</guid>
		<description>I agree with you - completely. I&#039;m forced to work with Rails because my boss is a fanboy, and I feel like going on a murderous rampage every single day that I have to work in Ruby on Rails. Some of it is the language itself.

From my experience where I work, the Ruby fans love it because they&#039;re R&amp;D guys, who just produce new sites, and never have to maintain or upgrade anything. They just palm that off to others. And that&#039;s where RoR takes a massive shit on itself.</description>
		<content:encoded><![CDATA[<p>I agree with you &#8211; completely. I&#8217;m forced to work with Rails because my boss is a fanboy, and I feel like going on a murderous rampage every single day that I have to work in Ruby on Rails. Some of it is the language itself.</p>
<p>From my experience where I work, the Ruby fans love it because they&#8217;re R&amp;D guys, who just produce new sites, and never have to maintain or upgrade anything. They just palm that off to others. And that&#8217;s where RoR takes a massive shit on itself.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

