Comece simples.
Escale sem limites.

Artcode é a linguagem que não te força a escolher entre produtividade e performance. Complexidade Progressiva: você sobe a escada quando precisar.

progressivo.art

Diferenciais

Por que engenheiros escolhem Artcode

Cada feature foi desenhada para resolver frustrações reais do dia a dia.

⚙️

Compilador "Jano" — JIT + AOT

Em desenvolvimento, execução JIT instantânea. Em produção, binário AOT otimizado com PGO (Profile-Guided Optimization) via LLVM. Você desenvolve rápido e deploya com performance nativa.

🧠

Memória Adaptativa

ARC determinístico por padrão (sem GC). Referências weak/unowned para grafos complexos. Arenas em blocos performant {} para latência zero. Você escolhe o degrau.

🧩

Concorrência Híbrida

Modelo de Atores nativo para segurança por construção. Primitivas Atomic<T> e Mutex<T> em blocos performant quando precisar de controle fino. Duas marchas, zero data races.

🛡️

Null Safety Total

null não existe. Toda ausência de valor é um Optional<T> que o compilador obriga tratar. Pattern matching exaustivo garante que nenhum case seja esquecido.

Sintaxe Expressiva

f-strings com format specs, shorthand enum inference (.None), operador ? para propagação de erros, métodos associados em tipos nativos. O código não entra no caminho.

🔧

Ferramentas Integradas

CLI unificada: art run, art fmt, art lint, art lsp. Language Server Protocol para diagnósticos em tempo real na sua IDE. Tudo pronto desde o dia 1.

Na Prática

Código que fala por si

result_propagation.art
// Propagação tipo-safe de erros
func pipeline(input: String) -> Result<Data, Err> {
    let ok = validate(input)?
    let parsed = parse(ok)?
    return .Ok(transform(parsed))
}
actors.art
// Concorrência segura com Atores
let counter = spawn(actor_fn)
actor_send(counter, "increment")
actor_send(counter, "increment")

// Sem data races. Sem mutexes.
// Estado isolado por construção.
arena.art
// Memória manual quando precisar
performant {
    arena (4 * 1024 * 1024) as frame {
        let p = frame.alloc(Particula {
            x: 0.0, y: 0.0
        })
    } // Liberada atomicamente
}

Quickstart

Rodando em 30 segundos

terminal — Linux / macOS
# Instala em 1 comando
curl -fsSL https://raw.githubusercontent.com/kitsuneislife/artcode/main/install.sh | bash

# Rode seu primeiro programa
art run examples/00_hello.art

# Inicie o Language Server para sua IDE
art lsp

Prefere compilar do fonte? Veja o guia completo →