8 ms·
Django is arguably the most used Python web stack, but it's also a much more controversial choice than Rails is in the Ruby world. I hear "you'll outgrow Django
by devonrt 16y ago
Django is arguably the most used Python web stack, but it's also a much more controversial choice than Rails is in the Ruby world. I hear "you'll outgrow Django really quickly" a lot; whether that's true or not I can't say since I've never used it. Also, there seems to be a lot more choices for web frameworks in the Python world: Django, Pylons, web.py, Tornado, Flask, CherryPy, Zope etc. I'm not sure if this is the case in the Ruby world. All I ever hear about are Rails and Sinatra.
- cageface 16y agoYeah that may be true. I wonder how big the installed base of all those python frameworks is compared to rails. Hard to estimate I suppose. The ruby world seems to focus its innovation around the major framework whereas the python world seems to be experimenting at a more fundamental level.
- carbon8 16y agoThere are actually a bunch of Ruby frameworks (ramaze, rango, waves, padrino, camping, halcyon, to name a few off the top of my head), but it seems Rails and Sinatra meet the needs for the vast majority of Ruby web developers.
- epochwolf 16y ago> All I ever hear about are Rails and Sinatra. I got two theories. First theory. Ruby allows developers to make really nice DSLs. (Domain Specific Languages) It makes sense to me that there would only be two major frameworks. Rails fills the need for a batteries-included framework and Sinatra is the a light weigh, nothing included framework. Both have expressive enough implementations that the community doesn't build their own frameworks. Python doesn't make as pretty code for a DSL which makes it more likely to hit pain points in expressing what you want. Then you end up with a fragmented community around these different pain points. Second theory. People start using ruby because of rails. If rails is too heavy, they move to sinatra. Most of the people using ruby can't be bothered to write their own framework. Most people using python learned python before web development. They are more experienced in the language and used to doing their own stuff. They try out different frameworks and if they get disgusted enough with them they create their own. Disclaimer: I'm a ruby guy. I used python for two years before learning ruby and then rails. These are only theories. I probably look at ruby more nicely than I should but I tried to be somewhat objective.
- lenni 16y agoCan you explaint to me what all these little DSLs are useful for? I have heard this being presented as an advantage for Ruby before, but can't really think of many use cases for DSLs (apart from business rules).
- masklinn 16y ago> Can you explaint to me what all these little DSLs are useful for? Writeability and readability. The ability to bring in domain experts which have no knowledge whatsoever in programming as well. > but can't really think of many use cases for DSLs (apart from business rules). Any domain-specific knowledge/data may be encoded as a DSL, and benefit from it. The rules of your business, the URL mapping of your framework, the GUI layout of your application, the steps of your tests, ... In fact, they often are (in WPF, XAML is used as a GUI definition DSL; Ant is a domain-specific language for building applications, so is Make). The great advantages of the likes of Ruby, however, is that you can build DSLs in the language itself (you don't have to build your own compiler and translator from DSL to language), which rids you of most of the complexity and limitations of usual DSLs, and lets power users realize that there is a full-blown general-purpose language under the DSL (and use that power when they need it).