Pular para o conteúdo

Quando NÃO usar DataForge

A pergunta honesta, respondida com a medida: onde a linguagem serve, onde ela custa caro e onde ela simplesmente não é a ferramenta.

Toda linguagem tem uma resposta pronta para por que me escolher. Esta página é a outra. Ela existe porque a recomendação errada custa mais que a falta de recomendação — e porque quem descobre o limite em produção não volta.

Não use quando o trabalho é de CPU e o prazo é curto#

DataForge é um interpretador de árvore escrito em Python, com compilação para fechamentos. Medido, de 1,5× a 1,8× mais rápido que a travessia de árvore pura — e ainda assim mais lento que o CPython, que já é mais lento que quase tudo.

TrabalhoResposta
laço numérico apertadonão — ou adopt Python.numpy, que roda vetorizado de verdade
muitos núcleos, trabalho de CPUP.map_processos — medido 3,45× em 10 núcleos
muitos núcleos, com threadnão: o GIL continua no caminho, e a medida foi 0,97×
rede, disco, bancosim — async/await sobrepõe de verdade

Não use como servidor público sem algo na frente#

O Kiln roda sobre o http.server do Python. Ele não tem TLS e não tem HTTP/2 — e isso não é uma pendência de roadmap, é uma decisão: refazer TLS em Python puro seria a pior escolha de segurança possível. Em produção pública, ponha um nginx ou um Caddy na frente.

E ele atende um pedido por thread, sem sincronizar nada por você. Uma rota que lê, decide e escreve num estado em memória perde atualizações — medido: seis pedidos simultâneos entregaram 1 de 6. O check avisa (escrita-concorrente), e a resposta é Arcane.Concurrent.

Não use onde o ecossistema é o produto#

A biblioteca padrão tem 87 módulos e 2323 símbolos, sem uma única dependência externa. Isso cobre muito — e não cobre o PyTorch, o Kubernetes client, o driver do seu ERP. A ponte para o Python existe (adopt Python.pandas as pd) e é real, mas se a maior parte do seu sistema vai ser Python chamado de dentro, escreva em Python.

Não use se você precisa de um destes#

  • Binário nativo — não há backend LLVM, e não haverá: amarrar o LLVM tiraria a única propriedade inegociável do projeto, que é zero dependência externa.
  • Bare-metal / microcontrolador rodando a linguagemArcane.IoT fala com a placa pela serial; a linguagem não roda dentro dela.
  • Aplicativo Android empacotado — há PWA (dataforge mobile pwa), não há APK.
  • Alocador próprio — o alocador é o do CPython. Há controle do coletor (Arcane.Memoria), que é outra coisa, e o projeto prefere nomear a diferença.

Onde ela é uma boa escolha#

  • Ferramenta interna — CLI, script de dados, automação. dataforge new sai com testes, CI e forge.toml.
  • Painel de dados — a Vitrine desenha o gráfico no servidor, em SVG, sem uma linha de CDN. É o que funciona em rede fechada.
  • Ensino — a análise estática acusa antes de rodar, e as mensagens dizem o que fazer.
  • Prototipagem com hardware — a placa vira periférico e o laço de trabalho passa a ser o do computador.
  • Sistema modular de verdade — o check atravessa arquivos: P.criar(1, 2, 3) é acusado antes de rodar, mesmo vindo de outro .df.