TL;DR
Microsoft’s move to rewrite TypeScript in Go kicked off a broader conversation: in the AI era, readability, ecosystem tooling, and the shape of your workload matter as much as raw performance. Cameron leans TypeScript for web and Python/C++ for AI-heavy backends; Jens explains why Go’s simplicity can make AI-generated code easier to review and maintain.
A surprise: TypeScript in Go (not Rust)
Jens raises Microsoft’s plan to rewrite TypeScript in Go and asks for Cameron’s take. Cameron didn’t see Go coming—but is “pretty shocked and honestly excited,” noting Go’s blend of strengths and that it’s capable of more than we usually ask of it.
I’m actually pretty shocked and excited they decided to go the route of Go… it feels like the best of C++, Java, Python and TypeScript all in one.
Go vs Rust when you’re moving a compiler
Jens contrasts Go’s “almost no magic” with Rust’s borrow-checker complexity when dealing with parsers/ASTs. Function-by-function, TypeScript can map more directly to Go, whereas Rust introduces lifetimes and ownership work that complicates a straight rewrite.
He adds that GC tradeoffs are workload-dependent: servers can see GC-related latency spikes, but compilers can finish work and free memory, making GC far less of a concern.
Picking languages for AI work (today)
Cameron’s rule of thumb: TypeScript for web, Python/C++ for AI-heavy backend, largely because the AI tooling ecosystem favors those back-end languages right now. He likes Go, but some AI features are still missing or immature in Go’s ecosystem.
On the back end… I’m probably going to go with Python or C++. The reason is tools and what you have access to.
How AI changes the workflow
Jens and Cameron compare agent mode to earlier autocomplete-style tools. Agents can edit across many files, which is powerful but risky without guardrails. One practical loop Jens recommends for web: let the AI write TypeScript, run tsc, and feed compiler errors back to the AI for correction.
Cameron finds agents strong for scaffolding, SQL migrations, comments, tests, and models—but warns they can mangle prompts if you aren’t careful with file access.
