Download one XS 1.2.26 binary to code anywhere from ESP32 to macOS with no runtime needed.
- Single binary runs on Linux, macOS, Windows, WASI, iOS, Android, ESP32, and Raspberry Pi
- No runtime dependencies, no installers, no downloads beyond the one file
- Includes compiler, debugger, formatter, linter, test runner, profiler, and package manager
Uma nova linguagem de programação acaba de ser lançada e é tão compacta que cabe em um único arquivo que você pode carregar em um pen drive. A versão mais recente do XS — 1.2.26 — é um binário estaticamente vinculado que inclui tudo o que você precisa para escrever, depurar e executar código. Sem downloads extras. Sem runtime. Sem complicações. O compilador, servidor de linguagem, depurador, formatador, linter, executor de testes, profiler e gerenciador de pacotes estão todos empacotados em um único executável. É como ter uma cadeia de ferramentas de desenvolvimento inteira no espaço de um único arquivo JPG. O binário funciona em tudo, desde um Raspberry Pi até um iPhone, e até mesmo em microcontroladores como o ESP32. Não é exagero — a página do XS no GitHub lista suporte oficial para Linux, macOS, Windows, WASI, iOS, Android, ESP32 e Raspberry Pi. Um arquivo, uma arquitetura, zero dores de cabeça na configuração.
A equipe por trás do XS garantiu que isso não seja apenas mais uma linguagem brinquedo. Eles a desenvolveram para lidar com trabalho real, com três formas de executar seu código: um interpretador tree-walk para simplicidade, uma VM de bytecode para velocidade e um JIT com alocação de registradores quando você precisa de desempenho. O mesmo código-fonte é executado sem alterações em todas as plataformas, o que é uma façanha rara em 2024. Se você já passou horas lutando com cadeias de ferramentas multiplataforma, o XS é como um suspiro de alívio. Os binários também vêm com um recurso de segurança: os instaladores verificam os checksums das versões lançadas no GitHub antes de executar qualquer coisa. Isso significa que, se alguém tentar incluir malware em uma versão, seu sistema não permitirá que ela seja executada. A equipe publica binários estáticos com checksums na pasta /downloads, para que você possa verificar antes de executar.
Em termos de desempenho, o XS não é apenas rápido no papel — é rápido na prática. Em uma máquina Linux x86-64 padrão, os tempos de inicialização fria para o JIT, VM e interpretador foram medidos em três execuções consecutivas. Os resultados estão todos na árvore de origem, em tests/bench_backends.sh, para que você possa reproduzi-los. Os números do JIT e da VM vêm da mesma compilação que é distribuída nas versões lançadas, ou seja, sem truques ocultos de desempenho — apenas o produto real. Não é um experimento mal acabado; é uma linguagem otimizada para uso no mundo real. A equipe até incluiu um profiler e um executor de testes, para que você possa detectar bugs e otimizar código sem sair da cadeia de ferramentas.
O XS não está tentando substituir Python ou JavaScript. Seu objetivo é resolver um problema diferente: e se você pudesse escrever código uma vez e executá-lo em qualquer lugar, sem carregar um runtime ou brigar com sistemas de compilação? A resposta é o XS. Ele transcompila para JavaScript, C e WebAssembly, permitindo que você implante seu código na web, sistemas embarcados ou servidores tradicionais. A integração com o servidor de linguagem significa que seu editor (VS Code, Vim, Emacs) pode fornecer autocompletar, linting e depuração diretamente. O gerenciador de pacotes é integrado, então adicionar bibliotecas é tão simples quanto digitar um comando. É o tipo de cadeia de ferramentas que faz você se perguntar por que já toleramos algo mais complicado.
O projeto é de código aberto sob a licença Apache 2.0, e o código está no GitHub sob o usuário xs-lang0. O mantenedor, xs-lang0, vem iterando silenciosamente no XS há anos, mas a versão 1.2.26 parece um marco. É o primeiro lançamento em que a equipe se sente confiante em chamá-lo de pronto para produção em uma ampla gama de casos de uso. Eles não estão mirando especificamente em cientistas de dados ou desenvolvedores web — estão construindo algo para qualquer pessoa que já tenha esbarrado em um muro no desenvolvimento multiplataforma. Seja você hackeando um projeto pessoal ou desenvolvendo firmware para um ESP32, o XS promete não atrapalhar e deixar você escrever código.
O que vem por aí para o XS? A equipe já está discutindo adicionar mais otimizações para alvos embarcados e expandir a biblioteca padrão. Eles também estão trabalhando em mensagens de erro melhores e integrações com IDEs, porque até a melhor cadeia de ferramentas é inútil se for difícil de usar. O verdadeiro teste será se a comunidade de desenvolvedores mais ampla o adotará. Linguagens raramente substituem gigantes como Python ou JavaScript da noite para o dia, mas o XS não está tentando fazer isso. Ele está criando um nicho para desenvolvedores que precisam de uma solução direta, sem configuração, para escrever código portátil. Se você já xingou um Dockerfile ou passou um fim de semana depurando um virtualenv do Python, o XS pode ser a resposta que você não sabia que precisava.
Hacker News
Read full article at Hacker News →This post is a curated summary. All rights belong to the original author(s) and Hacker News.
Was this article helpful?
Discussion