I have used Perl (professionally), C++ (p), Python (academically), PHP (a) and Java (a) which are all object oriented.
When programming for Perl I rarely (if ever) used the object-oriented aspects of the language. While using C++, on the other hand, I used objects constantly as the tremendous need for reusing code across multiple applications and data stores. These were used for very different purposes and to very different scales. Often OOP is oversold as a solve-all solution - to the extent that Java forces you to think of everything in terms of objects.
UMLs are essential for any application. I have worked with UMLs ranging from sketches on napkins from late night meetings at bars to multi-level digital UMLs including responsibilities, interfaces and class diagrams. The UML is your road map to building any application, it's importance only grows as the workload of developing a larger application is shared among more than one person.