Introduction to esolang design

From Esolang
Jump to navigation Jump to search
This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information.

Designing truly beautiful esolangs can be a difficult thing to do. So difficult, in fact, that almost every esolang on this site is based off of one of just a few languages. We have many multidimensional languages, plenty of unimplementable languages, and some would say too many Brainfuck derivatives.

What makes a good esolang?

Just making some small changes to an existing language or taking ideas from something that already exists does not make a gem of an esolang. A truly brilliant esolang (according to those who have authored this page, as well as maybe some people over IRC) does something novel and unique and completely different from that of existing languages (including other esolangs). An example of a language that did something completely new for the masses is Befunge, which introduced the concept of a 2D language to a wider group of people.

Computational Class

While joke languages, such as HQ9+, are nice, they aren't very fun to program. A good language should be Turing complete (or pretty close), if only in a roundabout way.

Methods of Design

Declarative Languages

Declarative languages (languages that are based on reading a program then essentially evaluating it like an expression) are often based on existing mathematical systems. Thus, one way to make a good esoteric declarative language is to find a good but strange system of math and extend it to be practical to use. Optimally, you'll invent an entirely new system of math, but since you probably can't do that, just finding a system for it will do as well.

Imperative Languages

Imperative languages is the "classic" straightforward paradigm of esolangs. For example brainfuck is imperative. All you need is a set of instructions that reads and modifies the memory and some kind of control flow (sometimes these can even be combined).

Functional Languages

Languages based purely on functions are becoming more popular recently.

Other Sentence Type Languages

If you can think of a good Interrogative or exclamatory language, be our guest.

Hybrid Languages