O que podemos aprender das linguagens esotéricas? [fechadas]

5

Linguagens esotéricas são intrigantes e podem fazer você pensar "Hmmm ...", mas o que podemos realmente aprender com elas? Há algum benefício em gastar mais de 5 minutos tentando escrever um aplicativo em uma linguagem esotérica? Você já tentou uma e, em caso afirmativo, o que aprendeu?

    
por FreeAsInBeer 01.03.2011 / 05:32
fonte

2 respostas

5

Algumas linguagens esotéricas são importantes como demonstrações práticas dos conceitos fundamentais. Unlambda permite jogar diretamente com o cálculo de SKI, Brainfuck mostra claramente a complexidade da máquina de Turing, Malbolge é interessante em termos de raciocínio sobre o Turing-completude, etc.

    
por 01.03.2011 / 08:42
fonte
2

Turing Tarpits nos ensina o quanto das linguagens que usamos na programação cotidiana é o açúcar sintático. Se você olhar para linguagens assembly de uma instrução (por exemplo, subifzjmp abc que subtrai o conteúdo do registrador a do registrador b e ramifica para c se o resultado for zero) ou jot (qualquer árvore binária de nós não marcados é efetivamente um programa válido em uma certa cálculo combinador) você percebe como a complexidade emerge de praticamente nada.

Depois, você volta para C ++, Java, Python ou what-have-you e é grato por ter três ou quatro estilos de loop e a capacidade de dividir o problema em componentes testáveis separadamente.

    
por 01.03.2011 / 11:05
fonte