At school and university, most of us are faced with such well-known programming languages as BASIC, Pascal, C. Often these exotic languages are generally invented for entertainment, they either parody their real brothers or are generally an absurd approach to some serious programming dogmas.
But any such language has a pleasant feature - the text of the program in it is understandable only to an initiate, or incomprehensible at all if, in order to compose a program, you must first create it in an ordinary language. If the developers of ordinary languages try to make the syntax of their offspring as clear as possible, and programming comfortable, then the creators of unusual languages are guided by directly opposite tools to achieve their uniqueness.
INTERCAL. This language is one of the oldest in computer programming. Its creators themselves claim that the name literally means "A programming language with an unpronounceable abbreviation." INTERCALL was founded in 1972 by students Don Woods and James Lyon. Young people wanted to create a parody of existing programming languages, and also trained their brains. As a result of their brainchild, INTERCALL is fundamentally different from other languages. Standard operations familiar elsewhere work here in an unusual way. The authors introduced paradoxical constructs into their language, such as "COME FROM", "FORGET" and even "PLEASE ABSTAIN FROM CALCULATING" ("go away", "forget" and "please refrain from computing"). Special names were given and symbols. For example, quotes are called bunny ears, and the equal sign "=" is a half-grid, since the lattice itself looks like "#". Nevertheless, despite the unusual nature of such a language, it allows you to do the same calculations as any other normal programming tool.
Whitespace. The name of this language literally means "space". This tool has a significant difference - only non-printable characters are used for its control structures, including space, tabulation and line feed character. The consequence of this was the fact that the text of a program in this exotic language can be hidden inside the source code of another program. "Whitespace" was born on April 1, 2003 and was written by Edwin Brady and Chris Morris. The date of birth of the language was the reason that it was initially perceived as a joke.
Chef. The authors of this language in 2002 were David Morgan-Maron. Interestingly, Chef programs are similar to recipes. All variables are named after staple foods. The stacks where the variable values fall are called "mizing bowls", and the operations for working with them are "mix", "stir" and so on. The Chef language is based on the following principles:
- programming recipes should not only give the desired result, but also be easy to prepare and unusually tasty;
- recipes should be available to any "chef", regardless of his budget;
- Traditional culinary aids such as tablespoons and cups are allowed in the recipes.
To understand the uniqueness of this language, you only need to provide a list of ingredients used for cooking - p (potatoes, potatoes), d (dijon mustard, mustard), l (lard, lard), r (red salmon, red salmon), o (oil, oil), w (water, water), z (zucchinis, zucchini).
Velato. In this language, the source code is based on a sound MIDI file. Programs are defined by the order of notes and their pitch, which gives flexibility in coding. The creators declare that they strive for the inherent harmony of music, in particular jazz. All messages in the language begin with the main and common note for all, and musical intervals are already set from it, which act as commands. To make the rhythm in the messages more musical, you can change the main note.
Shakespeare. This exotic language was created by John Aslaud and Karl Hasselstrom. The goal of Shakespeare was to disguise the source code of the programs, making them look like plays by the great playwright, by analogy with the language of Chef. At the beginning of the program, a list of acting characters is announced. This is how the authors declare the number of stacks. As a result, they get names like Romeo or Juliet. The heroes communicate with each other, ask each other questions, in fact, they perform input / output operations and use conditional operators. Although the programming model resembles an assembler, it is actually much more verbose. From the beginning of the document to the first blank line is the epigraph. The compiler takes this first paragraph as a comment. Parts of the Shakespeare program code are called "Acts", which are divided into scenes. Each "Scene", like each "Act", is numbered in Roman numerals, serving as labels for the operator "GOTO". In order for the characters to take part in the action, they must first enter the stage. To put them there, use the "Enter" command. True, if there is more than one character on the stage, it becomes unclear with whom exactly the communication is being conducted. Therefore, the superfluous character is removed using the "Exit" command. At the end of the act, or if you need to clear the scene from several characters at once, use the "Exeunt" command.
Omgrofl. This software was created in 2006 by engineer Juraj Borza. Language keywords are very similar to common slang on the Internet. The name "Omgrofl" is the result of combining the words "omg" and "rolf". The latter is actually one of the commands of this language. Curiously, the variables in it should be a form of lol slang. So here you can see lool, loool, looool and so on.
Piet. This exotic language was invented by the already mentioned David Morgan-Marom. In this case, color pictures are used as programs, and the code is presented in the form of abstract pictures. As a result, a program in this language will remind an inexperienced eye of the abstraction of a postmodernist. The language got its name from the Dutch artist Piet Mondrian. For programming, 20 different colors are used. At the same time, 18 of them are connected with each other using cycles of hue and brightness. Only white and black are not included in these cycles.
Befunge. The very first version of this language was born back in 1993, and the author was Chris Pressy. As he himself argued, his goal was to create a language as difficult to compile as possible. For this, the commands "p" and "g" were introduced into the language, which modified the program text. Almost all one-dimensional programming languages require some syntactic differences between the source code and the comments themselves. But in the Befunge language, there is no syntax for a comment at all. In order to insert explanations into the code, the programmer simply "traces" control around this area. It is the compiler's job to detect such unsigned comments.
Malbolge. Such an unusual software tool was invented in 1998 by Ben Olmsted. He decided to create a language that would be as complex as possible to create programs in it. And the name was suitable, because Malebolge is Dante's eighth circle of hell. It took two long years to create the first program in this language.
Brainfuck. This language is one of the most famous of all such unusual tools. It was created in 1993 by the German Urban Müller, who created his brainchild for fun. There are only eight commands in the language, each of them requires only one character to write. The source code of a Brainfuck program looks like a sequence of these characters without any additional syntax. Urban Müller recalls that he aimed to create a language with the smallest possible compiler. He was partly inspired for this work by the FALSE language, whose compiler was only 1024 bytes. And for the Brainfuck language, there are compilers of less than 200 bytes in nature! As a result, it is so difficult to write in it that programmers joke that it is a language for real masochists. It is no coincidence that the literal translation Brainfuck means "sexual intercourse with the brain." However, it is worth noting that Brainfuck is not only a simple language, but also natural, complete and can be used to define the concept of computability.