To be honest, I am not one of the best programmers in high level end, but if you want my opinion...
I think starting with C++ is not a bad idea at all, many people might think: "why? he is going to learn almost everything in Java, it is not worth to waste the time"
The short point is (Quoting Rajesh R Subramanian): Don't forget that my compiler compiled your compiler.
What I want to mean is... C and C++ are the basics. Yes, Java and C# have tons of new features in comparison with them, but (in my opinion) they are the best to learn one of the most important things in programming, that is the way of thinking and how to build the algorithms.
The "limitations" of C++ forces you to think a bit more, to make things clean and pay attention to the details. Java and C# make things "easier" and you don't need to pay attention to the same things.
I think 6 months C++ and 12 months java can bring you more than just 18 months Java.
Just my 5 cent
[addition]
Some good links
Useful Reference Books[
^]
http://www.csharp-station.com/Tutorial.aspx[
^]
http://www.visualstudio.com/downloads/download-visual-studio-vs[
^]
techniques to keep well maintained and understandable coding parts[
^]