Programe em Português

Linguagem brasileira que transpila para C++

Aprenda lógica de programação com sintaxe em português. Seu código é convertido para C++ e compilado para executável nativo.

Por que JPLang?

Uma linguagem pensada para quem está começando, sem abrir mão de performance.

🇧🇷

100% em Português

Palavras-chave como se, enquanto, funcao e retorna. Sem barreiras de idioma.

Compila para C++

Seu código é transpilado para C++ e compilado com GCC. Performance de código nativo.

📦

Executável Único

Gera um .exe independente. Distribua sem dependências externas.

🎯

Sintaxe Simples

Inspirada em Python: indentação define blocos, sem chaves ou ponto-e-vírgula.

🎨

Saída Colorida

Funções como saida_verde() e saida_vermelho() para feedback visual.

🏗️

Orientação a Objetos

Suporte a classes e métodos. Aprenda POO de forma intuitiva.

Aprenda em Minutos

Clique nos cards para expandir os exemplos.

👋 Olá Mundo

Seu primeiro programa

saida("Olá, mundo!") saida_verde("Programa funcionando!")

Funções de saída:

  • saida() - texto normal
  • saida_verde() - texto verde
  • saida_vermelho() - texto vermelho
  • saida_azul() - texto azul
  • saida_amarelo() - texto amarelo

📊 Variáveis

Tipagem automática ou explícita

# Tipagem automática nome = "João" idade = 25 altura = 1.75 # Tipagem explícita texto cidade = "Cascavel" int ano = 2024 saida("{nome} tem {idade} anos")

Tipos disponíveis:

  • texto - cadeia de caracteres
  • int - número inteiro
  • dec - número decimal
  • bool - verdadeiro/falso

🔀 Condicionais

Decisões no código

idade = 17 se idade >= 18: saida_verde("Maior de idade") ou_se idade >= 16: saida_amarelo("Pode votar") senao: saida_vermelho("Menor de idade")

Operadores de comparação:

  • == igual, != diferente
  • > maior, < menor
  • >= maior ou igual, <= menor ou igual

🔁 Loops

Repetição de código

# Loop enquanto x = 0 enquanto x < 5: saida("x = {x}") x = x + 1 # Loop para para i em intervalo(0, 10): saida(i)

Controle de fluxo:

  • parar - sai do loop
  • continuar - pula para próxima iteração
  • repetir(n) - repete n vezes

⚙️ Funções

Organize seu código

funcao somar(a, b): resultado = a + b retorna resultado total = somar(10, 20) saida("Total: {total}")

Estrutura:

  • Definição com funcao nome(params):
  • Uso de retorna para devolver valores

🏛️ Classes

Orientação a objetos

classe Pessoa: funcao criar(nome, idade): auto.nome = nome auto.idade = idade retorna auto funcao apresentar(): saida("Sou {auto.nome}") joao = Pessoa.criar("João", 25) joao.apresentar()

POO em JPLang:

  • classe Nome: define a estrutura
  • funcao criar(): é o construtor
  • auto referencia o próprio objeto

⌨️ Entrada de Dados

Interação com usuário

nome = entrada("Digite seu nome: ") saida("Olá, {nome}!") idade_texto = entrada("Sua idade: ") idade = int(idade_texto) se idade >= 18: saida_verde("Bem-vindo!")

Conversões:

  • int() - converte para inteiro
  • dec() - converte para decimal

🧮 Exemplo: Fatorial

Algoritmo clássico

funcao fatorial(n): resultado = 1 para i em intervalo(1, n + 1): resultado = resultado * i retorna resultado saida("5! = {fatorial(5)}")
Ver mais no GitHub

Performance Nativa

Seu código JPLang é transpilado para C++ e compilado com GCC, gerando executáveis otimizados.

Linguagem Velocidade Relativa Tipo
JPLang
100% (Nativo)
Transpila para C++
C / C++
100%
Compilado
Rust
95%
Compilado
Python
~3%
Interpretado
🚀

Otimização GCC

O código C++ gerado é compilado com flags de otimização (-O3) para máxima performance.

Sem Overhead

Nenhuma máquina virtual ou interpretador. Código de máquina puro.

🔗

Linkagem Estática

Executável independente. Não precisa de DLLs ou runtime instalado.

Instalação

1

Baixar

Baixe o compilador nas Releases do GitHub.

Ir para Downloads
2

Requisito: MinGW

Instale o MinGW (GCC para Windows):

# MSYS2 (recomendado) https://www.msys2.org/ # Após instalar: pacman -S mingw-w64-x86_64-gcc # Adicione ao PATH: C:\msys64\mingw64\bin
3

Criar e Executar

Crie ola.jp e execute:

# ola.jp saida("Olá, JPLang!")
# Executar jp ola.jp # Compilar para .exe jp build ola.jp

Código aberto e gratuito

Contribuir no GitHub