Basic Next: programe com clareza.

Uma linguagem de programação para aprender, explorar ideias e desenvolver aplicações. Execute código interpretado ou compilado, trabalhe com dados e desenvolva backends web, com recursos de depuração.

Disponível para WindowsLinuxmacOS

pagamento.bn
FUNCTION Start() AS VOID
    LET nome AS STRING = "Ada"
    LET horas AS INTEGER = 12
    LET valorHora AS FLOAT = 87.5
    LET total AS FLOAT = (horas AS FLOAT) * valorHora

    PRINT nome, "trabalhou", horas, "horas"
    PRINT "Total a receber:", total
END FUNCTION

Saída

Ada trabalhou 12 horas
Total a receber: 1050.0

Recursos

O que você pode fazer com Basic Next

A biblioteca padrão vem com a instalação. Cada módulo é importado pelo nome, só quando o programa precisa dele.

Backends web

O módulo BNWeb registra rotas e filtros explícitos para responder a requisições HTTP, validando URLs antes de chegarem ao seu código. Nesta versão, programas web rodam com o interpretador bni.

  • BNWeb
  • HOST.Net

Ver exemploReferência (em inglês, abre em nova aba)

Matemática e estatística

BNMath reúne funções matemáticas — raiz, potência, logaritmos, trigonometria, arredondamento — e estatística descritiva: média, mediana, moda, quartis, variância e desvio padrão.

  • BNMath

Ver exemploReferência (em inglês, abre em nova aba)

Ferramentas da linguagem

Execute, compile e depure

O Basic Next tem dois programas: bni é o interpretador e bnc é o compilador. Os dois usam o mesmo analisador e mostram as mesmas mensagens de erro.

Execução interpretada

O interpretador bni roda o programa direto do código-fonte, sem arquivo de projeto nem etapa de build. Basta passar o arquivo: executar é o modo padrão.

Terminal
bni ola.bn

Compilação

O compilador bnc gera um executável nativo ou WebAssembly por meio do LLVM. Requer o clang instalado e disponível no PATH.

Terminal
bnc ola.bn -o ola

Depuração

bni dap conecta o editor ao depurador: pontos de parada, execução passo a passo e inspeção de variáveis. bni check valida o programa sem executá-lo.

Terminal
bni check ola.bn

Integrações

Use suas ferramentas de desenvolvimento

Escreva Basic Next no editor que você já usa, ou em notebooks para aulas e análises.

Exemplos

Veja Basic Next em ação

Programas curtos, testados na versão 0.6.8. A saída mostrada é exatamente a que o bni imprime.

Primeiro programa

Todo programa começa em FUNCTION Start(). Cada bloco fecha com o seu END, e PRINT escreve valores separados por espaço.

Dependências
Nenhuma
Executar
bni ola.bn
ola.bn
FUNCTION Start() AS VOID
    PRINT "Primeiro programa em Basic Next"
END FUNCTION

Saída

Primeiro programa em Basic Next

Instalação

Comece no seu sistema

Instale, confira a versão e rode o primeiro programa em poucos minutos.

Versão 0.6.8 · Pré-alpha. Indicada para experimentação; não utilizar em processos de negócio.

Pré-requisitos: Windows 10 ou 11 (x86_64) com PowerShell. Não precisa de administrador. Para compilar com bnc, instale também o clang (LLVM).

  1. Instale

    No PowerShell, baixe e execute o instalador. Ele instala em %LOCALAPPDATA%\Programs\BasicNext e adiciona o bin ao PATH do usuário.

    PowerShell
    irm https://raw.githubusercontent.com/cquintella/BasicNext/main/scripts/install.ps1 | iex
  2. Verifique a instalação

    Feche e abra o terminal para carregar o novo PATH e confira a versão.

    PowerShell
    bni --version

    Saída

    bni 0.6.8
  3. Rode o primeiro programa

    Salve o código abaixo como ola.bn e execute.

    ola.bn
    FUNCTION Start() AS VOID
        PRINT "Primeiro programa em Basic Next"
    END FUNCTION
    PowerShell
    bni ola.bn

    Saída

    Primeiro programa em Basic Next

Princípios

Por que Basic Next

A linguagem tira do caminho a dificuldade acidental — configuração, conversões ocultas, sintaxe críptica — para que a atenção fique no problema. Isso a torna boa para trabalhar e para ensinar.

Núcleo pequeno

Palavras reservadas só para o essencial. Banco de dados, web e estatística chegam como módulos importados pelo nome: nada fica disponível sem que o programa peça.

Tipos explícitos

Toda variável, parâmetro e retorno declara seu tipo, como em LET total AS FLOAT. Sem conversões implícitas, quem lê entende o contrato e o erro aparece antes da execução.

Portabilidade por capacidades

O programa pede capacidades ao ambiente — HOST.FileSystem para arquivos, HOST.Net para rede — em vez de chamar APIs do Windows ou do Linux. O mesmo código serve aos três sistemas.

Feita para ensinar

Blocos fecham com END IF e END WHILE, falhas aparecem no tipo de retorno e as mensagens de erro explicam causa e solução. Tipos, memória e fluxo ficam visíveis.

Do autor

A ideia por trás da linguagem

Criei o Basic Next para resolver um problema que acompanhei ao longo de toda a carreira, em arquitetura de sistemas, infraestrutura e ensino: o caminho entre ter a ideia de um programa e ter esse programa funcionando ficou longo demais. E trocar de linguagem ou de ferramenta não resolvia.

O que alonga esse caminho raramente é o algoritmo. São configurações de build, convenções de frameworks, conversões de tipo que acontecem sem aviso e erros que só aparecem em produção. Tudo isso consome a atenção que deveria estar no problema.

Programar já foi divertido. Quando a ferramenta deixa de atrapalhar, entramos em estado de flow, e a ideia se transforma em programa sem atrito. O Basic Next quer devolver esse estado. Para isso, reúne a clareza do BASIC, a disciplina do Pascal e o núcleo enxuto do C. E foi pensado também para ensinar programação.

Carlos Alvaro Quintella, criador do Basic Next — trecho adaptado do prefácio do livro.

Código aberto · MPL 2.0

Acompanhe o projeto

Basic Next é desenvolvido em público. Leia, teste e acompanhe cada versão.