/home

uma esolang para iniciantes?

Durante essa pandemia eu resolvi resgatar um projeto que estava parado há alguns anos. O projeto era de uma linguagem de programação diferente em que fosse usado o menor número de caracteres para escrever um programa, porém, em que o código ficasse conciso e ao mesmo tempo continuasse inteligível, este último, normalmente é algo que as chamadas esolangs (ou linguagens de programação esotéricas) não se preocupam muito. No geral quanto mais críptico e “esotérico” o código final for, melhor a piada.

&>:1-:v v *_$.@ 
 ^    _$>\:^    

fatorial em befunge - oi?

inspiração

Sempre achei muito interessante a idéia de explorar os limites do que pode ser usado para programar um computador, e uma das esolangs mais populares sempre me facinou, o brainfuck, nome apropriado para uma linguagem que só possui 8 comandos (< > + - . , [ ]) e todo o restante da tabela ASCII é ignorado e pode ser usado como comentário.

A linguagem bf se comporta como uma máquina de turing, onde uma “cabeça de leitura anda sob uma fita” e pode ler e escrever valores. A ideia é simples:

Na pratica, a programação se torna um verdadeiro desafio.

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

exemplo de um hello world em bf

apresentação

A minha contribuição para o universo das esolangs é a linguagem *T (lê-se “start”).

*T é uma linguagem de programação estruturada e interpretada em que a maior parte dos operadores possui apenas um caractere, dígitos são usados para constantes e letras maiúsculas são usadas para definir variáveis ou funções.

A biblioteca de funções padrão da linguagem varia de acordo com a plataforma. Atualmete existe um interpretador online com algumas funções para saída de texto. A linguagem ainda está sendo desenvolvida para ser executada em microcontroladores, de forma similar à uLisp ou MicroPython. Um dos proximos passos é montar alguns gadgets que possam ser programados direto no dispositivo (standalone).

Na sequência você pode ver o diagrama de sintaxe da linguagem, um diagrama inspirado em mapas ferroviarios, lido da esquerda para a direita, e que representa todas as combinações válidas dos simobolos usados na linguagem. Se existe um caminho no mapa, então, ele é um programa válido e pode ser interpretado.

diagrama de sintaxe / mapa ferroviario

operações

i46!>0!>1!?=[2<1-?!2>;<@>+] PN

fibonacci de 46 em *T

" 34! PC 32! PS 34! PC 35! PC"#

quine em *T

Se você achou interessante e gostou do desafio, eu sugiro dar uma olhada no playground da linguagem, assim você pode testar o interpretador online. Se programar algo legal me mande um e-mail que eu coloco aqui como exemplo!


tags: start programação

> entre em contato < > read in english <
> me pague um café via ko-fi, liberapay ou paypal <


/home