The Weirdest Programming Languages

Table of Contents

If you think programming in PHP in 2022 or learning Assembler as your first language is weird, we’ll shift the paradigm for you, like a sports betting Canada legal site makes it offering unique sports offers. Here are the really weird programming languages that someone writes real programs in and keeps them running.

Brainfuck

Brainfuck is a complete programming language in which you can implement any algorithm. Although even the smartest algorithm in this form will look as weird as possible.

 

This unusual language has only 8 commands and no special rules of coding. There are even no comments, that is, you will not be able to comment on the meaning of your code. But the Brainfuck compiler weighs only 200 bytes. Compare: the smallest C++ compiler takes 500 times more space.

Befunge

This language is almost 30 years old and was invented as the most difficult to compile programming language. The way it works is this:

  • There is a table with commands for the processor.
  • Each command is represented by some character from the ASCII code table.
  • These commands can be extracted from the table using p and g modifiers.
  • Besides the table, the language has many single-character commands, each of which does some one simple operation.
  • When compiling, the program is assembled from the contents of the table and the native commands.

 

Even the simplest description of this language already looks complicated, not to mention the programs.

Malbolge

When Ben Olmsted learned in 1998 that Befunge was considered the most complex language, he asked me to hold his beer and, while someone was holding his beer, he created Malbolge. The name of the language coincides with the name of Dante’s eighth circle of hell, which should hint at its infernal complexity.

 

The peculiarity of this language is that it works in ternary notation, and has only three registers for pointers and data management. What’s more, this language has no standard syntax, the commands can go in any order.

Whitespace

Whitespace is an esoteric programming language created by E. Brady and C. Morris. Its essential difference is that only non-printable characters are used for controlling constructions, namely: space, line feed and tab. An interesting consequence of this fact is that the program text in Whitespace can be “hidden” inside the source codes of another program. By the way, the language was released on April 1, 2003, and many people took it as a joke on Fool day.

Piet

Piet is a beautiful programming language. The language works like this: the compiler evaluates the difference between neighboring colors to see what to do next. It also cycles through the shades of colors so the program always knows which color to go to next.

 

Besides the hue, the program also compares the brightness of colors. Here is an example: light blue and dark blue are two different colors, and each is handled differently.

Ook!

It’s a whole family of esoteric languages that looks like it is based on the principle of philosopher William Occam: “You should not multiply things unnecessarily. They deny any additional syntax, and their developers often race to reduce the size of the compiler.

 

Despite the outward primitiveness, such languages can have an infinite number of cells and Thuringian completeness, and hence have the same potentiality as “real” languages such as C, Pascal or Java.

Chef

Chef is a programming language developed by David Morgan-Marr in which programs are similar to cooking recipes. Each program in the language consists of a name, a list of variables and their values, and a list of instructions. Variables can only be named with names of basic foods.