We really need a sticky thread for this topic, it gets asked so much.
The concensus is, that for a first programming language you learn, it doesn't matter. They will all give you a good beginners perspective on how programming works.
It is my opinion, and the opinion of many, that if you want to eventually become an expert programmer, capable of solving any problem in any language, you should learn and master C++ (including C). It's just the most widely accepted standard for programming there is. If you master C++, you will learn low-level concepts that can help you tackle things like assembler programs, and you will learn abstract concepts related to object orientation. C++ does it all, makes nothing simple, and lets you do anything, it's professional. I used to believe it's the only place to start but now I believe it is the only place to end up (if you want to be a master programmer)