Well here goes a different perspective for you from the computer science world. Learn 2 languages at the same time, but for totally different reasons.
1. Learn shell scripting. Preferably sh or bash. Avoid csh or tcsh, these shells are made for interactive use. I have 2 reasons for suggesting this (everything comes in 2's in the computer world):
a. Everything in Unix is a file. Modems, directories, video, sound cards, input, output, error streams, etc. Once you learn and understand this, and how to access these at a low level, Unix becomes easier. While doing this you will learn the difference between good and bad operating system design.
b. No matter how glossy a frontend they put on Unix (i.e. K Desktop, Gnome, etc.) the nuts and bolts are on the command line. You learn how to use things like vi, sort, cut, test, nslookup, dig, whois, grep, sed, awk, sendmail, telnet, ftp, kermit, x,y, and zmodem, etc. while learning how to tie these commands together into scripts. Because so few people today in the Windows world have this skill today you quickly earn respect for this knowledge. It is also easier to start in the Unix world and move to the Windows world than vice versa. Most people in the Windows world never escape it, and because of it have a harder time understanding things outside of Windows. Could you imagine being an email administrator and not understanding how smtp works, or how to setup a DHCP server but not have a clue about DNS? That is the norm in most IT departments.
To do this you don't need a personal Unix machine. Instead, find a free shell account. The object is not to learn how to install Unix, but what you can really do at the command prompt. Once you have explored and become proficient in this area installing, and understanding the install (i.e. what /dev/hda is) becomes a no-brainer.
2. For your second programming language start with Perl. I again have 2 reasons why I chose Perl:
a. The Perl syntax is very similar to php, c/c++, and tcl. Once you learn the basic syntax the real objective to programming (which I'll discuss in section b) becomes much clearer. I recommend you run your 1st Perl on a Windows system, because the help system is far superior than having to dig around on the web looking for answers, and the best modules are already installed on the Windows version. The object is to learn Perl, not how to install it. Get your copy from
http://www.activestate.com Avoid doing any Perl/WWW programming, just learn Perl. The reason I recommended Perl is bacause you don't need to spend your time configuring a web server, learning how to compile or run an application (make is a job in itself), etc. You can begin programming your 1st day.
b. The real objective to programming is not learning a certain language, but how to program. You want to learn the algorithms that are available (i.e. looping, recursion, pass by value, OOD, sorting, trees, lists, etc.) Once you learn these then any language you chose becomes one of learning the syntax and what the particular language's strengths and weaknesses are. I would never parse a text file in C, because this is Perl's and Cobol's strengths. If I want a quick dynamic web page I'd look at PHP or Perl. If I needed a very fast sorting algorithm I'd lean toward C++ with its builtin standard library.
I don't claim to be an expert in any language, it is not my job to program. But I can and have written many large programs in different languages by looking at a book for the syntax. These include Cobol, Fortran, C/C++, VB (including VBScript and ASP), Perl, PHP, Tcl/Tk/Expect, Rebol, and probably others I have forgotten. Ask me the syntax of most of those languages and I will stare at you with a glazed look in my eyes, because I only recall them when I really need them.
If you decide in the future to make programming your career then chose a language you really enjoy, find a job using it, and tear it apart until you know every aspect of it.