share
Stack OverflowWhat motivates people to learn a new programming language?
[-1] [12] szabgab
[2010-04-20 21:21:02]
[ language-agnostic programming-languages ]
[ http://stackoverflow.com/questions/2678733] [DELETED]

There are plenty of question asking Which Programming Language Should I Learn? [1] but I have not found an answer yet to the question what really motivates people to learn a specific new language?.

There are the people who think they should learn a new language every year [2] for educational purpose. How do they decide on the languages to be learned?

Then I guess there are people who learn a new language because people around them told it is a fun language and they can build nice things with it.

Of course if the current job requires it people would learn a new language but I think if the language seems to have a potential to earn money (e.g. There are plenty of jobs in Java or ObjectiveC can be used to write apps for the iPhone and make money).

So why are you learning a new language or why have you learned the languages you know?

I feel this should be acceptable in its (current) community wiki form. Voting to reopen... - ChristopheD
[+7] [2010-04-20 21:25:12] Corey Sunwold

I dont think of it as learning new languages, I think of it as learning new paradigms. It challenges me to think about problems from new angles and see solutions that I might not have otherwise.


I see where you're going although most languages simply implement one of the current leading paradigms (be it procedural, object-oriented or functional) (syntactical differences ignored). - ChristopheD
@ChristopheD - I generally find that to be true as well, but there really is more to it then that. Think about the typical style of Python code vs. Java code. Not to mention languages that are expanding into multiple paradigms. Python has already done this and C# is gradually getting more and more functional. I'm sure there are more examples but I have yet to broaden my horizons enough to know about them. - Corey Sunwold
1
[+6] [2010-04-20 21:30:11] Daniel Pryden

The Sapir-Whorf hypothesis [1] suggests that language is key to the thought process, to the degree that learning a new language can actually enable you to think thoughts that you couldn't have before (since you had no words to express those thoughts with). Whether or not the hypothesis is true, learning new languages (whether for communicating with humans or computers) can definitely broaden your horizons. So learning new programming languages is one of the best ways to become a better programmer.

[1] http://en.wikipedia.org/wiki/Linguistic_relativity

+1 (although even with all these nice theories, most men still don't understand women ;-) - ChristopheD
I guess they should try learning a non-woman then. - intuited
2
[+4] [2010-04-20 21:22:37] outis

Burning curiosity.


(3) You should probably get that checked out - Mike Robinson
As a Computian Scientist, I don't believe in doctors. - outis
3
[+3] [2010-04-20 21:27:21] macek

I like learning new languages simply because I like learning new things. Aside from that, there's a couple side effects.

  • It adds another tool to your kit: Learning new languages teaches you how to do things different ways. It's valuable to be able to approach a problem from different angles.

  • It keeps you fresh: If you just use what you've known for several years, it may be hard to learn new things or break old (possibly bad) habits.

  • It makes things fun again: Sometimes I just get bored with the languages I know another language just for the new excitement it brings.


4
[+2] [2010-04-20 21:27:42] joaquin

Some people feel deep interest in learning ways of expressing ideas. When I was a child I was impressed by natural languages as well as for other communication codes like morse, then came Fortran, pascal and BASIC. Now it is python. I am not a professional programmer, just I like to chat in code. my 2 cents


+1 for Some people feel deep interest in learning ways of expressing ideas - ChristopheD
5
[+2] [2010-04-20 21:28:05] ChristopheD

I mostly learn (at least basically) about new languages when they happen to spark my interest (for one reason of another).

The trigger could simply be a great technical article about the language or a great open source application or library written in it, a recommendation by someone I know, a hardware platform I'm willing to explore, a pet project or ...

When the language suits / compels me, I'll investigate further.


6
[+1] [2010-04-20 21:23:54] zombat

Cold, hard cash.

Mmm...

Basically an extrapolation of your own musings. If you want to write an iPhone app, what's the way to go? If you want to push out template websites with cheap hosting, what language would you choose?

Experienced developers would tend to migrate towards whatever tool is best for the job, but often the job is defined by the terms of payment.


7
[+1] [2010-04-20 21:25:25] maraspin

Start feelin' the languages you know aren't powerful/expressive enough (...or simply said, suitable) to do what you want to do next. And, I agree with the other post; sometimes this can even take you to completely different programming paradigms...


8
[0] [2010-04-20 21:27:48] James.Elsey

So I can understand more questions on SO > Answer more > ??? > profit


9
[0] [2010-04-20 21:27:23] jfawcett

Project + money. If there's an interesting project that I want to work on and they're using a programming language I don't know, then I'll learn. Similarly, if my team/org/company is moving to a new language, I'll learn so I don't have to find a new job. If I'm looking for a job, I'll have a pretty good idea of what the dominant languages in the field/area are, so I'll try to pick up anything I didn't already know.


10
[0] [2010-04-20 21:27:41] frankc

I learn new languages if they will add something new and practical to my problem solving toolset. For instance, I learned R because I didn't know any good language/environment for data visualization and computation. On the other hand, I have not learned Python because I am already adept with perl. I don't see what the value add is.


11
[0] [2010-04-20 21:28:40] Thyamine

I would argue for usefulness and continued education. Sometimes you want to learn a new language so you can do more, such as learning PHP if you know .Net, or vice versa. More platforms, a different way to do similar tasks, etc.

Another benefit is how languages work, learning more about what happens when compiled, maybe getting more insight into your own preferred language because you learn how other languages approach concepts you are already familiar with. For example, in school I learned C++, but I primarily work in ASP.Net/VB.Net, and would like to get into C#. I've also tried playing around with Objective-C, which seems so completely different I'm both very interested and frustrated while trying to pick it up.


12