Hacker News new | past | comments | ask | show | jobs | submit login

Learn both. A lot of people say Ruby & Python are very similar, I disagree. They are similar in that, they look at similar problems (domains - although Python is applied in much greater variety by its community, ie. sciences, web, gui, server admin, whereas Ruby's popularity is primarily in the web). However, they are different in that their design and philosophical ideas stem from two very distinct ways of approaching the building of software.

It is commonly expressed that in Python there should only be one way, and only one way to do something (Pythonic). In Ruby, you can express yourself in a number of ways. Not in ways that are subjective to your taste, but subjective to the needs of your solution.

The way Ruby approaches blocks (and closures) is unique. There is no substitute and Python, and it forces you to code in a manner that is unique to the language. It exposes you to different design patterns and a new way of thinking.

---

To keep it short, learn what language best suits your needs. If you are doing this for fun and are just starting out, I recommend Python. Ruby does way too many things implicitly that it'd be hard to keep track for a beginner (but you can be pragmatic and learn as you go).

For resources, here are my recommendations per language:

Python: - Udacity's courses are fantastic. They are engaging & challenging. They will teach you the language features as well as resources. They also handle domains from debugging, to simple console software, to web applications. http://www.udacity.com/ is your reference. - Learn Python the Hardway is usually a good way to breeze through the syntax. - Think Python - a fantastic book. - Dive Into Python 3 - also a great short intro.

Ruby: - PickAxe. Google this. Must read book. Absolutely amazing reference. I don't think you need anything else if you read this. - Rubymonk, if you want to do fun exercises. Also a good intro to the syntax.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: