Live data from Hacker News

ASKHN: Django OR Rails

news.ycombinator.com

1–10 of 15 posts

ASKHN: Django OR Rails

#1
Its not the another language debate, its a decision making discussion.

I am a ASP.NET developer, but want to learn other frameworks/language (open source). I don't know from where i should start and why? Django and Rails both seems promising, but i am confused which one i should choose to start, or i should choose some other framework. I know learning the language (python or ruby) is must before start Django or Rails.

Please advise.

Re: ASKHN: Django OR Rails

#2
Both are very good options. Sooner or later I'd recommend looking at both of them. Preferably sooner, although you might just skip over most of it. Read their relevant "Getting started" tutorials (and/or screencasts), and just follow your hunch about language and its use.

There are other interesting systems, but I think looking at the two "big dogs" of the open source framework world is always a good start. Let's leave Nitrogen, Compojure and Hunchentoot for later…

Re: ASKHN: Django OR Rails

#3
I've been starting with Sinatra instead of Rails, but the documentation is sparser, and I'm hitting unnecessary walls (is there a Sinatra-simple way to upload a file sans database?) without finding resources/people who can help.

Re: ASKHN: Django OR Rails

#4
Id say go with the language you prefer. If you fancy yourself a Pythonista then go with Django. If you prefer Ruby syntax then go with Rails. Both languages are different to C#, or VB.NET which is where you are probably coming from so dip into each and follow the path of least resistance.

Honestly when it comes down to productivity there isn't much to be gained from using one over the other.

I guess one thing that is in Djangos favour are the free out of the box Admin screens which are truly awesome.

Re: ASKHN: Django OR Rails

#5
Both are good. I don't have a whole lot of experience with Django, but the little that I did use it, I liked Rails better. It seems to me like the community is much larger and there are more plugins, gems etc. (This may just be a skewed perception though)

Re: ASKHN: Django OR Rails

#6
Django Why: 1. Uses Python

2. Free hosting on Google App Engine (note: to Heroku proponents 5Mb storage is a joke)

3. Python is extensible in a way ruby isnt, even OpenCV has a python port

Finally ruby is more popular with hip programmer crowd (HN reading, Latte sipping, Apple fanbois, with no CS degrees )

While Python is more popular with "gets work done", Googler's and Advanced CS degree holders (E.g. nearly all top CS departments prefer Python after C++ and maybe java), you would be lucky if you found someone using Ruby. If you dont believe me, here is State Of Art OSS in Machine Learning http://mloss.org/software/search/?searchterm=python&post...

Finally Since you are from ASP.NET background, have a look at SCALA it seems to be a nice language and its based on JVM. And twitter started using it after running in issues with Ruby. (Another reason why Ruby should be avoided, consider that python was used for Youtube)

Re: ASKHN: Django OR Rails

#7
If you're truly looking to learn about frameworks, I would suggest checking out Flask.

http://flask.pocoo.org/

It's a lightweight framework on Python. The author is using it to explore the basics of building a famework.

I'm a little over a year into using Django now, but what I've learned is heavily biased towards getting something out the door versus learning the fundamentals. Because of this, I've started looking into Flask so I can gain deeper knowledge.

Re: ASKHN: Django OR Rails

#8
To add to the discussion, if you have prior programming experience and you are familiar with the basic concepts you need to work with either of those frameworks, mainly OOP and MVC, you will be able to learn the language as you go. That said, there are dozens of good frameworks in both Python and Ruby, some less popular, some better suited for some types of projects. But diving into the language with the most popular framework will be much easier and motivating.

Being a python developer I'm obviously biased towards Django. So I'll name the reasons why I think it's better than Rails: 1. Python has a larger community and better libraries.

2. The zen of python says "there should be one and preferably only one obvious way to do it", Ruby has the totally opposite philosophy inherited from Perl. But I guess some people see it as a positive side.

3. Deployment options for ruby/rails applications are catastrophic. I've never come across one method that doesn't leak memory.

4. Django's approach to MVC is far more flexible and natural than the traditional approach in rails, although that may not be obvious at first if you come from another similar MVC framework.

Anyway, the wise choice would be to try both and see what pleases you best.

Post reply on HN