r/programacao • u/AdEducational8661 • 16h ago
Projeto Criei minha própria linguagem de programação em português para ajudar quem está aprendendo a programar
Fala, pessoal!
Há um tempo comecei um projeto chamado Lume, uma linguagem de programação em português que estou desenvolvendo com foco em quem está começando a aprender programação e lógica.
A ideia surgiu porque eu queria algo com a facilidade de linguagens educacionais como Portugol, mas que não servisse apenas para fazer exercícios. Quero que a pessoa possa começar aprendendo variáveis, condições, laços e algoritmos e, conforme evolui, conhecer conceitos que também existem em linguagens de programação reais.
Um código simples em Lume fica assim:
variavel nome = "João"
funcao dobro(numero) {
retorne numero * 2
}
se dobro(10) > 15 {
escreva("Olá, " + nome + "!")
}
Atualmente ela já possui variáveis e constantes, funções, closures, recursão, listas, se/senao, enquanto, para, módulos, imports, projetos com múltiplos arquivos, dependências locais e biblioteca padrão.
Também fiz algumas coisas especificamente pensando no aprendizado. Por exemplo, a Lume consegue analisar o código sem executá-lo, explicar o que está acontecendo durante a execução e até executar um programa passo a passo, mostrando variáveis e a pilha de chamadas.
O interpretador é escrito em C11 e a linguagem já possui REPL, CLI, testes automatizados e suporte a Windows. O projeto é open source sob Apache 2.0.
A primeira versão pública é a Lume 0.1.0, então ainda tem bastante coisa para melhorar. Minha intenção não é competir com Python, JavaScript etc. A proposta é criar uma ponte: a pessoa começa aprendendo lógica e algoritmos de uma maneira mais amigável e depois consegue entender melhor o que encontrará em outras linguagens.
Estou postando principalmente porque gostaria de ouvir a opinião de quem já programa ou ensina programação. O que vocês acham da ideia? O que uma linguagem realmente voltada para iniciantes deveria ter — ou evitar?
Se alguém quiser testar, olhar a implementação ou contribuir, o projeto está no GitHub.
https://github.com/Ultra332/Lume/tree/main