"OBJ" refers to the language family, with OBJ3, CafeOBJ, BOBJ. The OBJ are algebraic prog and spec languages, based on order sorted equational logic, possibly enriched with other logics (such as rewriting logic, hidden equational logic, or first order logic), with module system of parameterized programming They are logical languages, in the sense that their programs are sets of sentences in some logical system, and their operational semantics is given by deduction in that logical system. All recent OBJ languages use order sorted algebra, with a rigorous basis for user definable sub-types, multiple inheritance, overloading, multiple representations, coercions, etc. also user definable mixfix syntax, execution strategies, and memoization. All recent OBJ languages provide parameterized modules, module instantiation, views, module expressions, etc., to support very flexible program structuring and reuse The module systems of Ada, ML, C++ have all been influenced by the OBJ