3 ms·
As to ruby or python, I think its a matter of taste. Both are powerful enough. Coming from C++, Rails might drive you nuts. I like to be certain of what my
by jhancock 17y ago
As to ruby or python, I think its a matter of taste. Both are powerful enough.
Coming from C++, Rails might drive you nuts. I like to be certain of what my code is doing. To achieve this with Rails, you either have to: 1 - write _loads_ of tests or 2 - dig through Rails source to ensure the DSL does precisely what you think it does. You don't want option 2 as Rails source is a nightmare. Option 1 may not fit your sensibilities if you're used to writing defensive code and writing too many tests seems a waste of time.
I can't speak for digging through Django source nor can I speak for how clearly documented the DSL-like things are.
If you want more control over your app behavior or simply see what's going on easier, the python world has webpy and cherrypy. The Ruby world has sinatra. Something in between Rails and sinatra is merb.
- deleted 17y ago[deleted]
- kgrin 17y agoIn general, Django is considerably more explicit about what it's doing (particularly after the "magic-removal" branch two years ago). The implicit trade-off is that some things that Rails does automatically you have to declare explicitly in Django, but it hits the sweet spot for me. My understanding is that Rails has trended that way lately, but since I don't use it day-to-day I can't say whether that's the case. I can't compare the Django source to Rails, having never really read the latter, but on its own it's pretty good. Like any large-enough pile of code, there are ups and downs, but whenever I've had to dig in and understand what's going on, it's been fairly straightforward to follow.
- jhancock 17y agoRails has certainly become loads better. But the source is still cryptic to anyone but a ruby master. Rails 3 is in the works which is turning into mostly a full rewrite as near as I can tell. I expect Rails 3 code base to be much easier to understand. But that's not out yet and when it is, I expect you'll need to wait a year before enough of the libs and plugins are running smoothly. It sounds like you have enough python under your belt and like django well enough. I'd recommend going with that. Your not missing out on some other framework/language pair that is more powerful. I use ruby/merb. I occasionally look around for something I like better but nothing is worth the switching costs at this point.