For OOP, C++ or Java is better. Until
VB.NET, Visual Basic was not a full fledged OOP language. Even VB6 cannot be considered a real OOP language. For advanced readers, the best book is Thinking in C++ or Thinking in Java (based on the language chosen). Both are authored by Bruce Eckel and available for free download from his website...
BTW, I dont recommend
VB for any serious programming. I was developping some code in
VB.NET for an engineering problem. Then, I took the same code and rewrote it in Java. Even though Java is said to be slower than C++ due to the nature of its compiling, it was much much faster than
VB.NET... It might have been a singular case, but I stopped using
VB because of it. So, for small programs, you might like to stick to
VB and for larger ones, I recommend C++ or Java...
Arun