An esoteric programming language, or "esolang", is a computer programming language intended to entertain or confuse, to be a joke or to explore new concepts. Esolangs may be minimalistic or, conversely, bloated. Often an esolang has features that made it harder to use on purpose. Esolangs are mostly not designed for serious use, unlike mainstream languages.