In Pure object-oriented (OO) languages, everything in the system is, consistently, an object, without exception: every class, instance, method, character, punctuation mark, etc. Consistency makes much programming easier to learn and do, faster, and more productive. In non-pure OO languages (C++, Java, etc.), some things are, inconsistently, not objects: classes, primitives (characters, punctuation), etc. Inconsistency makes much programming harder to learn and do, slower, and less productive. On this page, languages are arranged in two groups and levels: 1) Top group: types or classes of language. 2) Bottom group: specific languages.