+1  A: 

Probably not BASIC. ;-)

Did you find any particular language interesting in school?

Don't bother with "all the languages". Get to know at least one well and play around with others as desired.

Jon Ericson
+5  A: 

If you're asking "what should I learn to get a good job?" then I think you're asking the wrong question. You should be thinking about what industry you want to work in, that will dictate what you end up learning and applying to your real world applications. So if you want to go into web dev stuff look up some java web frameworks or pick up php (or w/e). If you want other stuff, look up what that industry uses and try to focus on that. In the beginning of your work life, your principles of programming will be what you use the most, which are usually, for the most part, pretty similar across most major languages.

+3  A: 

The most dominant languages in terms of job availability right now would definitely be C# and Java. If you concentrated on one of those two (along with the other bits and pieces along the way like .NET in general with C#), you will put yourself on a good course.

TheTXI
+1  A: 

There's no real answer for this. I assume that if you have a degree in programming you've already done a fair amount of it in school, so hopefully you have an idea of what sort of field you'd like to work in. This will heavily influence your language choice. For example, if you'd like to go into web programming, you shouldn't be learning something like C++. If you just want to find a job, C# and Java would be good choices.

The only answer anyone can give you will be "it depends".

Chad Birch
A: 

C, C++, Java. If you're fluent in these, you probably will be allowed a bit of slack in learning the in-house language of choice for your next job.

That said, You should also pick up a few others just to keep your mind sharp.

  • SQL: learn to express lots of logic in a single query. Until you understand joins, you don't understand databases
  • Python, Perl, or some other dynamic language with a big library. These languages help you make your programs very terse and easy to read.
TokenMacGuy
A: 

You should learn two languages simultaneously, while exploring concepts like disc IO, creating xml files, reading from databases, etc. Implement the concepts in both languages. Just by doing this you will demonstrate you are flexible in any interviews (make sure you bring this method up) and you will prove to yourself that the concept is more important that the implementation.
One important note, make sure to keep good notes, you will be the one wanting to remember how you did something 2 years from now, the better notes you keep the less reinventing you have to do.

Dining Philanderer
A: 

At times like this, when jobs are scarce, unemployment is high and pay is decreasing, learning something to get a good job is not wrong.

With that in mind, I suggest looking on craigslist (or any other major job posting site) and see what's in demand, especially for your level (entry, intermediate, whatever it is). Decide what you want to learn based on that.

MK_Dev
A: 

For a simple approach, simply check monster.com or dice.com and see what companies are looking for in your area. Then, decide if the language in demand is something you would feel comfortable with, or comfortable learning. Then, decide if you like it. If not, look into the second language in demand. Sometimes, the approach that pays the bills trumps the philosophical approach to programming ;)

HardCode
A: 

The simple fact that you graduated is the key here. It would be blind luck if, before you were hired, you managed to "concentrate" on the specific language skills your (eventual) employer will want/need. Rather keep your interest in programming up until you find a job, in whatever is your favourite. Really learn IT!

Then, after you do land a job, concentrate on the language they want you to use. Ask around to see who is a GURU locally. Ask him or her for some samples of their code on tough problems, them understand and emulate their coding practices. Also... get the local coding standards and best practices explained to you and understood. They should all make sense.

Have a great time!

guzzibill
+1  A: 

You should learn languages that 1) meet your needs, 2) pique curiosity or provide other forms of intellectual stimulation, and 3) push and/or substantially alter your current skillset and paradigms. The languages that meet this criteria always vary, so it's really up to you.

The majority of "real jobs" are going to be for Java or .NET development, with a light smattering of C(++) and PHP work mixed in. Python is being adopted in corporations at an increasing clip, though.

Make sure that you're always practicing and always trying out new things in your spare time, even after you obtain gainful employment in the field. Intellectualism and curiosity are the most important traits to look for whilst hiring new programmers, and if you play and learn and program for fun consistently, you'll get and stay far ahead of the curve.

cookiecaper
A: 

C# is the most flexible imho, since it gives you a great understanding about the .NET framework. This will make it a lot easier to do asp.net for web-development or .NET compact for Windows Mobile development. Java is a great competant here as well, since Java is widely used in applets on webpages and in mobilephone applications. If you want to work with embedded systems you should prolly go the C++ way, which will make it very easy to learn C (as it's basically just a stripped C++, history aside :) ).

But as others pointed out, you should consider which industry you plan on working on and then go from there.. Good luck..

cwap
+3  A: 

I'm surprised that no one has mentioned the obvious answer: English!

Programmers who are not only good at what they do, but also can communicate well, both verbally and on paper, will always be in more demand than those who can't.

EDIT: In today's multi-national environment, I should change this to "the local main business language of your region". I maintain that being a whizz-bang programmer, but not being able to communicate well with both managers and clients is an employment negative.

Brian Postow
Learning English is not the obvious answer as most of the world doesn't speak English as first language. Other than that it doesn't make you a better communicator.
Tomh
Maybe in the English-speaking countries that's true. I've never worked in a European company, even one that used English as the "business language," that cared that much about it or was stupid enough to turn down a great programmer because their English was poor.
Michel
A: 

in the end... languages dont really matter.

all you need to know is...

  1. system level programming language (usually C)
  2. object oriented language (C++/Java/etc)
  3. scripting language (bash/shell/etc)
  4. web language (html/css/javascript/flex/GWT stuffs/etc)
  5. server side application langauge (JSP..java/PHP/ASP.NET/etc)
  6. misc (python/perl/etc)

You can just go and learn whatever you want. But try to concentrate more on architecture, design, and concept. Knowing more languages doesn't make you a good programmer. However, knowing how to design a system or an application using different technologies and comparing different technologies for certain situations would make you a valuable asset.

Hope this helps!

bLee
btw, there are things like.. functional, hardware, and other interesting languages. Data oriented ones like.. XML and JSON are gonna show up a lot as well.
bLee