Live data from Hacker News

Ask HN: RubyOnRails or Django/Pylons?

news.ycombinator.com

21–30 of 52 posts

Re: Ask HN: RubyOnRails or Django/Pylons?

#21
post #5

Python will be more useful if you decide to do something with the language other than ruby on rails . People do all sorts of very powerful math with it as well (SPSS, SciPy, NumPy and various other things). ROR is NOT for those who are willing to just get it done. You have to be the type who's willing to find the right way, or risk things blowing all to hell on you (Off the rails, as they call it). I'd also say, the…

Are you trying to troll? ROR doesn't have a 'right way' it's far from that rails 3 has switchable ORM's, template engines.. etc. Ruby was inspired/designed with elements from perl which itself was designed as a rapid scripting language, your arguments are badly biased.

They're opinionated, not biased. Bias would imply there was something impartial asked for.

Know what else is opinionated? Ruby on Rails. (This is quoted widely on the web, by Rails devs!)[http://www.google.com/search?sourceid=chrome&ie=UTF-8&#3...]

I'm not criticizing ruby, I don't have any issue with it (I'd still go python over ruby, cause I'll take libraries over pretty close but slightly better syntax any day). But ROR can get in your way when it's times to ship as I've explained several times in this thread. Its opinions get in your way when you want to do something it thinks is bad. This is an issue when you want to get work done sometimes.

I don't think the guy is damned to hell if he uses ROR or anything, I just think unless he's a guy who can't make himself (or his teammates) follow the rules when he doesn't have to, he has a stronger product more adaptable to development realities with Django.

Re: Ask HN: RubyOnRails or Django/Pylons?

#22
post #13

You have a week of Python. Spend 2 days with Ruby. If you fall in love with Ruby, go with Rails. Otherwise, stick to Python. It's that simple. They're basically the same thing.

The differences between python and ruby aren't the important thing in this question. The languages are different (ruby: better syntax, python: better libraries). The important thing is "Are you the type of person who will excel with very strong strictures on your work" (Do rails) or "Are you a person who sometimes disregards the rules to do work more expeditiously" (Do python)

Re: Ask HN: RubyOnRails or Django/Pylons?

#23
post #19
post #12

Earlier quoted context omitted.

I don't object to the "find the right way" comment, with one clarification: he's talking about the web framework . Ruby is just fine for "just wanting to get it done"; we've used it to write an assembler that models opcodes as Ruby objects, a binary format description language, 3 different debuggers, a web proxy, a hex editor, a whole slew of crypto, a testing framework for the FIX trading protocol, Cocoa UIs, and go…

>Ruby is just fine for "just wanting to get it done" Yeah, I explicitly said ROR there because its the web framework which is annoying when you want to ship. I think the language is pretty neat actually, 'cept doesn't have as many libs. >But. If you have even the slightest difference of opinion with Rails as to how to handle a request or represent the URL parameters you're getting from browsers, you're in for a world…

I thought the same thing after living with Rails in a shipping product for 2 years or so. We embraced Sinatra, which does away with all of your Rails concerns. Sinatra is still very popular; probably the most popular framework after Rails.

However, for my last several projects, I've been back in Rails and happy to be there. Once you understand why things work the way they do in Rails and stop trying to bend it to your own design, it turns out that they mostly got it right. It is, for instance, so much easier to code up preauth/postauth pages in Rails, or to implement permissioning.

Re: Ask HN: RubyOnRails or Django/Pylons?

#24
post #23
post #19

Earlier quoted context omitted.

>Ruby is just fine for "just wanting to get it done" Yeah, I explicitly said ROR there because its the web framework which is annoying when you want to ship. I think the language is pretty neat actually, 'cept doesn't have as many libs. >But. If you have even the slightest difference of opinion with Rails as to how to handle a request or represent the URL parameters you're getting from browsers, you're in for a world…

I thought the same thing after living with Rails in a shipping product for 2 years or so. We embraced Sinatra, which does away with all of your Rails concerns. Sinatra is still very popular; probably the most popular framework after Rails. However, for my last several projects, I've been back in Rails and happy to be there. Once you understand why things work the way they do in Rails and stop trying to bend it to you…

Amusingly, I don't recommend Django even for first timers like the guy, however I'm not usually one of those people who answers a different question when asked, for the same sorts of criticisms in some areas as I have about rails. I like itty bitty frameworks usually. Sintra runs on Heroku, and will definitely be brought up before I hear about another project about to be backended there.

Honestly, I think Rails will give you a cleaner project with most groups of devs. There is a lot to be said for that. I think if you took a lot of people who are successful as rails devs, they'd struggle with the "having your own opinions are necessary" issues you have when you hit the open country of python webdev, and not perform as well. If the guy asking is just wanting to make something, I think RoR is a better material, cept it can't do some things. I think Django is a less good "base material" which many people will make an inferior product, but if you're highly competent, it's softer, less rigid structure allows you to be a better rapid developer rapidly dealing with changes to environment and project spec.

I, particularly speaking, happen to be a rapid developer of pretty complex systems. A long rails project is probably going to be a better system, and is almost DEFINITELY going to be a better hand me down from someone else, but a Django system will almost always allow a small change.

Rails is building a house of granite with no other materials. Django is using a bunch of softer stuff.

Re: Ask HN: RubyOnRails or Django/Pylons?

#25
I like the python community better than the ruby one. So I ended up going with python.

That said, I really like Pylons. I wish I could find more people who use it. It is one of those frameworks that gets more powerful and makes things easier as your webapp gets more and more complex. This is opposed to rails or django where if you didn't design it at the get go and try to bolt it on you tend to be fighting the framework.

Re: Ask HN: RubyOnRails or Django/Pylons?

#26
post #12
post #5

Python will be more useful if you decide to do something with the language other than ruby on rails . People do all sorts of very powerful math with it as well (SPSS, SciPy, NumPy and various other things). ROR is NOT for those who are willing to just get it done. You have to be the type who's willing to find the right way, or risk things blowing all to hell on you (Off the rails, as they call it). I'd also say, the…

I don't object to the "find the right way" comment, with one clarification: he's talking about the web framework . Ruby is just fine for "just wanting to get it done"; we've used it to write an assembler that models opcodes as Ruby objects, a binary format description language, 3 different debuggers, a web proxy, a hex editor, a whole slew of crypto, a testing framework for the FIX trading protocol, Cocoa UIs, and go…

An example from recent experience: if you want your application to have multiple cache stores, God help you. I use cache stores to wrap NoSQL stuff in a consistent API that I'm familiar with, and since sometimes I want stuff to be retained indefinitely and sometimes I just need a memcached scratchpad, I have multiple ones. That has gone fine... until it didn't, in a very catastrophic fashion.

What I really, really should have done was write a thin wrapper over the existing Redis code implementing the three methods I typically need my cache stores to support (read, write, fetch -- that's it), then configured the cache stores on class load from a YAML file. This would have gotten me done in an hour.

Instead I tried spelunking deep into the dark recesses of Rails 2.3.10, how it loads environments and initializers, and two gems to figure out what was going on... and very nearly had to postpone shipping because of it.

Don't do that.

But when I'm doing things the Rails Way, yeah, pretty much peaches and cream. I've never had an issue with writing arbitrarily complex Ruby code to do things that are not in the "typical web application" purview.

Re: Ask HN: RubyOnRails or Django/Pylons?

#27
post #19
post #12

Earlier quoted context omitted.

I don't object to the "find the right way" comment, with one clarification: he's talking about the web framework . Ruby is just fine for "just wanting to get it done"; we've used it to write an assembler that models opcodes as Ruby objects, a binary format description language, 3 different debuggers, a web proxy, a hex editor, a whole slew of crypto, a testing framework for the FIX trading protocol, Cocoa UIs, and go…

>Ruby is just fine for "just wanting to get it done" Yeah, I explicitly said ROR there because its the web framework which is annoying when you want to ship. I think the language is pretty neat actually, 'cept doesn't have as many libs. >But. If you have even the slightest difference of opinion with Rails as to how to handle a request or represent the URL parameters you're getting from browsers, you're in for a world…

[deleted]

Re: Ask HN: RubyOnRails or Django/Pylons?

#28
post #23
post #19

Earlier quoted context omitted.

>Ruby is just fine for "just wanting to get it done" Yeah, I explicitly said ROR there because its the web framework which is annoying when you want to ship. I think the language is pretty neat actually, 'cept doesn't have as many libs. >But. If you have even the slightest difference of opinion with Rails as to how to handle a request or represent the URL parameters you're getting from browsers, you're in for a world…

I thought the same thing after living with Rails in a shipping product for 2 years or so. We embraced Sinatra, which does away with all of your Rails concerns. Sinatra is still very popular; probably the most popular framework after Rails. However, for my last several projects, I've been back in Rails and happy to be there. Once you understand why things work the way they do in Rails and stop trying to bend it to you…

I looked into Sinatra, entirely at Thomas' suggestion. My experience after coding up a toy web application was that, if I wanted to build a non-toy application, I'd end up building a half-complete, undocumented, poorly tested version of Rails 1.0 prior to actually being able to work on the stuff people pay me money for.

It is a wonderful microframework if you want to either a) build a web framework because you want experience doing it or b) have some huge honking system which you just want to drizzle a bit of glue code onto and expose pretty much unmodified to HTTP.

Re: Ask HN: RubyOnRails or Django/Pylons?

#29
post #21

Earlier quoted context omitted.

Are you trying to troll? ROR doesn't have a 'right way' it's far from that rails 3 has switchable ORM's, template engines.. etc. Ruby was inspired/designed with elements from perl which itself was designed as a rapid scripting language, your arguments are badly biased.

They're opinionated, not biased. Bias would imply there was something impartial asked for. Know what else is opinionated? Ruby on Rails. (This is quoted widely on the web, by Rails devs!)[ http://www.google.com/search?sourceid=chrome&ie=UTF-8&#3... ] I'm not criticizing ruby, I don't have any issue with it (I'd still go python over ruby, cause I'll take libraries over pretty close but slightly better syntax any day).…

How is Django not dramatically more opinionated? It is, we all know it and we know that it's a virtue in that it produces consistent, readable code code. Why are you trying to pretend otherwise?

With Django, there's a whole philosophy behind the right way to do templates. There's a whole explicitly written philosophy behind the specific coding conventions. Whole sections of the framework still assume you are using SQL, ideally Postgres.

Meanwhile, Rails 3 doesn't just support, it increasingly encourages doing things however you want to. Not only that, the community accepts it. Try to use anything but Django templates in your Django project and you'll likely get strong resistence from others on your team or someone who picks up the project after you.

    I'd still go python over ruby, cause I'll take libraries
I use both Ruby and Python for web development and, frankly, this is utter nonsense. Even in situations where there is a larger quantity of libraries, such as template engines again, it doesn't translate to greater breadth of viable options since the widely used Python templating engines are mostly variations on the same theme. There is no widespread adoption of something like Haml because, again, the Python community is opinionated. There are good reasons for this, but if you like a template language like Haml and work on anything other than personal projects, you are SOL.

In general, there are far more situations when using Python for web development where I'm pining for a Ruby library than vice-versa. Thankfully some, like Sass and Chef, don't require that the project itself is in Ruby.

Re: Ask HN: RubyOnRails or Django/Pylons?

#30
post #22
post #13

You have a week of Python. Spend 2 days with Ruby. If you fall in love with Ruby, go with Rails. Otherwise, stick to Python. It's that simple. They're basically the same thing.

The differences between python and ruby aren't the important thing in this question. The languages are different (ruby: better syntax, python: better libraries). The important thing is "Are you the type of person who will excel with very strong strictures on your work" (Do rails) or "Are you a person who sometimes disregards the rules to do work more expeditiously" (Do python)

You have that completely backwards. If you are coding your Python like that, you are doing it wrong and almost certainly drawing the ire of the people you work with.
Post reply on HN