M
m35
Guest
I think it depends on exactly what you're looking to learn and do. If you want to just get stuff working, then perhaps C# and VB.NET would be better. They are generally more lenient and flexible than Java in OOP design patterns (some might say that is a bad thing). If you are wanting to take a more disciplined and correct/rigid approach, then Java is probably the way to go.But which, in your opinion, is the best to start learning OOP? Java has the advantage of being a decent language to learn in its own right...REAL MEN don't touch any other programming language until they have read SICP and mastered LISP
I would never recommend anyone learn C++ as an introduction to programming, nor would I recommend it as an introduction to OOP. Nearly all the basic concepts can be learned in other languages, without the extra complexity C++ requires you to deal with.
If you already have a little programming experience, then maybe understanding the basics of OOP would be the next step. In that case Java, C# or VB.NET are all much simpler introductions to such concepts.
My suggestion is to learn C++ only after you've established a nice foundation of programming and OOP basics, because you'll spend more time battling the idiosyncrasies of C++ and learning its 'best practicies' (so you don't shoot yourself in the foot with the language) than actually learning much about programming.