Object based languages allow dynamic allocation. Besides subprograms, the languages also have other types of Pascal provides minimal usage of ADTs. ADT in Pascal are records, each of which is collection of heterogeneous variables. Smalltalk provides a very high degree of abstractions and encapsulations. Everything is an object with specific characteristics and behaviors.
Objects use messages to communicate to each other.
The only thing that an object knows about another object is the other object' s interface. Private data members and methods are hidden. Objects can inherit the characteristics and behaviors from parent objects. This violates the principles of information hiding and may lead to unintended side-effects. Pascal is an example of a block structured procedural language.