|
|
|
|
|
by bgalbraith
5094 days ago
|
|
Like any language/platform, they both solve particular problems really well and then are OK or downright messy for the rest. I've developed applications for both platforms, and will more likely choose Django over Rails at the moment, but mostly because I work with Python a lot in general. Ruby is a fun language and Rails is, essentially, its killer app. Programming Rails apps means learning a lot of conventions, a lot of "the right way" to do things. It's not just code style, but about good software engineering practices -- testing, database migrations, and multiple environments are all built in and easy to use. There are also some tremendous environment and deployment tools out there. RVM and bundler make dependencies easy to manage, and HAML greatly cleans up the HTML side of things. As mentioned elsewhere, Rails development can be really fast once you've got up to speed, but that can take time and cause serious headaches for anyone who walks into maintaining an existing reasonably complex project. I love Python and use it all the time. It does have a bit of a problem with legacy libraries moving to Python 3, Django being one of them (if you want to try Django, use Python 2.7). Django was built for a newspaper website, as such it has some slightly odd conventions that can be confusing at first. Notably it makes the distinction between an app (reusable piece of functionality) and a site (comprising one or more apps). It has a strict template engine (by default), that has its own DSL which requires some getting used to. Django generates a lot less files than Rails by default, and generally feels more compact. It also has a really nice admin feature out of the box. |
|