Jump to content
Sign in to follow this  
house

[Linguagens] Linguagens de Programação Esotéricas

Recommended Posts

house

Uma linguagem de programação esotérica é uma linguagem criada para testar os limites das linguagens de programação de computadores e por vezes criada apenas por piada. Não existe qualquer intenção deste tipo de linguagens vir a ser usado para criar software para empresas nem algo do género, serve meramente de entertenimento para programadores mais "curiosos".

O termo "esotérico" foi adoptado com intenção única de diferenciar este tipo de linguagens dos outros tipos de linguagens mais populares e usadas (para não dizer mesmo mais úteis).

Por exemplo, uma das primeiras linguagens esotéricas é a linguagem "INTERCAL", criada em 1972 por 2 indivíduos (James Lyons e Don Woods).

Exemplo do famoso programa "Hello World" em INTERCAL (por norma, deve ser o primeiro programa a ser criado quando um indivíduo se inicia numa linguagem de programação nova):

DO ,1 <- #13

        PLEASE DO ,1 SUB #1 <- #234

        DO ,1 SUB #2 <- #112

        DO ,1 SUB #3 <- #112

        DO ,1 SUB #4 <- #0

        DO ,1 SUB #5 <- #64

        DO ,1 SUB #6 <- #194

        DO ,1 SUB #7 <- #48

        PLEASE DO ,1 SUB #8 <- #22

        DO ,1 SUB #9 <- #248

        DO ,1 SUB #10 <- #168

        DO ,1 SUB #11 <- #24

        DO ,1 SUB #12 <- #16

        DO ,1 SUB #13 <- #214

        PLEASE READ OUT ,1

        PLEASE GIVE UP

Hoje em dia o INTERCAL já não se usa, foi melhorado e deu origem ao C-INTERCAL.

Mas temos mais linguagens esotéricas famosas, como por exemplo o Brainfuck (criado por Urban Müller, em 1993). Na primeira versão da linguagem, eram usadas cerca de 30000 células de memória de 1 Byte. Mas existem versões desenvolvidas mais recentemente que vão até 4 Bytes por cada célula de memória.

Exemplo de um pedaço de código em Brainfuck:

O código a seguir imprime todos os caracteres até que o ponto final seja clicado.

>>>>++++++[-<+++++++>]<++++<,>[

->+<]>[-<+<->>]<<[ >[->+<]>[-<+

<+>>]<<.,>[->+<]>[-<+<->>]<<]>.

Também temos outra linguagem bastante conhecida que dá pelo nome de Befunge, que mais tarde deu origem à variante Befreak e que também foi "misturada" com a linguagem Brainfuck dando origem à linguagem PATH (também bastante conhecida).

Um exemplo do aspecto desta última:

$}++++++++++++++++\  /      \

/}.---.+{\/+++++++v/!/      {

\}.}.{{{\        -/      ++{/

/+++++.+/\v    \ {\}++++++++\

\+++.---\ \-{++}/ \++++}}++++/

/--.----//.}++++!/v {-.      \

\--------/    /+{/- /    }}}/

            \++}/ \      +.#

Outros exemplos:

Befunge:

v>v>v>v

"8*",",

á4,u,o,

l,"n"!5

O,M"d"2

",",",*

>^>^>^,

@    <

False:

"Olá mundo!

"

Gammaplex:

X"Ola Mundo"XXSXrRE

L00P:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.

---.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++.--------------------------------------------------

--------------------------------------------------------------------------------

-------------------.+++++++++++++++++++++++++++++++++++++++++++++.++++++++.-----

--.----------.+++++++++++.----------------------------------------------.&

SNUSP:

/++>++++++++++++>>++++<- \/\/\/\

\<<                  \  // \/\/<

$ >++++++++++++++++ !\ ?/\/-<+\-

/<.>.>>.---\/    <++>  \ ?    .

\<<+.+++++\.\-\ /      / \>++/>

/-----.+++/\+<\?/!+++++++/!/ >>/

\--.----------.>++++      /\ +.#

Durante o processo de criação de uma linguagem esotérica, o objectivo mais comum é remover ou substituir as características convencionais mantendo, ainda assim, uma linguagem que seja Turing-complete.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.