terça-feira, 7 de janeiro de 2014

Curiosidade - Conhece Malbolge?

Malbolge, foi criada para ser a linguagem mais difícil de ser programada (e pensava que era Python ou Assembly). Sério mesmo, não estou brincando, essa coisa foi criada por Ben Olmstead em 1998, como (pode rir) uma Linguagem de Programação Esotérica.


Isso mesmo, a mente criativa desse doido criou uma linguagem que é um misto entre "não sei o que" e "sei lá o que", não me acredita? Aqui está um programa que vai mostrar a palavra "Hello World":
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
Muito fácil isso não? Já esse outro simples programa:
(=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;
gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm
Mostra a mesma frase mas escrita da seguinte forma "HEllO WORld". Creia-me quando digo que não estou brincando, isso aí em cima é realmente um programa escrito nessa linguagem, por mais esquisito que possa parecer (não lhe aconselho a nem tentar interpretá-lo). Se deseja testar, este site possui um emulador onde é possível executar os programas.

Vejamos algumas curiosidades sobre essa linguagem:

  • Porque este maravilhoso nome? Bem, espero que tenha gostado do último livro de Dan Brown e a curiosidade de ler "O Inferno de Dante", pois bem o oitavo círculo do inferno é conhecido como Malebolge. Só que o criador da linguagem foi um pouco mais além, talvez por um erro de grafia, a palavra Malbolge foi utilizada para representar o sexto inferno no jogo Dungeons and Dragons.
  • Porque essa linguagem está se tornando conhecida? Existe uma série que passa no canal CBS chamada "Elementary" e no 10º Episódio da 1ª Temporada, a linguagem foi utilizada como pista para achar o assassino. 
  • Como posso executar programas? Neste site pode-se encontrar um compilador, interpretador e depurador feito em Java.
  • Como a linguagem trabalha? Com pilhas de memória e variáveis (como disse algo bem esotérico tentar entender).
  • Preciso aprender a programar nisso? Só se for por pura curiosidade (e muita falta do que fazer pois não vale o esforço), não creio que nem em um futuro muito distante vá existir qualquer demanda para contratar programadores para desenvolverem aplicações comerciais com essa linguagem (talvez no máximo 1 aviso de emprego - e para contratar apenas quem a criou).
  • É possível encontrar documentação para aprender essa linguagem? Existem vários sites disponibilizando programas (tudo ainda é muito novo) e tentando ensinar como programar (sem piada, Assembly torna-se brincadeira de criança perto disso), mas mesmo com todos esses avisos e deseja tentar quebrar a cabeça para aprender, então recomendo que comece pela Wikipedia.
Depois disso façamos apenas um acordo, nunca mais reclame das expressões regulares de Perl, do trabalho em memória de Assembly, da endentação de Python ou mesmo das milhares de classes existentes de Java. Porque existe inferno muito pior lá fora e perto dela essas outras não chegam nem ao status de purgatório. Como último endereço, o site 99Bottles disponibilizou em várias linguagens o programa que mostra a música 99 Garrafas completa, veja como fica em Malbolge e depois compare com as outras.

Obrigado e até a próxima
Fernando Anselmo

0 comentários:

Postar um comentário