Executando verificação de segurança...
5

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.

Carregando publicação patrocinada...
0