I agree with learning C++ if you want to get a good handle on programming. My only warning would be that debugging programs can be hairy - error message tend to tell you the last thing that failed, but that's not always where the problem starts. A good website to help you is
cplusplus.com - The C++ Resources Network
If you're going to do any GUI programming I'd also recommend looking at
GTK later - a cross-platform toolkit for developing GUI applications. This is what is used to develop the GNOME system on Linux, for example, as well as many Windows applications. There's a GUI builder called Glade.