Ask YC: Ruby or Python
In web development, I've pretty much been PHP only with some Perl tossed in here or there. I'm looking to learn a new web language and framework and have decided that its either going to be Ruby or Python. I'm not worried about the learning part. If one language takes more time, then so be it. I'm just looking for some advantages and disadvantages with either.
Outside of web development, I've also worked with C, C++, Objective-C and Java, so I'm not a hideous PHP programmer void of any elegance in coding and design, just a programmer who has mostly work with PHP!
13 comments
[ 2.9 ms ] story [ 39.7 ms ] thread(Or, since someone didn't like that response, look up all the previous instances of this discussion on this very site, and see if there's something they didn't cover. Otherwise, either language is just fine)
The best thing you can do is put the time into reasearching the two until you are convinced for your own reasons to learn one, both, or neither.
Either way, both are good, important languages with quality frameworks and potential for job offers. So really you can't lose.
Need to build a site quickly that is mostly information based such as a blog or some kind of editorial site. I'd choose python with django. The automatic admin section is great for this type of task.
Need to build something with a lot of popular features (twitter, mash ups, simple shopping carts, etc..) and don't have time to really learn every little detail. Ruby using Rails might be a good solution as there are thousands of demo and live applications out there to borrow from. Should reduce your development time.
If you are looking for a new hobby language. I would choose python as it doesn't have quite as large or fanatic following as ruby. It also has a lot of room for growth. There are many libraries and verticals in the python market which could use some help.
End of the day though. It's up to you and the problem you are solving.
But as others have said, the two are close enough that you won't do badly by going with your own preference.
The only insight I can offer you is that you can do everything you want to do in any of them. The points of consideration for which you learn then boils down to community, longevity (~market value of the skill/time) and personal interest in the specific tack each language takes. If you enjoy programming languages, there are different "interests" in Python, Perl and Ruby. Comparing the ways that Python and Ruby address Meta-programming, I think, will illuminate which for you is more interesting (which fits your brain better).
My other advice: Learn it all.
Granted, I like Python for other reasons as well, and I'm a Django fan to no end, but... yeah. Forced indentation for the win.