Esoteric Programming Languages

2 Conversations

  • Project Name: Esoteric Programming Languages
  • Field Researcher:frleon
  • Faculty: Science, Mathematics and Engineering
  • Start Date: 1/7/2011
  • End Date (Provisional): 2011
  • Assisting Sub-editor: Still searching

Project Description

Esoteric languages, also esolangs, are programming languages not made for practical application. Their main reason to be is that computer programmers have a greater sense of humour than most laymen would have believed. On the other hand, they challenge skills both of creator and user in some very interesting ways. Nearly all of them can be used in order to obfuscate code.

Pages currently in progress:

It is quite impractical to classify esolangs by their purposes, since those shown above often merge seamlessly. But there are some other categories which will do instead.

  • Turing Tarpits are program languages with as few as possible commands, while still being Turing-complete1. The phrase Turing Tarpit was introduced by computer scientist Alan Perlis in his Epigrams on Programming, in which he warned: "Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy." This is generally recognised as a key principle of esoteric programming. Examples are Brain****2 and its descendants, such as Ook! or Cow, and furthermore Wierd.
  • Other esolangs aim to look like something completely different:
    • Beatnik
    • Chef
    • LOLCODE
    • Piet
    • SPL
    • Velato
    • Whitespace
  • Some languages behave as if they come from, or even are, programmers' hell, either by making programming obscenely difficult or by making sure the program's behaviour cannot be predicted even by most competent fortune-tellers:
    • INTERCAL
    • Java2K
    • Malbolge
    • Whenever
  • Normal programming languages execute their commands in their order, besides from some GOTO-Statements. Funges do not. Their source code is arranged in two-dimensional space3, and funge-programmers love to change directions more often than tolerable. Befunge, after which funges are named, will represent them in this entry.
  • Turing-incomplete languages, most notably HQ9+

1Turing-completeness is a property of programming languages, which tells that all problems could be solved within that specific language, except for those that cannot be solved in any language. This is equivalent to the language being capable to do anything a programmer wants it to do.2You should be able to figure out its name. If I wrote it, it would trigger the BBC profanity filter.3Examples of higher-dimensional esoteric programming do exist but are much less common and not really noteworthy.

Bookmark on your Personal Space


Entry

A85883098

Infinite Improbability Drive

Infinite Improbability Drive

Read a random Edited Entry


Written and Edited by

Credits

References

h2g2 Entries

External Links

Not Panicking Ltd is not responsible for the content of external internet sites

Disclaimer

h2g2 is created by h2g2's users, who are members of the public. The views expressed are theirs and unless specifically stated are not those of the Not Panicking Ltd. Unlike Edited Entries, Entries have not been checked by an Editor. If you consider any Entry to be in breach of the site's House Rules, please register a complaint. For any other comments, please visit the Feedback page.

Write an Entry

"The Hitchhiker's Guide to the Galaxy is a wholly remarkable book. It has been compiled and recompiled many times and under many different editorships. It contains contributions from countless numbers of travellers and researchers."

Write an entry
Read more