|This article does not cite any references or sources. (July 2010)|
A toy language is a term for a computer programming language that is not considered to fulfill the robustness or completeness requirement of a computer programming language. As such, it is not considered a suitable language for creating solid and reliable programs for use in production environments. Which programs to categorize as toy languages is difficult, however. Languages such as Brainfuck and Whitespace are both considered esoteric programming languages. They are Turing complete, which means they are able to compute any computable function, i.e. mathematically they have the same capabilities as languages such as Java, C, C++ and Common Lisp. Logo is another example of a toy language. Its goal was originally to create a math land where children could play with words and sentences. For a long time, GCC was shipped with a Toy programming language called Treelang which was essentially C without the advanced concepts such as pointers, arrays, and records.
A toy language is usually limited in one or several ways. That is, it has major limitations in the number of programming constructs or concepts supported. The language might be mathematically complete. Another typical limitation of toy languages is that they do not necessarily have a set of support libraries that are considered a requirement for creating production quality programs.
The main use of a toy language is in computer languages research. Some uses are as frameworks for researching new programming constructs, as a prototype for new language concepts, or paradigms. Other notable uses are as a learning or demonstration tool, e.g. in universities, for programming constructs and techniques not available in mainstream languages and as an exercise in building a language from scratch.