IMHO:
C/C++ is one of the best things to learn. And I know of 3 java programmers who learned how to program in Java first before C++ and had tough times. Everyone I know who knew C/C++ first and then went to java had a much easier time.
I highly recomend learning C/C++ before java. Learning the Unix OS is another thing that could prove useful. There have been many times I wished I was back on a UNIX box instead of the windows platform.
If you will be moving to a windows based system, I would suggest learning VB as well. It's demand is not as high as C++ but you have a much easier time designing the GUI and you can always link it to a C++ dll if necessary.
Another language that could prove useful would be SQL (structured query language). This is used to interact and query both oracle and MS Access databases. Understanding SQL is not that difficult either (the basics to the medium stuff at least). SQL becomes difficult when you start to do intersects and some more advanced things.
To close this, I would just like to say that NOTHING is a waste of time when it comes to programming. If you learn to program on a unix system, there will be jobs for you. The department of defence still uses unix systems to program on as well as windows. For the 2 years that I worked for the government, 90% of my work was done on a unix based system. Learning to program on a windows based system is also suggested as alot of companys are using it now. However, it does not matter what you learn as long as you are learning.
The first place I got to fully play with code was on a MUD (multi user dungeon). You can download the code for the mud and complile it on your unix system. It comes with its own makefile. I did learn alot from the MUD code and the algoritms, functions, etc used in it gave me ideas for college projects. If you get the chance, check it out.
Matt
DISCLAIMER: This is my first post this morning and I most likely rambled above. If so... Sorry
