FatScript

2022-10-04 | aprates.dev

[1] Read this post in english

A possibilidade de escrever belos programas mesmo em linguagem Assembly, foi o que me deixou ligado em programação em primeiro lugar. Alguns programas são elegantes, alguns são únicos, alguns são brilhantes. Minha tese é que é possível escrever programas grandiosos, programas nobres, programas verdadeiramente magníficos. - Donald Knuth

Sinto um pouco por não conseguir compartilhar esta experiência com meus amigos que não programam. Se eu fizesse uma pintura ou uma música, eu poderia me orgulhar e dizer a eles: "Vejam o que eu fiz."

Você sabe, talvez eles não achem nada impressionante, mas eu gostaria que eles pudessem compreender ao menos.

Se eu mostrar código-fonte, eles ficarão tipo: "Isso é como ler Klingon." (pegou a referência do Star Track? hehe). É realmente uma droga que você não possa compartilhar essas obras de arte com não-programadores.

Mas enfim…

Nos últimos meses tenho trabalhado em um projeto de estimação, uma nova linguagem de programação e seu interpretador.

Dois eventos importantes me levaram a embarcar nesta jornada:

1. Muitos anos atrás eu tentei simplificar os trabalhos que fazíamos no Senac Rio usando ActionScript (Flash), criando uma linguagem de configuração que talvez se parecesse um pouco com o YAML moderno. Eu o batizei naquela época de "FatScript".

2. Encontrei o Sady, um amigo daquela época e nos lembramos da história do FatScript. Cheguei em casa e encontrei em meus backups alguns vestígios daquele projeto inacabado e outras anotações mais recentes.

E assim começa…

O empreendimento atual começou como um exercício para recapitular sobre tokenização, usando alguns tutoriais que encontrei para JavaScript na Web e, como meu código em ActionScript também seria inútil, decidi recomeçar do zero em C.

Anotei muitos recursos legais que gosto no Python, JavaScript, Scala, C e outras ideias daqui e dali, lembrei também de algumas coisas que considero ruins e que gostaria de evitar e comecei a misturar e combinar a sintaxe que achei que deixaria o caminho mais livre ao programar.

Eu venho me dedicando a isso a pelo menos 6 meses, algumas horas, todos os dias. Não parece realmente um trabalho, e sim um jogo ou uma arte, e é muito divertido, na maioria das vezes.

Finalmente decidi tornar pública a implementação completa de "Fry, The FatScript Interpreter" sob a licença GNU GPL v3. E é isto que você pode apreciar agora!

Deixe minha arte falar por si mesma

Não vou entrar em detalhes aqui, mas convido você a explorar a página oficial:

[2] https://fatscript.org

Você pode fazer parte disso

Eu penso que esse projeto já tem vida própria e personalidade, como uma coisa que está crescendo organicamente.

Cada vez que eu olho para a base de código, duas ou três novas funcionalidades me parecem possíveis de aprimorar, o que é ótimo. Só que sozinho eu cheguei até aqui, e de maneira colaborativa poderemos chegar ainda mais longe.

Por isso, se você é um programador que curte aprender novas linguagens e gostaria de participar deste projeto, este é o momento certo. Há muito o que explorar por aqui.

Se você quer se juntar, deixe um comentário no issues tracker do GitLab, será um prazer trocar ideias com você.

Veja também

[3] Arquivos da Cápsula
[4] Home da Cápsula

Quer mais?

Comente sobre um dos meus posts, fale comigo, diga: hello@aprates.dev

[5] Assine o feed da Cápsula
[6] Confira o projeto FatScript no GitLab
[7] Confira meus projetos no GitHub
[8] Confira meus projetos no SourceHut

Junte-se ao Geminispace

Gemini é um novo protocolo de Internet introduzido em 2019, como uma alternativa ao http(s) ou gopher, para conteúdos em texto leve e melhor privacidade.

Não sabe como, mas quer fazer parte do clube? Veja:
[9] Guia de início rápido Gemini

Já tem um cliente Gemini?
[10] Navegue nesta cápsula via Gemini


© aprates.dev, 2021 - o conteúdo deste site está licenciado sob
[11] Licença Creative Commons BY-NC-SA 4.0
[12] Construído orgulhosamente com GemPress
[13] Política de Privacidade