list three examples of object oriented programming languages