{"id":175,"date":"2014-07-03T08:00:58","date_gmt":"2014-07-03T11:00:58","guid":{"rendered":"http:\/\/www.antonioladeia.com\/?p=175"},"modified":"2014-07-01T20:53:13","modified_gmt":"2014-07-01T23:53:13","slug":"linguagem-esoterica-brainfuck","status":"publish","type":"post","link":"https:\/\/www.antonioladeia.com\/blog\/linguagem-esoterica-brainfuck\/","title":{"rendered":"Linguagem esot\u00e9rica ?!? brainfuck"},"content":{"rendered":"<p>Pois bem,<\/p>\n<p>H\u00e1 algum tempo atr\u00e1s recebi uma mensagem falando de uma linguagem chamada brainfuck. O nome logo me chamou aten\u00e7\u00e3o e fui fazer uma pesquisa sobre ela no Wikipedia, a primeira coisa que me apareceu \u00e9 que ela \u00e9 uma linguagem esot\u00e9rica&#8230;<\/p>\n<p>Mas que raios \u00e9 uma linguagem de programa\u00e7\u00e3o esot\u00e9rica? De acordo com o pr\u00f3prio Wikipedia:<\/p>\n<blockquote><p>&#8220;\u00c9 uma linguagem de programa\u00e7\u00e3o projetada para testar os limites dos projetos de linguagem de computadores, como uma aplica\u00e7\u00e3o da teoria, ou como uma brincadeira destinada a mostrar como algo n\u00e3o deve ser feito.&#8221;<\/p><\/blockquote>\n<p>Opa, se \u00e9 uma linguagem para brincadeiras resolvi testar&#8230;<\/p>\n<p>A primeira coisa que me chamou a aten\u00e7\u00e3o, foram suas estruturas b\u00e1sicas, a linguagem \u00e9 composta apenas por 8 comandos!<\/p>\n<ul>\n<li>&gt; Incrementa o ponteiro (acessa a c\u00e9lula de mem\u00f3ria seguinte)<\/li>\n<li>&lt; Decrementa o ponteiro (acessa a c\u00e9lula de mem\u00f3ria anterior)<\/li>\n<li>+ Incrementa em um, o valor da c\u00e9lula de mem\u00f3ria selecionada<\/li>\n<li>&#8211; Decrementa em um, o valor da c\u00e9lula de mem\u00f3ria selecionada<\/li>\n<li>. Imprime na tela o caractere relativo \u00e0 c\u00e9lula de mem\u00f3ria selecionada<\/li>\n<li>, Salva na c\u00e9lula de mem\u00f3ria selecionada o c\u00f3digo da pr\u00f3xima tecla a ser pressionada<\/li>\n<li>[ Estrutura de controle que repete os comandos, enquanto a c\u00e9lula selecionada for diferente de zero<\/li>\n<li>] Fim da estrutura<\/li>\n<\/ul>\n<p>Com isso j\u00e1 se pode brincar \u00e0 vontade&#8230; Para ajudar nessa tarefa tem um compilador online[1] para testar os c\u00f3digos <em>on the fly<\/em>.Achei uma \u00f3tima oportunidade para os estudantes que est\u00e3o aprendendo programa\u00e7\u00e3o para sedimentar o conceito de ponteiros.<\/p>\n<p>Com isso j\u00e1 fiz meu primeiro c\u00f3digo, \u00e9 bem simples, quando \u00e9 compilado, ele mostra meu email \ud83d\ude1b Quem tiver interesse pode encontr\u00e1-lo no meu rep\u00f4 do gitlab[2].<\/p>\n<p>A meta \u00e9 fazer um c\u00f3digo para gerar um VCard [3] com meus dados&#8230;<\/p>\n<p>[1] &#8211; http:\/\/esoteric.sange.fi\/brainfuck\/impl\/interp\/i.html<br \/>\n[2] &#8211; https:\/\/gitlab.com\/ladeia\/vcard-brainfuck<br \/>\n[3] &#8211; http:\/\/en.wikipedia.org\/wiki\/VCard<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pois bem, H\u00e1 algum tempo atr\u00e1s recebi uma mensagem falando de uma linguagem chamada brainfuck. O nome logo me chamou aten\u00e7\u00e3o e fui fazer uma pesquisa sobre ela no Wikipedia, a primeira coisa que me apareceu \u00e9 que ela \u00e9 uma linguagem esot\u00e9rica&#8230; Mas que raios \u00e9 uma linguagem de programa\u00e7\u00e3o esot\u00e9rica? De acordo com&nbsp;&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[135,136,134,139,137,138],"class_list":["post-175","post","type-post","status-publish","format-standard","hentry","category-programacao","tag-brain-fuck","tag-brainfuck","tag-linguagem-esoterica","tag-ponteiros","tag-vcard","tag-wikipedia"],"_links":{"self":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts\/175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/comments?post=175"}],"version-history":[{"count":3,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts\/175\/revisions"}],"predecessor-version":[{"id":221,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts\/175\/revisions\/221"}],"wp:attachment":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/media?parent=175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/categories?post=175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/tags?post=175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}