Object-oriented programming language designed to have as few implementation dependencies as possible.