One statically-linked binary. That’s the audacious claim from XS, a new programming language that just dropped version 1.2.26. Not only does this supposed miracle binary contain the compiler, language server, debugger, formatter, linter, test runner, profiler, and package manager, but it’s also supposed to run unchanged on Linux, macOS, Windows, WASI, iOS, Android, ESP32, and Raspberry Pi. My BS detector is already beeping like a smoke alarm in a meth lab.
Look, I’ve been covering this Valley dance for two decades. Every other week, some startup or open-source project emerges with a shiny new language or framework promising to be the ‘everything’ solution. They talk about simplicity, power, and ubiquity, usually cloaked in a fresh coat of buzzwords. XS is no different. Its core pitch – a single, 2.9MB binary with zero runtime dependencies, capable of targeting six backends and three transpile targets – sounds like something ripped straight from a unicorn IPO deck.
The All-in-One Binary Pitch
Let’s grant them this: the sheer compactness is impressive. A single executable housing the entire development toolchain? That’s a bold statement. The project claims verification against SHA-256 sums, which is good hygiene, but it doesn’t magically make the underlying technology less suspect. The claim that this binary runs unchanged across an absurdly broad spectrum of hardware and operating systems is where my skepticism really kicks in. Remember OS/2? Remember Java’s ‘write once, run anywhere’ promise that turned into ‘write once, debug everywhere’? This feels like that, just miniaturized.
The same source runs unchanged on Linux, macOS, Windows, WASI, iOS, Android, ESP32, and Raspberry Pi.
If that statement holds true, then someone has performed a minor miracle of engineering. But history teaches us that ‘unchanged’ usually means ‘mostly unchanged with a few caveats and a significant performance penalty on certain platforms.’
Benchmarks: Faster Than What, Exactly?
Then come the benchmarks. XS claims a 3ms startup for a ‘hello world’ program when JIT-compiled. That’s fast. Blisteringly fast. It even stacks up favorably against C for that specific metric. But the comparison table throws in Node.js and CPython. Let’s be clear: comparing a niche compiled language’s JIT to interpreted Python or even V8’s JIT isn’t apples to apples. It’s more like comparing a finely tuned F1 engine to a reliable family sedan. The JIT performance is decent, sure, but 138ms for the VM is not exactly setting the world on fire.
The real question isn’t whether XS is faster than Node or Python for trivial tasks. It’s whether it can consistently outperform them for real-world applications without requiring developers to jump through hoops. And who, exactly, is making money here? This smells like an individual or a very small, dedicated team building a passion project, not a commercial venture poised to disrupt the enterprise.
Backends: A Multitude of Approaches
XS offers a buffet of execution methods, which is interesting, I’ll give them that. There’s a tree-walk interpreter for the REPL and AST plugins (useful for debugging, I suppose), a standard bytecode VM for everyday execution, and the register-allocating JIT for x86-64 and AArch64. Then there are the transpilers: one that spits out C source code and another for JavaScript. The C output is particularly intriguing, aiming for self-contained C code that any decent compiler can handle. This is where XS could carve out a niche – as a meta-language for generating highly optimized, platform-specific code.
But even here, the devil is in the details. How good is that generated C? Is it readable? Maintainable? Does it introduce its own set of runtime dependencies or quirks? The JavaScript transpiler, generating code for Node or the browser, also promises to be smaller than the WASM version, which is a curious claim unless they’re baking in a highly specialized JS runtime.
My primary concern, as always, is not just the technical achievement but the ecosystem. Who’s building libraries for XS? What’s the community like? A programming language, no matter how technically brilliant, is only as good as the community and the tools built around it. Right now, XS feels like a solitary genius’s magnum opus, which is great for the ego, less so for widespread adoption. And who’s footing the bill for all this development?
Is XS Actually a Replacement for My Daily Driver?
No. Not yet, anyway. The claims are bold, the binary is tiny, and the ambition is palpable. But 20 years in this game means I’ve seen too many promising languages wither on the vine because they couldn’t attract developers, build an ecosystem, or, critically, find a sustainable business model. XS seems more like an experiment in compiler design and binary optimization than a serious contender for your next production application. It’s a fascinating technical exercise, but until I see real-world projects thriving on it, widespread adoption, and a clear path to commercial viability—or at least a strong, self-sustaining open-source community—I’ll remain cautiously skeptical. For now, it’s a curiosity, a very compact curiosity.