An
esoteric programming language (sometimes shortened to
esolang) is a
programming language designed to test the boundaries of computer programming language design, as a proof of concept, as
software art, or as a joke. The use of distinguishes these languages from programming languages that working developers use to write software. Usually, an esolang's creators do not intend the language to be used for mainstream programming, although some esoteric features, such as
visuospatial syntax, have inspired practical applications in the arts. Such languages are often popular among
hackers and hobbyists.