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