What’s the best programming language to learn in order to get a job?
Eh, depends on what sort of job.
In my line of work, Python or maybe Ruby — they’re both widely used by major employers, and particularly for automation tools.
But Java if you want to write for business computing; C# if you want to write for Windows; Objective-C if you want to write for the Mac or iGizmos; PHP if you want Great Cthulhu to rise from his tomb at R’lyeh. And Perl, Python, or Ruby and a smattering of shellscript if you want to do systems stuff.
Also C for a lot of embedded-systems things, and C++ ditto (and also for a fair amount of applications and a whole lot of what you might call scientific computing: computer vision, financial simulations, games engines, etc. -- but C++ is another Great Cthulhu Language).
Also, even if your only real interest is in getting a good job, it is very worthwhile learning more languages, preferably highly varied ones. The ideas that are natural or even necessary in one language may be useful to have in your mental toolbox when working in another. Consider, e.g., (1) some variety of assembly language to get a better idea of what the machine is actually doing, (2) a functional language like Haskell to show you a very different style of software design, (3) Common Lisp for its unusual (but good) approaches to OO and exception handling and to show you what a really powerful macro system looks like, (4) some languages with very different execution models—Prolog (unification and backtrack-based searching), Forth or PostScript (stack machine), Mathematica (pattern-matching), etc.
Warning: the more different languages you are familiar with, the more you will notice the annoying limitations of each particular language.
Eh, depends on what sort of job.
In my line of work, Python or maybe Ruby — they’re both widely used by major employers, and particularly for automation tools.
But Java if you want to write for business computing; C# if you want to write for Windows; Objective-C if you want to write for the Mac or iGizmos; PHP if you want Great Cthulhu to rise from his tomb at R’lyeh. And Perl, Python, or Ruby and a smattering of shellscript if you want to do systems stuff.
Also C for a lot of embedded-systems things, and C++ ditto (and also for a fair amount of applications and a whole lot of what you might call scientific computing: computer vision, financial simulations, games engines, etc. -- but C++ is another Great Cthulhu Language).
Also, even if your only real interest is in getting a good job, it is very worthwhile learning more languages, preferably highly varied ones. The ideas that are natural or even necessary in one language may be useful to have in your mental toolbox when working in another. Consider, e.g., (1) some variety of assembly language to get a better idea of what the machine is actually doing, (2) a functional language like Haskell to show you a very different style of software design, (3) Common Lisp for its unusual (but good) approaches to OO and exception handling and to show you what a really powerful macro system looks like, (4) some languages with very different execution models—Prolog (unification and backtrack-based searching), Forth or PostScript (stack machine), Mathematica (pattern-matching), etc.
Warning: the more different languages you are familiar with, the more you will notice the annoying limitations of each particular language.