2026-03-30 – A minha linguagem de Programação B++ criada para Ensino/Formação em C++…
Aqui podem vislumbrar o começo da minha futura Linguagem de Programação destinada a ensinar pessoas a programar do zero, à qual chamarei provavelmente de B– e B++.
Na primeira janela têm a linguagem em si, e será lida e escrita como puro Português, além de ser traduzida depois para outras linguagens como é óbvio, pois o objectivo é ser universal, e converter de linguagem básica para 1001 linguagens existentes para os formandos/alunos verem como são semelhantes as linguagens e aprenderem mais facilmente.
Ela terá também gráficos, pois permitirá aos formandos/alunos desenhar gráficos animados em tempo real no ecrã, com linguagem simples para criar uma experiência de aprendizagem incrível.
Já sabem como sou certo? Gosto de fazer tudo eu mesmo, criar as minhas próprias ferramentas.
Na janela do meio já a podem ver convertida a uma linguagem universal minha, que está entre uma espécie de Basic e C++, mas ainda não totalmente definida, pois um “output()” poderá vir a ser um “print()”, etc. Esta é a linguagem que ninguém verá quando inicia, pois quando alguém inicia aprenderá com a “Easy Input”, a B–, sendo que a core B++ é apenas uma universal de transição:

Poderão ver o resultado do algoritmo acima, aqui:

Ainda não defini bem quais as keywords pois pretendo perguntar a muitas pessoas até obter um feedback de qual a forma mais fácil de aprender.
Vou dar dois exemplos:
função inteiro soma recebendo a como inteiro e b como inteiro
início
devolver a+b
fim
função principal
início
declarar resultado como inteiro
definir resultado como soma(7,10)
escrever “A soma de 7 com 10 é: “+resultado
declarar total como inteiro
fazer i ir de 0 a 10 somando 1
início
se i é igual a 3
início
continuar
fim
se i é igual a 8
início
parar
fim
definir total como total+i
escrever “O total vai em: “+total
fim
fim
Uma versão alternativa seria:
função inteiro soma recebendo a como inteiro e b como inteiro:
devolver a+b
função principal:
declarar resultado como inteiro
definir resultado como soma(7,10)
escrever “A soma de 7 com 10 é: “+resultado
declarar total como inteiro
fazer i ir de 0 a 10 somando 1:
se i é igual a 3:
continuar
se i é igual a 8:
parar
definir total como total+i
escrever “O total vai em: “+total
O que importa não é qual fica mais bonita mas qual se torna mais fácil para aprender? É importante o feedback de quem nunca programou na vida neste caso.
A segunda é mais estilo Python mas tornaria horrível para os que odeiam as identações forçadas como eu, e penso que poderá ser mais confuso do que ter início e fim a delimitar cada bloco!
E agora, porque me lembrei de criar uma linguagem de programação nova?
Há uns dias, no dia 19 de Março no Dia do Pai, a dar Programação numa faculdade aqui perto, e falaram-me que tinham mexido com Portugol para aprender Algoritmia e quão incrível era a linguagem e tinha sido a experiência.
Depois começaram-me a falar que tinha sido criada por um programador xpto que devia saber muito.
Sem querer menosprezar o programador em questão, acabei por deixar sair algo como: “Criar uma linguagem de programação não é das coisas mais difíceis, até se cria bem se não envolver compilar para binários”.
Perguntaram-me então se eu também seria capaz de criar uma. Mostrei-lhes que era fácil criar algo simples como:
LER(var)
ESCREVER(var)
ESCREVER(var)
LER(var2)
ESCREVER(var2)
ESCREVER(var2)
ESCREVER(var2)
Em que o programa fazia o input x vezes e o output y vezes.
Claro que isto não era o mesmo que ter uma linguagem real.
Depois pensei: “Em tempos ao dizer a estudantes que era fácil criar um gráfico da Bolsa, e não acreditaram em mim, acabei por criar do zero em C++ o meu software de Análise Técnica que está a meio do desenvolvimento, porque não criar uma linguagem à minha maneira para ensinar???”.
Eis o tal software antigo:

Que tinha começado por algo simples como (abaixo à esquerda):

E apesar de ir a meio, podem ver como o deixei em 2024:
Assim pensei: “Ok vou criar a minha linguagem de programação para ensino”.
O objectivo não é substituir o maravilhoso C++, mas sim criar algo básico que faça coisas simples em linguagem simples.
Mas que seja ainda mais fácil que os “Portugol” que vejo, e tenha mais coisas, sendo que a minha que fiz nestes dias nas horas livres, tem Estruturas também, poderá ter Classes, etc.
No exemplo acima só foi mostrada uma função mas será mais completa que isso.
Claro que o meu objectivo não é ficar com ela só para mim, ela poderá ser usada por qualquer formador ou professor, e vou metê-la depois na Internet.
Ela converterá também o “Easy” B– para B++ mas também para 1001 linguagens como C, C++, Java, C#, Python, etc.
Isto ajudará qualquer aluno/formando a aprender a programar com linguagem natural, além de que vai ter muitas linguagens de origem.
Não será o meu projecto principal, apenas usei algumas horas livres nos últimos dias para a criar.
O meu projecto principal será o Livro de Matemática/Física que vou lançar (obra com 7 volumes, perto de 2000 páginas, em https://www.goncalo.pt/por/2026/01/27/2026-01-27-o-primeiro-passo-na-escrita-do-meu-livro-de-fisica-conceptual-teorica-e-matematica/).
E depois desse retomarei o meu Game Engine.
Este será só um projecto paralelo para usar eu (e quem sabe outros formadores/professores) no dia-a-dia para ensinar a Programar.
Mas pronto, um dia trarei mais novidades sempre que queira fazer uma pausa no livro e fazer algo de diferente.
Um dia trarei novidades.
Hasta!
2026-03-30.
Publicado no mesmo dia no meu LinkedIn, em:
Próximo post sobre a minha linguagem de programação:
(A ser colocado um dia).
Último post sobre os meus projectos de Física e Matemática:
Último post sobre o meu Game Engine:
Último post sobre o meu software de Análise Técnica:
Último post sobre as minhas simulações de Física:


