I think this may be another one of those swearing-in-church type opinions, but I think C++ is excellent as a compromise here. It's got its faults, but C++ allows use of objects when necessary or helpful without the ridiculously pedantic OO of Java. It is quite nice to be able to use it when convenient while not having to do so when stupid.
I swear C++ gets a bad rap because most people have only seen a gross mixture of C++98 and C in their codebases
A fully modern C++11 codebase is a beautiful thing