If you want to do amatuer type work BASIC, lots of stuff around on the web to help out, though mainly windows.
If you want real performance, then C, lots of good stuff to learn from the web and good compilers on Linux.
Good all purpose general stuff seems to be Python, again lots of stuff on the web and good support in Linux.
I don't use Python myself, I'm half stuck in C/perl/(gdl/IDL) land and not good at either one of them. But in general I use C for all my performance type programs and perl for utilities. If starting now, knowing what I do, I would skip Perl and go straight to Python.