2022-10-04 | aprates.dev
Código é como piada. Quando você tem que explicar, é ruim. - Cory House
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.
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. É como uma espécie de quebra-cabeças ou uma arte, e é muito divertido, na maioria das vezes.
Finalmente decidi tornar pública a implementação completa de "fry, o interpretador de fatscript" sob a licença GNU GPL v3. E é isso que você pode conferir agora, se quiser!
Não vou entrar em detalhes aqui, mas convido você a explorar a página da documentação oficial:
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 issue tracker do GitLab ou na comunidade do Reddit, será um prazer trocar ideias com você.
https://reddit.com/r/fatscript
Comente sobre um dos meus posts, fale comigo, diga: hello@aprates.dev
Confira o projeto FatScript no GitLab
Confira meus projetos no GitHub
Confira meus projetos no SourceHut
© aprates.dev, 2021-2024 - o conteúdo deste site está licenciado sob
Licença Creative Commons BY-NC-SA 4.0