People like to categorize programming languages into paradigms. There are object-oriented (OO) languages, imperative languages, functional languages, etc. This can be helpful in figuring out which languages solve similar problems, and what types of problems a language is intended to solve.
In each case a paradigm generally has one “main” focus and technique that is the driving force for that family of languages:
In OO languages, it is the class or object as a way to encapsulate state (data) with manipulation of that state (methods).
Continue reading