Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Esoteric languages are intriguing and can make you go 'Hmmm...', but what can we really learn from them? Is there a benefit to spending more than 5 minutes trying to write an application in an esoteric language? Have you tried one, and if so, what did you learn?

share|improve this question
add comment

migrated from stackoverflow.com Mar 1 '11 at 8:11

This question came from our site for professional and enthusiast programmers.

closed as not constructive by maple_shaft Feb 1 '13 at 15:53

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 5 down vote accepted

Some esoteric languages are important as practical demonstrations of the fundamental concepts. Unlambda allows to play directly with the SKI-calculus, Brainfuck clearly shows the complexity of the Turing machine, Malbolge is interesting in terms of reasoning about the Turing-completeness, etc.

share|improve this answer
    
This was deleted because the question originally came from SO, and then was closed, meaning that the migration was rejected. Your answer went back to the original SO question which has been long deleted, which is why this answer was deleted. Did I lose you :) –  maple_shaft Feb 1 '13 at 18:08
add comment

Turing Tarpits teach us how much of the languages we use in everyday programming is syntactical sugar. If you look at one-instruction assembly languages (e.g. subifzjmp a b c which subtracts the contents of register a from register b and branches to c if the result is zero) or jot (any binary tree of unlabelled nodes is effectively a valid program in a certain combinator calculus) you realise how complexity emerges from virtually nothing.

Then you go back to C++, Java, Python, or what-have-you, and are grateful for having three or four styles of loop and the ability to break the problem down into separately testable components.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.