devops
Microsofts Go-herschrijving van TypeScript krijgt concurrentie: een ontwikkelaar beweert dat zijn port twee keer zo snel is
Met wat extra tokens te verbranden gebruikte ontwikkelaar en populaire YouTuber Theo Browne AI-agents om Microsoft’s TypeScript-compiler naar Rust te porten, gewoon om te zien of het mogelijk was. Hij leverde niet alleen een werkende implementatie af, maar de resulterende code kan ook de weg vrijmaken voor meer geheugen-efficiënte omgevingen voor AI-agents.
Browne stelt dat zijn Rust-port twee keer zo snel loopt als Microsofts officiële, in Go geschreven TypeScript-herschrijving (v7) die eerder dit jaar werd uitgebracht, en 12,5 keer sneller dan de vorige versie van TypeScript (v6) — niet slecht, zeker gezien hij zegt de code niet eens grondig te hebben geïnspecteerd.
TS_Rust is een project dat volgens Browne eerder dit jaar nog onpraktisch zou zijn geweest, zoals hij in een videopresentatie opmerkte. Maar modellen ontwikkelen zich zo snel dat tot voor kort onvoorstelbare taken nu uitvoerbaar zijn.
De Rust-gebaseerde TypeScript opent bovendien de mogelijkheid om Google’s V8-engine te gebruiken als een minder geheugenintensieve manier om agentgestuurde werklasten in TypeScript uit te voeren — een aanpak die volgens Browne onhaalbaar zou zijn met Microsoft’s Go-implementatie van TypeScript.
Een klus die niet mogelijk zou moeten zijn
Brownes oorspronkelijke idee was zijn overtollige tokens te verbranden aan een project dat zo groot was dat het onmogelijk af te ronden leek, puur om te zien hoever de nieuwste modellen zouden komen. De agentgestuurde herschrijving hield in dat de TypeScript-compiler, de typechecker en de taalserver werden gepord—die features zoals foutcontrole en code-completion in editors biedt.
Hij verbruikte meer dan $400.000 aan API-equivalente tokens met OpenAI’s GPT-5.6 Sol en GPT-6 Astra, en bereikte daarmee ongeveer 84 procent compatibiliteit voordat de modellen moeite kregen de resterende taken af te ronden.
Nadat Anthropic vorige maand Claude Opus 5.5 uitbracht, nam hij het project opnieuw onder handen. Tot zijn verbazing produceerde het nieuwe model een werkende implementatie, en verbruikte daarbij ongeveer $24.000 aan API-equivalente tokens via Brownes Claude-abonnementen. De resulterende implementatie slaagde vrijwel volledig voor de TypeScript-conformiteitstests.
Mogelijk was dit onverwachte succes te danken aan Claude 5.5 being een krachtiger model, redeneerde Browne. Maar Claude was ook slim genoeg om zijn strategie te veranderen om sneller te kunnen beginnen. In plaats van direct van JavaScript naar Rust te vertalen, portte het model Microsoft’s Go-implementatie van TypeScript naar Rust, en kopieerde daarbij enkele bugs uit het origineel.
Browne ontdekte pas dat Claude dit had gedaan nadat iemand hem erop wees.
“Het helemaal schrijven van TypeScript van JS naar Rust zou niet haalbaar zijn geweest,” zei hij in de video. “Het Microsoft-team heeft elke regel code in TypeScript doorgenomen, die naar Go geporteerd, en daarna verfijnd om het beter en sneller te maken in Go. Mijn agents deden hetzelfde, maar van de Go-versie naar Rust.”
TS_Rust is een van meerdere recente projecten waarbij LLM’s gebruikt werden om software naar Rust te herschrijven. Microsoft zelf herschreef recentelijk de Copilot-runtime in Rust; dat project kostte de ‘softies ongeveer $120.000 aan AI-tegoed. Google gebruikt, met de release van zijn Gemini 4 Argon-model, eveneens AI-agents om verschillende grote C/C++-codebases (RE2, libgav1 en delen van Fuchsia’s Zircon-kernel) naar Rust te porten.
V8-aangedreven agents
Afgezien van de nieuwigheidswaarde kan Brownes eigen versie van TypeScript uiteindelijk een praktisch voordeel bieden door de noodzaak weg te nemen voor agents om relatief zware agentomgevingen zoals virtuele machines en Docker-containers uit te rollen. Dat is een taak die zelfs Microsofts officiële Go-implementatie niet even effectief kan uitvoeren, betoogde hij.
Als iemand dit werk tot het einde toe brengt, zou het op tijd komen. Browne stelde dat met krachtigere modellen in het vooruitzicht, de inferentiekosten exponentieel dalen, zo sterk dat de onderliggende computekosten voor het draaien van ontwikkelomgevingen binnenkort het duurste onderdeel van de operatie zullen zijn.
Met een Rust-gebaseerde TypeScript-compiler zouden sommige agentgestuurde werklasten mogelijk binnen Google’s V8-engine kunnen draaien, in plaats van een volledige container of VM te vereisen. Cloudflare is bijvoorbeeld al in staat meerdere gebruikersomgevingen te isoleren met de Google V8 JavaScript-runtime, waardoor honderden megabytes per klantomgeving worden bespaard.
TypeScript zelf, ontdaan van type-aanduidingen, draait probleemloos binnen V8, maar Microsoft’s Go-gebaseerde TypeScript-compiler is minder geschikt omdat Go’s garbage collector in de runtime gebundeld moet worden via WebAssembly — geen eenvoudige opgave.
Rust heeft echter geen garbage collector nodig, en compileert efficiënter naar WebAssembly. Een lichtgewicht agentomgeving zou in theorie binnen V8 kunnen draaien met TS_Rust en een in-memory shell-omgeving zoals Vercel’s Just Bash, wat de kosten zou kunnen verlagen vergeleken met het draaien van dezelfde werklasten in een VM.
Wat Browne betreft blijft hij optimistisch over AI en software-ontwikkeling.
“Deze soorten YOLO-projecten zouden helemaal niet haalbaar moeten zijn. Ze zouden eigenlijk de tests niet eens moeten kunnen halen, laat staan daadwerkelijk als drop-in vervanging voor TypeScript werken,” zei hij. ®
