A programming language that provides facilities for the definition and manipulation of objects, an object being a collection of data that for example can be sent messages that change the values of its components or read the contents of the object. Such languages are a major technology for developing Internet applications.