It is fair to say that OOP has become the dominant paradigm in commercial programming and there are a huge number of object-oriented languages, each with their own take on the required features. Java is probably the most popular. With its support for multiple platforms, its main advantage is the possibility of running the same code base on different systems. It is also the "native" language for Android development.
If raw performance is the primary concern, then C++ is almost certainly the best language. Like its most immediate predecessor C, this language lets you get a little closer to the actual hardware. With C++ compilers for all the major platforms, this is a wide spread language.
Comparing C# and Java
When I started putting these pages together I wasn't sure whether I would go with C# or Java as the main example language for object-oriented programming. Realistically, it doesn't make much difference. Although the original rationales behind the two frameworks are different, the resulting languages are very, very similar.
You can find a more detailed comparison of these two languages here...