In my experience Java and C++ are good starting points, but if you're 100% new to programming they can be tough to learn. C is in demand in some environments, particularly software testing, because C can be used to automate testing. Python is also becoming more widely used in the testing arena. ASP, JavaScript, PHP, and XML/XSL/XSLT/CSS are in heavy demand if you're in the web programming arena. The languages you need to learn are dependent upon what sort of programming you want to do.
Visual Basic is still in demand; I know a company that pays ridiculously high contract rates for expert
VB.NET programmers. "Bleeding edge" technologies aren't nearly as in-demand as tried and true languages. Some companies still need Assembly and COBOL programmers, for example, and I see more demand for those than I see for C#.
The best way to figure out what to learn is to think about what you want to do in the future and look at the job ads for people who do that. Check out what skills they're asking for and note the ones that occur most often...and acquire those skills first. There's no point in learning an obscure language if you can't find work with it...unless you just like to acquire skills you'll never use.
I've worked mostly in SQA over the last 8 years, working with both web apps and client/server apps written in proprietary languages like Uniface, so the languages that have been most valuable to me are C, SQL, HTML, XML/XSL/XSLT, and JavaScript. But that's me. :-) Now I'm doing DB development and I'm really focusing on Transact-SQL. I'm having to pick up some VBA because even though the company's apps are being moved from Access (which I don't know well) to SQL Server (which I do know well), the Access side still needs code changes and stuff. Most of what I've learned has been due to necessity and for a specific purpose at work rather than switching fields and trying to find a new job based on my new skills.
I hope this helps!