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.
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.