Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The benefits of learning languages that you won't use [closed]

I have read numerous time that learning a language such as Haskell, Lisp or Smalltalk will somehow make you a better programmer while you program in other languages.

Is there more than just anecdotal evidence for that claim? Or is it just the way people rationalize having spend a lot of time learning a programming language that they will never use?

like image 774
Christian Avatar asked Jul 13 '09 13:07

Christian


2 Answers

IMHO, it is all about learning a new programming paradigm. If you know Java and then C#, there's not much gain, once both of them have almost the same "type of programming".

But if you get to learn a functional language or dynamic, for instance, you're forced to think another way, and that will probably help you to program better in your favorite language.

It is something like: "It is so easy doing this in {different language you learned}. There must be a better way to do this in {language you already know}". And then you rethink, and build up a more elegant way to do this in {language you already know}.

like image 102
Samuel Carrijo Avatar answered Mar 06 '23 21:03

Samuel Carrijo


I don't have any hard evidence, but I have really appreciated the different way of looking at problems that I have since learning lisp (the same goes for python and c).

The key isn't necessarily learning different languages though, I believe that the key is actually the different viewpoints that you gain by learning different programming styles.

Good examples are functional, imperative, object-oriented, etc. Also, there are common design differences is interpreted vs compiled languages; static vs dynamic typing, etc.

Although most people do a majority of their programming using a single style (most commonly OOP over the past few years), I think that all programmers should know multiple styles so that they are better able to see the shortfalls of their own style.

like image 36
chills42 Avatar answered Mar 06 '23 20:03

chills42