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…
Ask HN: RubyOnRails or Django/Pylons?
11–20 of 52 posts
Re: Ask HN: RubyOnRails or Django/Pylons?
#12Python 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…
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 god-knows-what-else. If you looked at any two of those packages, they might not appear to be written in the same language, let alone the same team.
Rails does not care what crazy Ruby stuff you have built for your specific problem domain. If you are doing graph-theoretic modeling with a custom Ruby library, Rails does not care and it will work fine.
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 of hurt. The things Rails has opinions about, it has strong opinions about. And it's a total passive-aggressive asshole about those opinions. It doesn't say no. It slowly punishes you instead. In particular, even though Rails 3 advertises that it has swappable ORMs, you'd be crazy to consider anything but ActiveRecord.
The nice thing about losing degrees of freedom is that you don't have to make decisions about them, so I tend to reject the idea that Python gets you home to your kids faster.
Re: Ask HN: RubyOnRails or Django/Pylons?
#13Re: Ask HN: RubyOnRails or Django/Pylons?
#14Python 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 work full time as a Rails developer, and I'd love to give a counterpoint to your obvious distate for Rails, but I have no idea what you're even trying to say....
Re: Ask HN: RubyOnRails or Django/Pylons?
#15Re: Ask HN: RubyOnRails or Django/Pylons?
#16ruby is more nice to the programmer. python has more corporate backing. django is a pain-in-the-ass compared to rails, pylons is better but still not the collection of power tools that is rails. i feel the python community is tail chasing the ruby community now-a-days. catching up will be hard as the python language misses the "principle of least supprise" that is a guiding principle for ruby. python (like c++) managed to supprise me after year of coding with it.
Re: Ask HN: RubyOnRails or Django/Pylons?
#17(opinion warning) ruby is more nice to the programmer. python has more corporate backing. django is a pain-in-the-ass compared to rails, pylons is better but still not the collection of power tools that is rails. i feel the python community is tail chasing the ruby community now-a-days. catching up will be hard as the python language misses the "principle of least supprise" that is a guiding principle for ruby. pytho…
(Opinion warning) They're basically the same level of overall goodness. Django may be better at some things, Rails on others. The whole penis-size-measuring contest between both camps is kind of annoying actually. Having said that, I REALLY enjoy Django, a lot, and recommend it to everyone when they ask which of the two they should chose.
Re: Ask HN: RubyOnRails or Django/Pylons?
#18Python 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…
Interesting observation... I find that the culture of Rails developers is less to my taste than among Django developers. I can't explain it either, maybe it's personal preference for Django culture or maybe it's something more fundamental like Django devs are less insecure about their platform. I dunno either.
Re: Ask HN: RubyOnRails or Django/Pylons?
#19Python 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…
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 of hurt.
Yeah, sometimes that "way rails thinks you should" is considerably more complicated than what you'd have to do on a PHP or Djagno project to just get that last mile in. I'm currently finishing up a iOS SDK/library that talks to both a rails and django backend, and while the ROR dev is more available, he often has to figure out the right ways to change things that the Django guy just splats out if he has to(and cleans up after we're integrated). The ROR solutions are often frustratingly complicated (want to add a field to this view? Naw you can't, we have to instead change the datamodel of that object and sorry we can't name this that thing you already put in the client, etc). We don't care about long term whatever this week. We just want a certain URL scheme and certain output to happen NOW so we can integrate the last couple chunks in before our announced press event hits us, then backfill with quality code at that URL later. It might just be I know the ruby dev better, but he seems he's probably the better programmer of the two as well (but I don't know the Django guy well).
Sure the rails methodology might be better if you are the type of the person who doesn't do things the right way when you're not forced to , but if you are the type who does things correctly, the Django is no more correct or less correct and canonical, except for those instances when where you just have to finish. So if we're adults, we can write good code most of the time and good enough code when we have to and get away with it on Django. On rails, yeah right. There was a Plone developer who said something once like "Python believes we're all consenting adults". I feel python web frameworks do, and ROR doesn't. (link to the AWESOME talk:http://www.archive.org/details/SeanKellyRecoveryfromAddictio...)
If I wanted bureaucracy, I'd go do a java serverlet. Rails feels more like religious doctrine enforced in code than bureaucracy, but it has that stink of java's "thou shalt use the X to do the Y or DEATH AND INFAMY will result". It's not an overwhelming stick mind you, but a slight odor.
Ruby on Rails DOES work. It just is frustrating in that it does not allow shortcuts, ever. Therefore, I feel it keeps you away from your kids before a commitment, where Django doesn't. I'm not saying "don't ever use it", and I dont' think people who KNOW rails will get enough out of swapping to do the swap, but if you know neither now, I'd go python/django.
Then again, if you're new to programming, the copious beware/here be dragons of ROR might be a better path to get used to not slacking.
Re: Ask HN: RubyOnRails or Django/Pylons?
#20Python 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…
ROR is NOT for those who are willing to just get it done . What does that even mean? I work full time as a Rails developer, and I'd love to give a counterpoint to your obvious distate for Rails, but I have no idea what you're even trying to say....
You're 9.5 weeks into a 10 week project. Some changes need to be made to a view cause a race condition was found in a load in the client application that talks to your framework.
If you're a rails guy, and you get the feature request, you go "What do I have to change to fix that" "Magic happend, it all works". You don't really have the ability always to twiddle the current output in some random way required to just get the comms working with the client and the system incrementally integrated with the world.
If you're the django guy, you go" Let me stick the output you want for now in the view, okay, does that work? cool I'll add some dynamic stuff, Okay cool, does it still work, I'll go do that the right way".
If you work in a position where you sometimes need to do the second one, but largely can behave like an adult and follow the correct ways to do the rest of the time, Django will be more rewarding to you than Rails, as you can get away with building that last mile out of earwax and sticky tack if you want to on Django, but on rails, you really have to used that same deliberate hand carved ivory you used everywhere else.
Which project is going to be purtier when you're done? Rails for sure! Which one is going to be easier to expand off of? Probably rails will take less time to get to the next version, as there will be no cleanup time to take out the sticky tack. Can you hack the crap out of something when you need to pop something out the door for the demo tommorrow? It really really varies upon what the hack is you need to pull. With Django it doesn't. That's the issue. That's what I mean about "willing to just get it done".
By willing to just get it done, I mean take the immediate pre-ship shortcuts and workarounds that you have to do often to ship on time. Rails abhors a shortcut or an abridgment. I think it has very large strengths for a lot of people. But for others, working in certain types of jobs, I find this insistance of "not going off the rails" infuriating.
Yes, I know if you're a ruby god whos' done rails for a very long time, and knows exactly how everything works, you CAN do this sort of thing. I've worked with some of you actually. I think you guys are cool. But the general ROR guy can't. The general Django guy can.
Django is a 18 wheeler truck and Rails a freight train. They do different things well. But damn, you crash if you take that train off the rails, but you can survive offroading in that truck for a bit to make that delivery at a weird stop.