Wednesday, August 10, 2005

Esoteric programming languages

Wikipedia has a list of Esoteric programming languages. It is quite a long list of bizarre, creative and unique programming languages that most people have never heard of. One of the first things you will notice when comparing them to popular languages is most of them are not in English. Some useful, some pointless, but a 173 of them in total. It would seem that if this collection gains much notoriety that some of these languages may cease to be esoteric.

  • Whitespace is a language I looked at before. In my opinion it falls into the useless language category, although it could useful in a covert way. It makes use exclusively of white space: Tabs, Spaces and Newlines. It requires too much code to do anything useful since it is limited to only 3 characters in the syntax.
  • var'aq is the Klingon programming language, and a personal favorite of mine. This one could actually be useful, if you knew Klingon. Might be a good excuse to learn it. Not sure of any advantages over other languages based on its current implementation, but if they continue development you never know.
  • Whenever is an in English, but lacks the ability to control the absolute order in which the lines of code execute. It is for programmers who want to go with the flow. Could possibly be useful for a really creative application.
  • l33t is another language not written in English, but it is close. It is written in l33t 5P34k (elite speak). This one is not useful as it only uses the sum of the numbers within each word so too much code is required to accomplish anything. Hello world has 27 long lines of code.
  • Java2K is a probabilistic (instead of deterministic) language in that each function only has a certain probability to do whatever the programmer intended it to do. It would appear to have little to do with Java, which isn't an esoteric language.
If you were to create a language what would it do? What would you call it? Would it be useful? What would it be used for?

No comments: