Linguagem de programação esotérica
Este artigo não cita fontes confiáveis. (Fevereiro de 2016) |
Linguagem de programação esotérica (ou esolang) é uma linguagem de programação projetada para testar os limites dos projetos de linguagem de computadores, como uma aplicação da teoria, ou como uma brincadeira destinada a mostrar como algo não deve ser feito.
Essa classificação não é adotada em nenhuma livro científico, que normalmente desprezam esse tipo de linguagem. Apesar disso, INTERCAL, por exemplo, está listada na HOPL: an interactive Roster of Programming Languages, como uma "piada elaborada".
Normalmente não há a intenção de que a linguagem seja aplicada ao mundo real. Na verdade, o desenho dessas linguagens torna essa aplicação praticamente impossível e transforma a programação de atividades simples em um desafio e uma brincadeira. Isso confere a elas certa popularidade, principalmente entre hackers, ou como um passatempo.
Usar a palavra esotérica para definir tais linguagens tem por objetivo diferenciá-las das linguagens mais populares, tais como a linguagem de programação APL. Algumas das mais populares linguagens de programação podem parecer esotéricas (no sentido usual da palavra) para alguns e embora essas também possam ser, discutivelmente, chamadas de "linguagens de programação esotéricas", isso não é realmente o que se quer dizer.
A usabilidade raramente é uma prioridade para essas linguagens, mas geralmente, ocorre o oposto. O objetivo usual é remover ou substituir as características convencionais mantendo, ainda assim, uma linguagem que seja Turing completa. Assim, ao aderir a alguns princípios, enquanto, deliberadamente, não faz sentido como um todo (ou tentando esconder algum sentido que possam fazer para a maioria das pessoas), essas linguagens são, talvez, o equivalente em programação à poesia nonsense.
História
[editar | editar código-fonte]A linguagem de programação esotérica reconhecida como mais antiga e, ainda assim o exemplo canônico de uma, é INTERCAL, projetada em 1972 por James Lyons e Don Woods, com a intenção declarada de ser diferente de qualquer outra linguagem com as quais os autores tinham familiaridade.
Cerca de vinte anos depois, Urban Müller criou a famosa brainfuck, que consiste de apenas oito caracteres reconhecidos. Junto com Befunge, brainfuck é atualmente uma das linguagens de programação esotéricas com melhor suporte e não é uma surpresa que ambas sejam bem conceituadas, visto que ambas foram as primeiras e as mais elegantes de seus respectivos tipos.