Estou criando minha própria linguagem de programação em Python

Iniciado por joomlamz, Hoje at 01:00

Respostas: 1   |   Visualizações: 5

Tópico anterior - Tópico seguinte

0 Membros e 1 Visitante estão a ver este tópico.

Está a criar a sua própria linguagem de programação em Python? Isso é um projeto emocionante e desafiador. Aqui vão alguns pontos principais a considerar:

1. **Definição de sintaxe**: A escolha da sintaxe da linguagem é crucial. Você precisa decidir como os programadores vão interagir com a linguagem, incluindo a forma como escrevem os códigos, declaram variáveis e controlam fluxos. Existem várias abordagens possíveis, desde uma sintaxe similar à Python até uma abordagem completamente diferente.

2. **Tipagem de dados**: A tipagem de dados é a forma como a linguagem trata os dados, incluindo o tipo de dados e como os dados são representados em memória. Você pode escolher entre uma tipagem forte, onde os tipos de dados são verificados no tempo de execução, ou uma tipagem fraca, onde os tipos de dados são inferidos pelo compilador ou interpretador.

3. **Execução da linguagem**: A forma como a linguagem é executada é fundamental. Você pode escolher entre uma abordagem de interpretação, onde o código é executado linha por linha, ou uma abordagem de compilação, onde o código é compilado em código máquina antes de ser executado.

4. **Bibliotecas e ferramentas**: A criação de uma linguagem de programação também envolve a criação de bibliotecas e ferramentas que permitam aos programadores escrever códigos mais eficientes e produtivos. Isso pode incluir bibliotecas para manipulação de dados, redes, bancos de dados, etc.

5. **Comunidade e suporte**: A criação de uma linguagem de programação também envolve a criação de uma comunidade de programadores que a utilizem e a apoiem. Isso pode incluir a criação de fóruns, documentação, tutoriais, etc.

Se você está a criar a sua própria linguagem de programação em Python, eu convido você a conhecer as soluções de alojamento de alta performance da AplicHost em https://aplichost.com. Para garantir que os vossos projetos e fóruns rodam sem falhas, é fundamental escolher um provedor de servidores que ofereça recursos de alta qualidade, como processadores rápidos, memória RAM abundante e discos rígidos com alta velocidade de leitura e escrita. A AplicHost é uma opção confiável e segura que pode ajudar a garantir o sucesso da sua linguagem de programação e dos seus projetos.

Estou criando minha própria linguagem de programação em Python



Tópico: Estou criando minha própria linguagem de programação em Python
Categoria: Tutoriais | Programação & Tecnologia
Idioma Principal: Português (Conteúdo de Tecnologia)

Descrição do Conteúdo / Informações:
-------------------------------------------------------------------------
Há algum tempo comecei um projeto chamado Exper.

A ideia era simples: aprender mais sobre interpretadores e design de linguagens criando minha própria linguagem de programação.

No início ela era extremamente simples, mas aos poucos foi ganhando recursos como:

• Variáveis

• Funções

• Structs

• Loops

• Condicionais

• Listas

• Interpolação de strings

Hoje a Exper já consegue executar programas relativamente grandes.

O que mais tem me ajudado no desenvolvimento não são exemplos pequenos, mas sim um RPG de texto que estou criando para testar a linguagem.

Esse RPG força a implementação de recursos reais:

• Inventário

• Objetos

• Combate

• Estruturas de dados

• Passagem por referência

• Manipulação de listas

Curiosamente, a maior parte dos bugs aparece apenas quando tentamos construir algo real.

Por exemplo, recentemente descobri problemas relacionados a passagem por referência e mutabilidade ao implementar um sistema de inventário para poções.

Esse tipo de problema dificilmente apareceria em exemplos simples de calculadora.



Exemplo da linguagem


struct Player {
name,
hp = 100
}

player = Player()
player.name = "Callebe"

console.log("{player.name} possui {player.hp} HP")



O que aprendi até agora


Criar uma linguagem é muito mais difícil do que parece.

Quando você acredita que terminou:

• Surge um problema de escopo.

• Depois um problema de mutabilidade.

• Depois um problema de parsing.

• Depois um problema de listas.

• Depois um problema de referências.

Mas é justamente isso que torna o projeto interessante.



Próximos passos


• Melhorar suporte a métodos

• Operadores compostos

• Sistema de módulos

• Classes

• Exceções

O objetivo não é criar um concorrente para Python ou JavaScript.

O objetivo é aprender como essas linguagens funcionam internamente.

E, até agora, a Exper tem sido uma excelente professora.

Código completo aqui


Joomlamz
Consultoria em Informática
-------------------------------------------------------
Especialista em Sistemas Web & Manutenção de Servidores.
A desenvolver o novo AplPortal com suporte a PHP 8.
Precisa de ajuda profissional? Contacte-me.

Tags: