Это полностью зависит от того, чего вы хотите достичь. Вы правы, C ++ и VB - это два совершенно разных языка, и в них есть несколько принципиальных отличий (управляемый и неуправляемый - главный, который приходит на ум ...). Тем не менее, если вы просто занимаетесь базовым программированием для Windows или веб-разработкой (в ASP.NET), я бы остановился на VB.Net, и на самом деле нет особых причин бороться с попытками изучить C ++ для этого. Если вы просто хотите учиться или хотите делать что-то, что требует безумной производительности, тогда вы, вероятно, захотите изучить C ++. Это действительно зависит от того, что вы хотите с этим делать. (Это мое мнение, хотя, я уверен, вы получите здесь разнообразие :-))
Редактировать: Исходя из того, что вы сказали, если вы хотите сделать что-то, что требует C ++, то у вас действительно нет большого выбора. Java синтаксически похож на C ++, но они ни в коем случае не одинаковы. Некоторые из самых больших (на мой взгляд) головных болей и ошибок, связанных с C ++, связаны с необходимостью управлять своей собственной памятью, о которой позаботится Java. Я бы не выбрал язык, основанный только на синтаксисе, который не так сложен для изучения и изучения, как некоторые из особенностей самой языковой реализации. Кроме того, если вы хотите создавать приложения для iPhone, посмотрите Titanium Appcelerator , который позволяет писать приложения для iPhone в HTML5 / Javascript, а затем переводить их в собственный код. Это позволит вам освоить знания JavaScript без необходимости изучать новый язык.