6 ms·
Obviously I'm totally biased and you shouldn't listen to me. But if you were to listen to me, I'd probably be saying something about how they're basically equi
by jacobian 14y ago
Obviously I'm totally biased and you shouldn't listen to me.
But if you were to listen to me, I'd probably be saying something about how they're basically equivalent these days. Both are pretty productive, have clean readable code, are well-documented, have active communities, a wide array of plugins and tools, and are fairly easy to use.
If you were to get even crazier and try to get some advice on which you should use, I'd probably tell you that Rails is best if you already know Ruby; Django if you already know Python. If you don't know either, take a week or two and build a site with both and see what sticks. Either way you'll be pretty happy.
But you shouldn't listen to me because I'm heinously, terribly biased, so you probably didn't hear me say any of that. Just as well.
- rednukleus 14y ago> If you don't know either, take a <em>week or two</em> and build a site with both and see what sticks. If only we were all this talented.
- dnsauve 14y agoI don't see why this isn't good advice. This is exactly what I did when I was trying to decide between the two. It really doesn't take long to work your way through the introductory tutorials to get a feel for which framework and language you prefer.
- rednukleus 14y agoI've been learning Python and a bit of Django, and it has taken me a lot longer than 2 man-weeks to get to grips with it. I can't imagine that I would be able to learn enough Ruby to give Rails a good shot in two weeks. I'm absolutely sure that there are many developers out there that can pick these frameworks up that quickly, but I'm equally sure that there are plenty of developers who "aren't that talented".
- markokocic 14y agoAfter learning a couple of (different) languages, learning the new one is easy. So easy that it usually equates learning its standard library. So learning either Django or Rails, if you are moderately experienced developer shouldn't really take more than a few weeks. Of course, learning the first language is challenging.
- rednukleus 14y agoI have become proficient in about 10-15 languages over the years, but Python is sufficiently different from all of them that 2 weeks is not enough to give Django a fair trial. I'm sure Rails is the same. Knowing 80x86 assembler, Commodore 64 basic and Amos only go so far, but maybe knowing Python it is easier to switch to Ruby.
- dylangs1030 14y agoI don't want to sound pretentious, but were you coding >6 hours a day? Languages are as much a process of thinking as they are a string of instructions for a computer. If you think in object-orientation you'll learn object-oriented languages very fast. Likewise, if you know a language like Lisp you'll learn man of its descendants in the same family of language quickly. I work full time and program when I'm not working, and I'm often surprised at the improvements and iterations I can make in (relatively) short periods of time. It's the same way you can become fluent in a spoken language in 3 months [1]. Talent isn't relevant after the first week - raw determination is. That said, you're right, you shouldn't expect to be a capable programmer in a language after just 2 weeks, but don't be so hard on yourself that such an accomplishment is impossible. [1]: http://www.fluentin3months.com/ http://www.fluentin3months.com/
- rednukleus 14y agoBy man-weeks I mean 40-60 hours effort per "week". I think that some developers can "learn Django in a week or two from scratch", but I don't think most newbies can.
- 14y ago
- obviouslygreen 14y agoIt is good advice; it just isn't time-effective to do a thorough job. By the time you've gotten through the tutorials and maybe built a couple simple sites, you've probably gotten to the beginning of understanding how it works, but you have yet to do basically anything that would be considered working with the framework as it applies to what you'd actually do on a real project. You might understand the very basics, but extrapolating that into "this is how working with it actually is" carries the very real possibility of a rude awakening.
- rhizome 14y agoHow thorough does an evaluation need to be? I'd suggest that doing a few things less-thorough than a real project is sufficient to get a feeling for the framework. There are real projects done in both frameworks, there isn't going to be a point where you find some pitfall and go, "welp, looks like we have to start over in Rails" or whatever.
- SkyMarshal 14y agoThis is possible, for certain definitions of "site".
- deleted 14y ago[deleted]
- daGrevis 14y agoIt's not a question about web frameworks. It's a question about languages. I you like Python and it's Zen, use Django. Otherwise, use RoR.
- smonff 14y agoIf he can't decide, he can still use Perl Catalyst or Mojolicious ! Catalyst guy have a good way to define what's'the difference between RoR and Catalyst: RoR makes easy things simple but complex tasks very hard (when try to run out of the rails). Catalyst (and I believe Django too) makes easy things a little more difficult but complex things possible and maintainable.