7 ms·
Ask HN: Will Python grow some Rails?
Just an unconstrained opinion from someone who has used neither.
Python needs a rails, one that appears polished (nice website design, nice graphics) and has enough resources for learning it (learn jetpython the hard way) - because as an outsider looking to go into programming web apps, rails seems much nicer with the appealing sites being made in its ecosystem. It should be like rails in the sense that for newbs, all the default config is done and will have the best options for new users, like rails does.
Right now, based on my perceptions as a non-user (which is an important crowd), python appears nicer to use but given there is no killer web framework agreed upon to the extent of rails, I am more likely to start learning ruby instead.
Will it happen for python? Posts like this seem a step in the right direction: http://www.scribd.com/doc/37113340/Why-Django-Sucks-and-How-we-Can-Fix-it
- grigy 16y agoHow about Django? I thought it is the python's rails.
- po 16y agoKeep in mind that that "Why Django Sucks" talk was given by a guy who very much loves Django. I doubt that the Python community will ever spawn a web framework as slick as Rails. I think that the people who choose Python tend to have a very pragmatic, engineering bent and I don't think they value the slickness as much as the Rails community does. Keep in mind that Python is one of the few languages that Google writes code in. Probably if Rails closed up shop today, more of the people that value that would move to python. Rails tends to draw what I would call the "web 2.0 crowd" who make very slick, very stylish websites. You can do that in Django too but you have to be willing to hire a designer. Ruby/Rails tend to see that as a core competitive advantage. Python has a much longer history and therefore tends to be more conservative. You can see that reflected in Django's release/deprecation schedule. Neither of those approaches are bad things. Diff'rent strokes for diff'rent folks. I think both of those languages/frameworks are better for each other although Python frameworks are better at borrowing ideas from Rails than the other way around. That's probably true of many frameworks though. They're not all that different, and I think you should probably learn and/or try out both. I think both Django and Rails need to look out for the winner of the web battle in what I see as the up-and-coming language/framework: Javascript/Node.js This is all, of course, just my opinion.
- MisterWebz 16y agoCould you elaborate on the node.js part? I thought it would be mainly used for certain aspects of a web app while the rest would be written in python or something similar. I'm not an experienced programmer so i really have no idea how this will turn out.
- po 16y agoNode.js is a lower level event framework written in Javascript and run inside of Google's V8 engine. You're probably familiar with a similar event driven javascript framework: jQuery. Node.js is like that but instead of clicks and mouseover you have streams and processes. You just attach code to these server events. From the node.js docs: Many objects in Node emit events: a TCP server emits an event each time there is a stream, a child process emits an event when it exits. All objects which emit events are instances of events.EventEmitter. You will probably have to write a JSON API for your web app anyway. The advantage of Javascript is that you can push logic down to the client as well. You send the data down, and have the Javascript code running on the client insert it into the DOM directly. There are already pretty complete JS web frameworks (google it) and you can start to see that the "web app" which produces html isn't really necessary in that model. It's all still a bit bleading edge. I don't recommend it for beginners quite yet, but keep it in mind. Your choice of which framework to learn isn't like "which house do I buy because I have to live in it forever." You can - and probably will - move soon. You're really investing in your ability to figure out web frameworks.
- robwgibbons 16y agoDjango is the Rails of Python.