I'm 21 and didn't go to University and hence completely self-taught from tutorials, screencasts, books etc, but when it came to the decision of what languages to specifically learn, I thought, what's going to the most beneficial to learn, ie. for money, exposure, etc... So I did the Sun Certified Java Programmer course, but have never used it since, I learned Objective C to make iPhone apps, I have used it lots, I used PHP for web stuff, I've used it lots.

So my question is, if you chose to learn a specific language, was it for money or for a certain job or because your employer needed you to get up to speed on a language for a specific project? I cant really think of any other motivations to be a programmer? Is that shallow??

6 Answers 6


Motivations range from availability to curiosity to best-choice-for-job to no-choice-for-job:

  • I learned BASIC out of curiosity and because that's all that was available to me at the time (DG Nova 2) [1976]
  • I learned Pascal because that's what the university taught (Cyber). [1982]
  • I learned DataFlex because it was available and was sooooo much better than BASIC for PC business applications (IBM PC) [1983]
  • I learned Assembly Language because BASIC wasn't fast enough to get the job done (Apple ][). [1983]
  • I learned C because it had the best libraries to get the job done for the platform (80286) [1984]
  • I learned Prolog because it was there (curiosity) [1985]
  • I learned Lisp because academics kept using it to do cool things (curiosity) [1985]
  • I learned SmallTalk because it looked like fun (curiosity) [1985]
  • I learned C++ because I read Stroustrup's book [1985]
  • I learned Java because it was the best cross-platform solution available at the time for the job [1999]
  • I learned VB because that was the IT shop standard [2002]
  • I learned VB.NET because it was so much better than VB [2002]
  • I learned C# because VB.NET was too #@$% verbose [2003]

Addendum: Javascript, HTML, vbscript, powerbuilder, and several others all learned because that's what the job required


I've learned a bunch of languages (C, C++, Perl, Bash, SQL, VB, VBScript, JavaScript, Java, C#, Ruby, Python, a little bit of Lisp, ObjectiveC, a tiny bit of COBOL, a bit of Scala, a bit of Haskell, etc) -- most of them I learned on my own time, and not because of anything having to do with my career.

I just like to learn new languages. I like to see how things are done in other languages. I think it makes me a better programmer/designer in the languages I get paid to know; but my primary motivation is curiosity. Usually, it is because I wanted to learn how to do something for myself and doing that thing required knowledge of a certain language (iPhone App development, for example).


I think most programmers started because they like to solve problems. Of course you won't spend 8 hours a day for free, but if you want big bucks, you'd be better off becoming a lawyer or something.

As for the language selection; everyone needs a job, and if all you have to offer is a knowledge of COBOL, then you already know in what kind of environment you will end up.

I'd say you'd have to balance pay/language demand with personal interest, if you want to keep programming for a while.


Hum... I learned some of them for school, some because my employer asked me to, and some because a needed them for personnal projects.

There are two exceptions though ! I learned Go and Javascript (for Ajax) because it seemed "hype". So there, another reason.


I learned C# because I was familiar with the syntax (having learned C++/Java in school), the .NET framework has always offered a lot in the way of making certain annoying operations easier and there were (and are) lots of jobs for it.

The improvements to it have almost entirely been good, so I've stuck with it as my professional language of choice.


About half the languages I know are because it was what the school used and thus I got used to that,e.g. Watcom BASIC, Pascal, Commodore PET Assembler, Modula-3, C++, Scheme. The other half are mostly on-the-job ones like VBScript, C#, JavaScript, and T-SQL.

I'm a programmer because I like building systems and solving problems. Sometimes that may mean I'll learn some bits of a new language to help someone else. For example, if someone in my office asked for my help on something, it may take me a little while but I would honestly try to help as best I can.

Not the answer you're looking for? Browse other questions tagged or ask your own question.