Django or Rails?

Today I got into a conversation on Twitter about Rails versus Django.  I know that I have blogged about this before but I thought that I should maybe clarify my reasons for preferring one over the other.

Before I start, I must confess that I did not use Django that much and it was also in my beginning stages of web development so bear that in mind as you read this.

I came from Python where I first learned it for geoprocessing to use with ArcGIS.  Now using Python (which is installed with ArcGIS) for geoprocessing inside of ArcGIS is easier than natively.  For example, there is a UI for forms to define what fields or data types to use.  Python for geoprocessing is very well documented and is very easy to use.

I soon found out that I was very limited are far as functionality goes using Python “inside” of ArcGIS.  I looked at options for creating desktop GUI‘s and found that wxPython was the easiest for me to use to accomplish what I wanted to do.  I have several posts regarding this stuff in my archives so I will not repeat myself.

On to web development…

At my old “job” we had an app written in Ruby on Rails and that was my starting transition to web applications.  I started by creating Python interfaces for desktop applications to interact with our RoR web application and then started to assist on the web application itself.  This piqued my interest.  I had taught myself Python so why not learn Django?

I other posts I have commented that the best place to find help learning a new programming language is to go to user groups.  In Arizona there was not a Python/Django user group.  I found via Twitter a couple of local guys that were Django developers and met with them at coffee shops to try to learn from them and I greatly appreciated their assistance.

It was the learning at home, alone, that was not successful.  I found that there was not a lot of training “materials” online for Django.  Do not get me wrong, there is a lot of stuff on the web to help with learning Django but a lot of it is just as confusing as Django is.  I even went as far as trying to start-up/re-incarnate a local Python group which was not very successful.

Enter Ruby user group…

I found out that there was a local Ruby group and a local Rails group.  I went to my first Ruby::AZ meeting.  I was at a transitional stage where the separation between the Ruby group and the Rails group was diminishing and morphed into what it is today; Ruby and all things Ruby.

I found the support group I was looking for.  There were so many Rubyists that were happy to point me in the right direction and to help me when I needed it.  The resources for learning RoR are phenomenal.  My still all time favorite and a major reference guide for me is Railscasts.com.

I then met @m3talsmith with RebelHold and he took me on as an apprentice.  The rest is history.  I now have my own company Rebel Outpost which is a member of the RebelHold family.

Django or Rails?

 In all fairness, I prefer Rails as I was able to learn it.  That does not mean that Python or Django are bad languages at all.  I also cannot say that Rails is better than Django but I do love Rails.

Ruby is so clean and elegant to read and write but lacks the whitespace-ness (is that a word?) that Python has.

So I hope that clarifies my love for Rails over Django………

4 comments on “Django or Rails?

  1. Cool! I agree with you on the python webdev community. It seems very sparse (and confusing). I looked at a bunch of frameworks, finally set Django up because it seemed to be the least confusing, but never got anywhere past that since it didn’t seem like a fit for what I was trying to do. I actually still haven’t made the project that initially got me looking seriously into web development a year or so ago.

    I started learning Ruby (and Rails) just a couple weeks ago, the convention over configuration can be a bit confusing at first, but once a lot of the scary new terms become defined everything links up pretty beautifully.

    Anyway, to close: The documentation/community behind a project is what makes it go bewm!

  2. you guys and your legacy languages…

    Node.js, bros 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: