views:

163

answers:

5

I figured its time to start learning another language, but I can't decide between Ruby and Python (I'd like to start using Rails or Django).

Which one do you think would be both most helpful and fun to learn, and if possible, could you give me some sites/links that would help me get started? If you think there's another language that would be better than those feel free to suggest it.

Thanks!

Currently I know the following: C++, PHP, Flash (AS2, AS3 ...), HTML/CSS

+1  A: 

The real question is: what do you want to accomplish? Why are you learning a new language?

If it's to use a library or framework (like rails) then use whatever language that library or framework is written in.

Different languages have different advantages. Start with "What do I want to program" and go from there.

Woodrow Douglass
A: 

Personally, I'd go with Python.

They're both excellent languages and I've started to learn them both. Python, it seems to me, has more widespread application, although I'm sure the Ruby-ites will start screaming at me for that. I like the way it feels better than Ruby. In the past I used a Smalltalk-like language and I felt there was more resemblance to that in Python.

On the other hand, you could start programming Java/Android. With C++ you're halfway there.

Leo
A: 

We use Python significantly at our company, as most of our in-house software is driven by Python plugins and wrappers, coupled with Maya supporting it as a scripting language.

I've spent a bit of time using it, and it's great for quickly hacking tools and utilities together, especially if you're involved with managing Linux systems.

Can't really comment on Ruby as I've not used it before.

I'm probably going to get a lot of shootdowns here, but if you already know PHP and C++, along with you appearing to lean towards web based languages, why not set about learning C# and .net? With Mono on Linux, there's good cross platform support there for the .net world and it's really straight forward to get into it. I started C# with almost zero programming knowledge and now I'm writing (possibly badly coded...) apps internally to handle certain tasks and requirements.

SO and CodeProject have been, essentially, my two resources for learning it.

dotalchemy
A: 

Pick one... Python and Ruby both have great communities around them with a ton of resources online.

You will not get a good answer for this question here, and it is highly subjective.

Buggabill
+5  A: 

Python and Ruby are both powerful and practical languages, and you would be well served by adding either to your tool belt. That said, if you are looking to stretch yourself, you may be better served by learning another programming paradigm. Python and Ruby are both imperative languages, just like the C++ and PHP that you already know. (Well, maybe not "just like" because they are tons better, but they are in the same family.) So if you are really looking to stretch yourself, learn a functional programming language like Haskell (or many others, I'm not going to make a list).

Steven Rumbalski
A -1 on a subjective answer without a corresponding explanation is not cool.
Steven Rumbalski
Indeed, I thought that was quite a well reasoned answer to a very open question.
Paul Leader
Agreed, uncool with the drive-by downvote. +1 for a good answer to an old question.
Dave Sims