473,804 Members | 2,134 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Django Vs Rails

Firstly, this topic is NOT intended for trolling or starting any flame
wars.

I want to know if anyone has experience with these frameworks, and if
so, how do they compare? Which one do you prefer?

Going back to school in a few days, I simply don't have the time to try
both.

-thanks
http://djangoproject.com
http://rubyonrails.com

Sep 6 '05
28 5499
D H
bruno modulix wrote:
D H wrote:

(snip)
Go with Rails. Django is only like a month old.

Please take time to read the project's page. Django has in fact three
years of existence and is already used on production websites, so it's
far from pre-alpha/planning stage.


Don't make any assumptions about what I have and haven't read. Django
was only publicly released in mid-July. Less than two months ago.
I never implied it was "pre-alpha" or in a "planning" stage.
The Ruby framework is also more mature and much much more tested than
Django. But even then I am not stating one is inherently better than
the other. Both seem very well designed. But if you have no clue about
either project like the original poster, then I'd recommend Rails,
unless you are already comfortable with Python (and not used to Ruby),
which case go with Django.
Sep 6 '05 #11
D H wrote:
bruno modulix wrote:
D H wrote:

(snip)
Go with Rails. Django is only like a month old.

Please take time to read the project's page. Django has in fact three
years of existence and is already used on production websites, so it's
far from pre-alpha/planning stage.


Don't make any assumptions about what I have and haven't read.


Don't make the assumption that the advice to read the project's page was
directed to you only !-)
Django
was only publicly released in mid-July. Less than two months ago.
I never implied it was "pre-alpha" or in a "planning" stage.


That what I understood from your post, and I guess most readers would
understand it that way.

Now the fact that Django, while being young as a publicly realeased
project, has in fact 3 years of existence *on production websites* is
IMHO worth mentioning, so peoples who haven't read the project's page
yet don't make the assumption that it must be too young to be usable in
production. The "take time to read..." advice was directed to these
people as well !-)

Regards
--
bruno desthuilliers
ruby -e "print 'o****@xiludom. gro'.split('@') .collect{|p|
p.split('.').co llect{|w| w.reverse}.join ('.')}.join('@' )"
Sep 6 '05 #12
just to make it really easy, there's some really good blogs and
detailed analyses of the frameworks, competition is good:

http://del.icio.us/tag/rails+django

gene tani wrote:
Here's another, (i'm just flipping thru del.icio.us and furl tags, not


Sep 6 '05 #13

"bruno modulix" <on***@xiludom. gro> wrote in message
news:43******** *************** @news.free.fr.. .
D H wrote:

(snip)
Go with Rails. Django is only like a month old.


Please take time to read the project's page. Django has in fact three
years of existence and is already used on production websites, so it's
far from pre-alpha/planning stage.


One can also check it out in action.
http://www.ljworld.com/ is the site it was developed for.

Sep 6 '05 #14

Diez B. Roggisch wrote:
I tried to find out if subway and
rails can do the same - that is, generate the sql. For subway the lack
of documentation prevented that, and I didn't find it in rails , too.
In Rails you can do that with the command:

$ rake db_structure_du mp

However I think it's not the prescribed way of using it because it
tends to involve losing all your data every time you make a schema
change. I think they recommend doing this once at the start of
development if you don't have a DB schema yet. Once you're up and
running, if you rely on ALTER TABLE type commands and manually update
your code to match the new schema, although it's more work it leaves
your data intact. I think that's the idea anyway.

And there is at least one shortcoming to the first approach, when using
the most popular RDBMS, MySQL: The lack of foreign key constraints makes
me wonder how to automatically infer 1:n or m:n relationships. From a
rails tutorial, I see that one has to declare these too:

http://www.onlamp.com/pub/a/onlamp/2...ls.html?page=5
But maybe someone who has expirience with subway or rails can elaborate
on this? From my experience with Rails, the OR mapping isn't hugely automated.

That is, some manual work is required if you change the schema, to
update the code that operates upon it. However although this is another
step it is pretty trivial due to the metaprogramming style methods.
Besides, if you're altering the schema you tend to have to update some
code anyway as you're most likely altering the functionality of the
system a little. And as I said above, a loose/manual OR mapping has its
benefits; I don't feel anxious about losing my data/schema when using
Rails because I know it leaves it alone.

Sep 8 '05 #15
Wow- thanks for all of the replies. I'm torn.

On the one hand, I'm fluent in Python and love it.

On the other, Rails seems to have a brighter future, and is a bit more
featureful (at this time.) However the only Ruby I know is what I've
already learnt with Python(even though I would like to learn it).

How difficult would it be to learn Ruby+Rails, assuming that someone is
already skilled with Python?

Is it worth it?

Sep 8 '05 #16
I actually like the framework to reflect on my database. I am more of a
visual person. I have tools for all my favorite databases that allow me
to get a glance of ER diagrams and I would rather develop my data
models in these tools rather than in code. Further more I rather like
the idea of parsimonious use of code (which is probably why I use
Python in the first place) and do not really like manually specifying
data schemas in code as much as possible.

Is some familiar with a Python Framework that builds by reflection.

Sep 8 '05 #17
Hello!

On 7 Sep 2005 20:56:28 -0700 flamesrock wrote:
On the other, Rails seems to have a brighter future, Why that? Django is not yet released and everybody is talking about it.
Like it happened with RoR.
How difficult would it be to learn Ruby+Rails, assuming that someone is
already skilled with Python? Learning Ruby: quite trivial, as Ruby is like Python, but sometimes there a
Ruby-way and a non-Ruby-way (codeblocks and stuff like this) and to write
nice Ruby programs you better write in the Ruby-way.
Is it worth it?

Well, I've learned it, because it was easy but I haven't yet found a really
significant difference that makes Ruby much better than Python. You can
write some things in an very elegant way, but sometimes the Python solution
is more readable. But the docs are sometimes.. say: very compact ;).
As Ruby is not that hard to learn you could give it a try - maybe you'll
like it, maybe not.

RoR is not the only framework, some folks prefer Nitro.

greets,
Marek
Sep 8 '05 #18
Diez B. Roggisch wrote:
- rails/subway reflect over a existing table. They create OR-mappings
based on that. You only specify exceptional attributes for these mappings.

- django specifies the whole meta-model in python - and _generates_
the SQL/DDL to populate the DB. So obviously you have to be more verbose
- otherwiese you won't have the fields you need.


Subway is built on SQLObject, and SQLObject can both create tables and
read schemas from an existing database. I don't know what style is
preferred at the moment in Subway, but personally I always create my
tables with SQLObject because I always end up enumerating all the
features of the tables eventually anyway.

Sep 14 '05 #19
My opinion, as posted there, was pretty immediate and only going off of
surface values. I just saw in Django what I had seen too much of in my
own code. I've written similar things in Zope and Formulator that did
all sorts of fancy automatic 'admin screen' generation, DBMS CRUD
statements. I even applied those same tricks to LDAP with some success.
So some of what I saw with Django reminded me of code that I both loved
and hated - it made my data management work easy, but it was ugly and
hard to navigate and maintain, and I could never remember even my own
shortcuts and options of what to have in my nested dictionaries and
lists and tuples that defined all of these structures.

It was also an all-too-quick response in that I perceived, wrongly,
that Django was another Rails clone. I was quickly corrected on this,
and believe I posted a correction later. As I've said in some other
posts on my site - I don't really care much for the Python "Web
Frameworks" which go off and try to mimic the technology of the day.
I've been through competing with Perl, with Servlets, with J2EE, with
PHP/ASP, and now with Rails, and just about every implementation I've
seen of these has been underwhelming, to say the least. I myself am
guilty of writing an early WebObjects inspired toolkit back in '96.
Django is its own thing, and I give it credit for that. Some recent
changes to the Django model syntax make it more palatable to my tastes,
but I doubt that I'll personally be leaving Zope 2 or 3 for any of
these systems any time soon. Zope / Principia / Bobo have all served me
well for nearly a decade now, and Zope 3 makes ZODB based Zope
development so easy and powerful that I hope to never have need of an
ORM system again. These ORM tools like SQLObject and ActiveRecord still
seem best suited for writing applications from scratch. Ian Bicking and
Django people both have stated here that you can "convenient ly generate
SQL/DDL to populate the DB". If that's the situation, an object
database like the ZODB or Durus may work just as well, without the
translation to SQL and back. ORM only gets interesting to me these days
when I have to map to to large scale pre-existing systems, and even
there I'm having better experiences with other styles of storage to
application data translation, validation, security, and management.

Sep 14 '05 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1555
by: JZ | last post by:
http://www.djangoproject.com/ -- JZ
92
4422
by: Ray | last post by:
I just moved to another company that's mainly a Java/.NET shop. I was happy to find out that there's a movement from the grassroot to try to convince the boss to use a dynamic language for our development! Two of the senior developers, however, are already rooting for Ruby on Rails--although they haven't tried RoR themselves. When I suggested Django, they went like, "what's that?". I said, "It's like the Python counterpart of RoR".
2
2340
by: cuongvt | last post by:
Hello I'm new to both Django and Python. I'm mainly developing on PHP. I tend to move to Django. But I want to confirm as below: I heard that Django is mainly used for something like content management, CMS or something like that and Rails is mainly for web applications. So my question: is it true or not? For rapid web application development, can I use Django to create intranet database web driven application in my company for example:...
1
5963
by: Aspersieman | last post by:
On Wed, 05 Nov 2008 08:35:23 +0200, 3000 billg <billg3000@hos.twgg.org> wrote: Hi Excellent choice :)
0
10603
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10353
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10356
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
6869
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5536
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5675
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4314
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3836
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3003
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.