<?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: Thoughts about Rails from a Django guy</title>
	<atom:link href="http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/feed/" rel="self" type="application/rss+xml" />
	<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/</link>
	<description>My little notebook</description>
	<lastBuildDate>Fri, 20 Jan 2012 10:46:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Emerson Lackey</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-809</link>
		<dc:creator>Emerson Lackey</dc:creator>
		<pubDate>Mon, 02 Aug 2010 02:44:03 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-809</guid>
		<description>I&#039;ve installed and played around with Django once or twice, but I&#039;m definitely a Rails and CakePHP guy for the time being. Of the two, I definitely prefer Rails - if for nothing else than the beautiful Ruby syntax. After working with CakePHP (my day-job), I appreciate Rails a whole lot more.

But honestly, the thing I like most about Rails is the amazing community. In particular, http://railscasts.com/, which is (in my opinion) the corner stone of the Rails community. I think if Django or CakePHP had something like Railscasts I&#039;d be a lot happier to use them.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve installed and played around with Django once or twice, but I&#8217;m definitely a Rails and CakePHP guy for the time being. Of the two, I definitely prefer Rails &#8211; if for nothing else than the beautiful Ruby syntax. After working with CakePHP (my day-job), I appreciate Rails a whole lot more.</p>
<p>But honestly, the thing I like most about Rails is the amazing community. In particular, <a href="http://railscasts.com/" rel="nofollow">http://railscasts.com/</a>, which is (in my opinion) the corner stone of the Rails community. I think if Django or CakePHP had something like Railscasts I&#8217;d be a lot happier to use them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-801</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Thu, 29 Jul 2010 13:56:25 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-801</guid>
		<description>I use the annotate gem for this (http://github.com/nofxx/annotate). It adds the schema information as a comment block at the bottom of your models and unit tests, and can also add the output of `rake routes` to your routes.rb file if you like.</description>
		<content:encoded><![CDATA[<p>I use the annotate gem for this (<a href="http://github.com/nofxx/annotate" rel="nofollow">http://github.com/nofxx/annotate</a>). It adds the schema information as a comment block at the bottom of your models and unit tests, and can also add the output of `rake routes` to your routes.rb file if you like.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dj</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-799</link>
		<dc:creator>Dj</dc:creator>
		<pubDate>Wed, 28 Jul 2010 19:47:46 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-799</guid>
		<description>I tested ruby and djagno. Ruby is very strange language - i select python.</description>
		<content:encoded><![CDATA[<p>I tested ruby and djagno. Ruby is very strange language &#8211; i select python.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aron Pilhofer</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-795</link>
		<dc:creator>Aron Pilhofer</dc:creator>
		<pubDate>Tue, 27 Jul 2010 11:47:04 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-795</guid>
		<description>Great post! I&#039;m the exact opposite of you: Love Ruby, like Rails, appreciate things about Django, don&#039;t feel comfortable with Python at all.

I think you hit on some of the big differences, but one of the things I think most Django folks don&#039;t pick up on immediately is the &quot;pluggable&quot; nature of Rails.

There are a kazillion plugins and gems out there that can make Rails do what you want it to do.

* Don&#039;t like erb? Use liquid, which is basically an exact rewrite of the Django template language -- with all its fun and flaws.

* Don&#039;t like AR? Use Datamapper. You can hack it in now, but as of Rails 3 (which, frankly, we should start calling Djrails) you&#039;ll be able to swap in any ORM you want pretty much effortlessly.

And so on.

The one piece of this I have not seen is an admin like Django&#039;s. There are some out there, but nothing with that Wilson Minor touch, if you know what I mean.

The one project I&#039;ll steer you to is Formtastic, which is an absolutely brilliant DSL for making forms easier to do. It&#039;s really clever. You&#039;ll still end up building forms for your admin, but the productivity lost there is more than gained when you have to do the same for your public-facing pages -- which Django does nothing to help you along as far as I know.

On migrations, I would suggest spending a little more time with them. They are insanely useful. This is the Django admin for Rails: There are Django workalikes (sorta), but Rails migrations are one of the killer features I miss the most in Django.

Lastly, I think you missed the biggest Django advantage over Rails: pluggable applications, which is awesome. Rails 3 is supposed to have something like it, but to my mind this is the biggest killer feature of Django.

Nice post, and keep it up.</description>
		<content:encoded><![CDATA[<p>Great post! I&#8217;m the exact opposite of you: Love Ruby, like Rails, appreciate things about Django, don&#8217;t feel comfortable with Python at all.</p>
<p>I think you hit on some of the big differences, but one of the things I think most Django folks don&#8217;t pick up on immediately is the &#8220;pluggable&#8221; nature of Rails.</p>
<p>There are a kazillion plugins and gems out there that can make Rails do what you want it to do.</p>
<p>* Don&#8217;t like erb? Use liquid, which is basically an exact rewrite of the Django template language &#8212; with all its fun and flaws.</p>
<p>* Don&#8217;t like AR? Use Datamapper. You can hack it in now, but as of Rails 3 (which, frankly, we should start calling Djrails) you&#8217;ll be able to swap in any ORM you want pretty much effortlessly.</p>
<p>And so on.</p>
<p>The one piece of this I have not seen is an admin like Django&#8217;s. There are some out there, but nothing with that Wilson Minor touch, if you know what I mean.</p>
<p>The one project I&#8217;ll steer you to is Formtastic, which is an absolutely brilliant DSL for making forms easier to do. It&#8217;s really clever. You&#8217;ll still end up building forms for your admin, but the productivity lost there is more than gained when you have to do the same for your public-facing pages &#8212; which Django does nothing to help you along as far as I know.</p>
<p>On migrations, I would suggest spending a little more time with them. They are insanely useful. This is the Django admin for Rails: There are Django workalikes (sorta), but Rails migrations are one of the killer features I miss the most in Django.</p>
<p>Lastly, I think you missed the biggest Django advantage over Rails: pluggable applications, which is awesome. Rails 3 is supposed to have something like it, but to my mind this is the biggest killer feature of Django.</p>
<p>Nice post, and keep it up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: soberncrazy</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-794</link>
		<dc:creator>soberncrazy</dc:creator>
		<pubDate>Tue, 27 Jul 2010 03:42:11 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-794</guid>
		<description>Nice post -
I like Django too. I do not have a programming background and took on Django. After quiting in frustration (I installed it on a windows machine initially) more than once - I made a change and installed ubuntu. It was like the gates on heaven opened up. Now I can hold my own - however I can see I have a lot to learn.</description>
		<content:encoded><![CDATA[<p>Nice post -<br />
I like Django too. I do not have a programming background and took on Django. After quiting in frustration (I installed it on a windows machine initially) more than once &#8211; I made a change and installed ubuntu. It was like the gates on heaven opened up. Now I can hold my own &#8211; however I can see I have a lot to learn.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-793</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Mon, 26 Jul 2010 21:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-793</guid>
		<description>You don&#039;t need to go so far to find something great for simplifying web development. I looked at Rails too, but ended up investing my time in web2py, and am very happy I did. Django innovates more than rails, web2py innovates more than Django. Simple as that.</description>
		<content:encoded><![CDATA[<p>You don&#8217;t need to go so far to find something great for simplifying web development. I looked at Rails too, but ended up investing my time in web2py, and am very happy I did. Django innovates more than rails, web2py innovates more than Django. Simple as that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-791</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 26 Jul 2010 18:23:39 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-791</guid>
		<description>you&#039;re clever</description>
		<content:encoded><![CDATA[<p>you&#8217;re clever</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-790</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Mon, 26 Jul 2010 16:47:11 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-790</guid>
		<description>While not &quot;official&quot;, Django users that find they need a smooth way to handle db migrations should look at South: http://south.aeracode.org/</description>
		<content:encoded><![CDATA[<p>While not &#8220;official&#8221;, Django users that find they need a smooth way to handle db migrations should look at South: <a href="http://south.aeracode.org/" rel="nofollow">http://south.aeracode.org/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AkitaOnRails</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-789</link>
		<dc:creator>AkitaOnRails</dc:creator>
		<pubDate>Mon, 26 Jul 2010 16:11:40 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-789</guid>
		<description>I think this was a fair article. For just 2 weeks you understood the gist of it.

Yep, ActiveRecord is something that, if you come from another ORM, will bother at first. Then it will grow on you pretty fast. The problem is always the previous baseline comparison. The Migration part is actually much clever that it seems. You decouple the database maintenance from the model, and it shows. Being closer to SQL is also a good thing. I prefer not having too much magic on the mapping side and AR is pretty straightforward in this regard. As many already pointed out, you can easily use DataMapper or Sequel if you want (though most of the time I think they are not necessary). Then you have NoSQL databases nowadays, and you will drop AR for MongoMapper or MongoID or CouchRest anyways :-)

I don&#039;t really feel the need for an Admin in Rails. And it seems like the community feels the same because there were many attempts to make an Admin and none became really famous. So the conclusion is that the majority of use cases for Rails just don&#039;t need it.

I also don&#039;t think having Ruby directly in the templates is a bad thing in itself. It wasn&#039;t bad in PHP or JSP as well. The problem is always the bad developer that decides to put everything in it. When this happens I don&#039;t think that the tool has to be locked down, but the bad developer is the one who should leave. But, if you really need 100% Ruby free templates, you have great options such as Haml and Sass. You really should check them out (they even follow Python&#039;s indentation, so you should feel right at home :-)  

There really is a dependency annoyance in Ruby/Rails, which was greatly simplified with the use of Bundler. I strongly recommend you take a look at gembundler.com. Than the dependency problem will become virtually non-existant as well.

You also need to take a look at the rest of the Ecosystem. Rails, by itself, is just the foundation for the rest of the community. It grows exponentially in power when you start using what the community has provided. RSpec and Cucumber + Webrat or Capybara + Factory Girl or Machinist + Metric Fu are a very very strong testing foundation. Then you can hook it up to Hudson or Cruise very easily. To deploy to production I strongly recommend you try Heroku.com. But if you want to build your own machine from scratch, Phusion Passenger will make it trivial. 

Then you several gems/plugins such as Inherited Resources, Devise, Will Paginate, CarrierWare, Acts as Solr Reloaded, Thinking Sphinx, Formtastic, Twitter Stream, exception notifier, pdf-kit, admin_data, Resque or Delayed Job, CanCan, Acts as Taggable on Steroids, Whenever, AASM, etc. Check out http://ruby-toolbox.com for more goodies.

I hope you want to keep on with your pet project. Please try to explore those other projects and you will find out why Rails is so powerful as the foundation for this vast ecosystem.</description>
		<content:encoded><![CDATA[<p>I think this was a fair article. For just 2 weeks you understood the gist of it.</p>
<p>Yep, ActiveRecord is something that, if you come from another ORM, will bother at first. Then it will grow on you pretty fast. The problem is always the previous baseline comparison. The Migration part is actually much clever that it seems. You decouple the database maintenance from the model, and it shows. Being closer to SQL is also a good thing. I prefer not having too much magic on the mapping side and AR is pretty straightforward in this regard. As many already pointed out, you can easily use DataMapper or Sequel if you want (though most of the time I think they are not necessary). Then you have NoSQL databases nowadays, and you will drop AR for MongoMapper or MongoID or CouchRest anyways <img src='http://lenni.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I don&#8217;t really feel the need for an Admin in Rails. And it seems like the community feels the same because there were many attempts to make an Admin and none became really famous. So the conclusion is that the majority of use cases for Rails just don&#8217;t need it.</p>
<p>I also don&#8217;t think having Ruby directly in the templates is a bad thing in itself. It wasn&#8217;t bad in PHP or JSP as well. The problem is always the bad developer that decides to put everything in it. When this happens I don&#8217;t think that the tool has to be locked down, but the bad developer is the one who should leave. But, if you really need 100% Ruby free templates, you have great options such as Haml and Sass. You really should check them out (they even follow Python&#8217;s indentation, so you should feel right at home <img src='http://lenni.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   </p>
<p>There really is a dependency annoyance in Ruby/Rails, which was greatly simplified with the use of Bundler. I strongly recommend you take a look at gembundler.com. Than the dependency problem will become virtually non-existant as well.</p>
<p>You also need to take a look at the rest of the Ecosystem. Rails, by itself, is just the foundation for the rest of the community. It grows exponentially in power when you start using what the community has provided. RSpec and Cucumber + Webrat or Capybara + Factory Girl or Machinist + Metric Fu are a very very strong testing foundation. Then you can hook it up to Hudson or Cruise very easily. To deploy to production I strongly recommend you try Heroku.com. But if you want to build your own machine from scratch, Phusion Passenger will make it trivial. </p>
<p>Then you several gems/plugins such as Inherited Resources, Devise, Will Paginate, CarrierWare, Acts as Solr Reloaded, Thinking Sphinx, Formtastic, Twitter Stream, exception notifier, pdf-kit, admin_data, Resque or Delayed Job, CanCan, Acts as Taggable on Steroids, Whenever, AASM, etc. Check out <a href="http://ruby-toolbox.com" rel="nofollow">http://ruby-toolbox.com</a> for more goodies.</p>
<p>I hope you want to keep on with your pet project. Please try to explore those other projects and you will find out why Rails is so powerful as the foundation for this vast ecosystem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Fox</title>
		<link>http://lenni.info/blog/2010/07/thoughts-about-rails-from-a-django-guy/comment-page-1/#comment-788</link>
		<dc:creator>Kyle Fox</dc:creator>
		<pubDate>Mon, 26 Jul 2010 14:07:52 +0000</pubDate>
		<guid isPermaLink="false">http://lenni.info/blog/?p=310#comment-788</guid>
		<description>Migrations might seem inconvenient, but they are a useful layer of indirection.  It allows your database schema to evolve more easily than is possible by having your schema inferred from model code.  I use both Django and Rails extensively, and one of my biggest annoyances with Django is the lack of (official) schema migration tools.</description>
		<content:encoded><![CDATA[<p>Migrations might seem inconvenient, but they are a useful layer of indirection.  It allows your database schema to evolve more easily than is possible by having your schema inferred from model code.  I use both Django and Rails extensively, and one of my biggest annoyances with Django is the lack of (official) schema migration tools.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

