First off you need to decide which "part" of programming you wish to get into. There are arguably two main areas, the business side and the science side. If you go into the science side, you will need to pick up on C/C++ because that is still basically used a lot. On the business side, things are a bit more complicated. I dont know who said that Visual Basic (VB) was not good to learn but they obviously do not deal w/ business related programming. Many companies today use VB application development so it is a good language to learn from that aspect. Also, on the business side, you will need to pick up on the different web technologies (HTML, XML, VB/JavaScript, Java, COM, ASP/JSP, etc...). Its all a matter of direction.
To your question about Java v. C++, Java is derived from C++, thus its syntax is very close to C. Many people are calling on Java to dominate in the comming years, I dont know how truthful that is... we'll see.
I am a bit biased to the bisness side of things (its my living) so I may not have characterized the science field very accuratly... I was just trying to give you an example...
What this all boils down to is that there is no "ONE" place to start, especially since technology is moving so fast. Instead of learning a language from the top down... try learning the logic behind it. A good teacher I had said the following when he was trying to teach us to program, "Any problem, any language, any computer, any time." All languages are comprised of sequentials, conditionals (if..else), and Loops (for/do while) and once you understand those concepts, picking up a new language will be relatively easy... after all, its just syntax.
alin