C++ is a VERY handy language to know but it's hard to start with. It has the most versatility compared to most languages I have seen. I mean, you can even write your own Delete method to increase speed and decrease memory requirements!

Java is on the same lines as C++ but not quite as fast and almost as annoying. Basically Java is a memory sloth (automatic garbage collection makes life easy for you but hard for your processor). It is on the other hand easy to debug and find out what is wrong in your code. It also handles errors quite nicely if you are expecting them to happen.

VB is pretty lame from my experiences - pain in the ass more like it. But it is handy for point and click programmers and if you're doing asp.

Don't know perl or python.

A good place to learn different languages is by browsing your local universities computer science department home page and look at low level programming courses. By the end of the term they will have a bunch of examples of programs, lecture notes, etc for you to learn from all for 'free' (who needs to pay tuition anyways?)!

If you wanna check out my uni's site go to University of Victoria . Go to the courses page and check out csc110 and 115 for java help. 230 for assembler and SENG 265 for some unix command line coding in C.