Linguagem esotérica ?!? brainfuck

programação, software livre, rpg, e música

Linguagem esotérica ?!? brainfuck

Pois bem,

Há algum tempo atrás recebi uma mensagem falando de uma linguagem chamada brainfuck. O nome logo me chamou atenção e fui fazer uma pesquisa sobre ela no Wikipedia, a primeira coisa que me apareceu é que ela é uma linguagem esotérica…

Mas que raios é uma linguagem de programação esotérica? De acordo com o próprio Wikipedia:

“É 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.”

Opa, se é uma linguagem para brincadeiras resolvi testar…

A primeira coisa que me chamou a atenção, foram suas estruturas básicas, a linguagem é composta apenas por 8 comandos!

  • > Incrementa o ponteiro (acessa a célula de memória seguinte)
  • < Decrementa o ponteiro (acessa a célula de memória anterior)
  • + Incrementa em um, o valor da célula de memória selecionada
  • – Decrementa em um, o valor da célula de memória selecionada
  • . Imprime na tela o caractere relativo à célula de memória selecionada
  • , Salva na célula de memória selecionada o código da próxima tecla a ser pressionada
  • [ Estrutura de controle que repete os comandos, enquanto a célula selecionada for diferente de zero
  • ] Fim da estrutura

Com isso já se pode brincar à vontade… Para ajudar nessa tarefa tem um compilador online[1] para testar os códigos on the fly.Achei uma ótima oportunidade para os estudantes que estão aprendendo programação para sedimentar o conceito de ponteiros.

Com isso já fiz meu primeiro código, é bem simples, quando é compilado, ele mostra meu email 😛 Quem tiver interesse pode encontrá-lo no meu repô do gitlab[2].

A meta é fazer um código para gerar um VCard [3] com meus dados…

[1] – http://esoteric.sange.fi/brainfuck/impl/interp/i.html
[2] – https://gitlab.com/ladeia/vcard-brainfuck
[3] – http://en.wikipedia.org/wiki/VCard

 

 

Nenhum comentário

Adicione seu comentário