Executando verificação de segurança...
-7

Não se engane com "fazendo do zero" essa é uma das maiores mentiras que existem no mundo do desenvolvimento de software. Evite inclusive usar a frase em qualquer texto, passa inexperiência.

A julgar pela falta de tipagem estatística, imagino que seja um interpretador que você está desenvolvendo. Ótimo trabalho até aqui. 2 meses honestamente parecem muita coisa pra o que você tem, mas julgo que seja por causa do aprendizado.

Não recomendo fazer um curso por agora, vejo que você ainda não tem conhecimento aprofundado e muito menos conhecimento dos termos técnico básicos. Imagino que seja seu primeiro, então tenha paciência. Sei que pode parecer grande coisa para alguém que está começando, mas parsear e executar código é algo extremamente simples (compiladores é literalmente matéria de faculdade).
Tenha paciência e aperfeiçoe seu código. Faça 2, 3 interpretadores, compiladores, transpiladores, etc. Só assim você vai ter certeza que está pronto pra reproduzir a teoria pra outra pessoa. Ainda assim, ensinar é um ótimo método de aprendizagem. Se você sente real confiança e não tem medo de errar, vai fundo.

Algumas sugestões:

  • Sugiro substituir begin .. end por brackets, é mas apenas uma preferência pessoal, mas também uma opinião popular.
  • implementar constantes
  • implementar tipagem (pode continuar com tipagem dinâmica, mas dê a opção do usuário definir um tipo fixo. Sua linguagens não vai longe sem tipagem e, honestamente, é a parte mais divertida)
  • estruturas (dictionary simples ou structs caso implemente tipagem básica)

Se quiser conversar mais, me chama @lumi_nya no discord. Estou desenvolvendo um compilador a 2 anos, sem contar anos anteriores de estudo e protótipos. Posso te ajudar bastante se estiver realmente disposto à aprender

Carregando publicação patrocinada...
6

Se me permite fazer algumas correções no seu comentário...

A julgar pela falta de tipagem estatística, imagino que seja um interpretador que você está desenvolvendo.

Uma coisa não tem nada a ver com a outra. Se a tipagem da linguagem é *estática ou dinâmica, isso não tem nada a ver com a forma como a linguagem vai ser implementada: interpretada ou compilada.

Uma coisa é a linguagem de programação e outra coisa é a implementação dela. Linguagem de programação não é software. A linguagem C tem tipagem estática e existe intepretador de linguagem C (picoc).

Outro erro que você cometeu foi confundir anotação de tipos com tipagem estática. Uma coisa também não tem nada a ver com a outra. Isso aqui é um código Rust válido:

let a = 5;

Rust tem tipagem estática.

Isso aqui é um código Python válido:

a: int = 5

Python tem tipagem dinâmica.

Anotação de tipos não é "tipagem estática", são dois conceitos distintos. Pesquise sobre inferência de tipos.

implementar tipagem (pode continuar com tipagem dinâmica, mas dê a opção do usuário definir um tipo fixo. Sua linguagens não vai longe sem tipagem e, honestamente, é a parte mais divertida)

De novo você confundiu duas coisas distintas. Não ter anotação de tipos não significa que a linguagem não tem tipagem. PHP sempre foi uma linguagem tipada, desde a primeira versão, e por muitos anos não tinha anotação de tipos. JavaScript é uma linguagem tipada e não tem anotação de tipos.

Uma linguagem não tipada é uma linguagem que não difere como os dados na memória são tratados. Todo dado é tratado da mesma forma. É equivalente a uma linguagem que tem um tipo só, basicamente.

No mínimo ele mostrou que a linguagem dele tem dois tipos: inteiro e string. Portanto, é tipada.

Para não ser tipada de verdade, ela teria que não diferir dados na memória, ou o equivalente: ter um tipo só. Como é o caso da linguagem B, por exemplo. Ou o exemplo mais óbvio: assembly.

Não se engane com "fazendo do zero" essa é uma das maiores mentiras que existem no mundo do desenvolvimento de software. Evite inclusive usar a frase em qualquer texto, passa inexperiência.

Design de linguagens de programação não é desenvolvimento de software, é Programming Language Theory (PLT), um ramo da Ciência da Computação.

Repito: Linguagem de programação não é software.

0
2

Ok! Eu comecei mais como forma de estudo mesmo, achei o processo bem interessante. Sobre o begin e end, eu usei como base o Pascal kkk.

Realmente, ainda tô no começo e tenho bastante coisa pra aprender, principalmente na parte de conceitos mais teóricos. Esses 2 meses foram mais de tentativa, erro e entender o básico mesmo.

Obrigado pelo feedback!

0

Pessoa, chamou muito a minha atenção a forma didática, respeitosa, e porque não, carinhosa, com a qual você respondeu ao colega. Que coisa bonita de se ver nos dias de hoje.

Eu sou totalmente leigo em programação e estou iniciando nesse mundo com a ajuda das amiguinhas AI.

Em breve postarei aqui minhas aventuras tecnológicas e também aguardarei suas considerações.

Muito sucesso e felicidades para você!

0