The Good Thing Podcast

What Language Should You Vibe Code In?

March 15, 2025
Last updated on October 7, 2025
Hosted by Jens Neuse
Directed by Jacob Javor

Featuring:

Cameron Sechrist
Cameron Sechrist
Head of Engineering at Stax.ai

Jens and Cameron discuss Microsoft’s plan to rewrite TypeScript in Go, what that says about Go vs Rust, and how AI changes the languages we pick.

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.

Read Cameron’s writing

Frequently Asked Questions

What did they say about Microsoft rewriting TypeScript in Go?

Cameron was surprised but excited; Jens noted Go’s ‘almost no magic’ and closer mapping from TypeScript, while Rust’s borrow checker adds complexity for compilers and AST transforms.

Which languages do they reach for with AI?

For web: TypeScript. For AI-heavy backend: Python or C++ due to ecosystem/tooling. Go stays attractive for readability and AI generation patterns.

Is Go’s garbage collection a problem?

It depends on workload. Jens explains GC can cause latency spikes in servers, but for compilers you can do the work and free memory, so GC may not be a concern.

Never miss an episode

Subscribe to The Good Thing to get notified when new episodes drop.

About the Hosts

Jens Neuse

About Jens Neuse

CEO & Co-Founder at WunderGraph

Jens Neuse is the CEO and one of the co-founders of WunderGraph, where he builds scalable API infrastructure with a focus on federation and AI-native workflows. Formerly an engineer at Tyk Technologies, he created graphql-go-tools, now widely used in the open source community. Jens designed the original WunderGraph SDK and led its evolution into Cosmo, an open-source federation platform adopted by global enterprises. He writes about systems design, organizational structure, and how Conway's Law shapes API architecture.