tags:

views:

572

answers:

8

if i like Ruby a lot, is there a reason I should learn another language now, such as Lua or Erlang?

+25  A: 

New programming languages, much like spoken languages, can open up new perspectives. Learning new languages -- especially ones rather different from what you're used to (and Erlang will probably fit that bill) -- can teach you a lot of different things you didn't even know you didn't know about programming. So yes, I think you absolutely should, even if you just learn enough to tinker with it and get a feel for the new language.

mipadi
More so than spoken languages, I would say. I'm not sure there's that much for a Rubyist to learn from Lua, but for example Erlang? Lisp? C? Totally different ways of thinking. Also, Ruby isn't perfect for every application. Sometimes you really do want C.
Chuck
But if you still "like ruby a lot", it's probably worth getting further up the learning curve. (Not ruby-specific - true of any language.)
le dorfier
+1  A: 

On the other hand, there's something to be said for really knowing a language well. You'll be able to do a lot more with in-depth knowledge of a single language than you will with surface knowledge of a dozen.

Daniel Straight
"if you ONLY know a hammer, you look on EVERY problem as though it is a nail"
Peter Miehle
And if you only know what a hammer IS, you can't drive in anything. ;)
Daniel Straight
I think you could still drive a car.
Robert S.
I'm not saying you SHOULDN'T learn another language, but with 7 answers and about 30 upvotes, focusing on one language gets only one of each. Don't you think maybe there's too much emphasis in that direction? We need balance.
Daniel Straight
+10  A: 

Learning a functional language in particular can be extremely beneficial. Becoming familiar with the functional style of programming is a surefire step toward becoming a better programmer. Lisp (or its derivatives) in particular is a good language to study. Here's a list of past thread on SO that might offer you some insight along these lines:

  1. Why do people think functional programming will catch on?
  2. What’s a good Functional language to learn?
  3. Benefits of learning scheme?
Evan Meagher
+1  A: 

I always enjoy learning new languages for the mere challenge of it. It keeps my brain fit. I've also found it makes for good job interview fodder to be able to say "I'm flexible. I'm adaptable to whatever your needs may be in the future. And I can prove it with my long list of languages."

kmorris511
+2  A: 

If you like Ruby a lot you should definitely learn another language... one without sigils if possible.

fortran
Oh they're not like Perl sigils, giv'em a break. They're just for scoping, not Hungarian notation.
guns
+5  A: 
Norman Ramsey
A: 

My main language is PHP. I am a script language fan, nevertheless I have dived into C#, Java, Python, Ruby and even OO JavaScript books to find new mechanisms, ways of thinking. I have found pretty many stunts in Java for example, that I could implement in my all day work. So learning or just studying new languages can widen your perspective.

Ikon
+1  A: 

Seems to me that a professional learns the tools he needs to use. Frameworks, containers, languages, all are fair game. I started out in Pascal, went to C and then C++. Then converted to Java. These days its mostly Java with a lot of Javascript and some PHP. Easy enough right? Well, I also need to learn Bash scripting and Perl. Never mind all the other crap I need to get on top of (if you say you understand all of web authentication I will call you a liar). There's a lot of stuff out there. Jump in. Be willing to try different things.