
Python, Go, Rust, TypeScript and AI with Armin Ronacher
The Pragmatic Engineer
Languages Matter for AI-Assisted Coding
Gergely asks if languages will matter less and Armin shows that language choice still affects AI output quality and toolability.
Brought to You By:
• Statsig — The unified platform for flags, analytics, experiments, and more. Most teams end up in this situation: ship a feature to 10% of users, wait a week, check three different tools, try to correlate the data, and you’re still unsure if it worked. The problem is that each tool has its own user identification and segmentation logic. Statsig solved this problem by building everything within a unified platform. Check out Statsig.
• Linear – The system for modern product development. In the episode, Armin talks about how he uses an army of “AI interns” at his startup. With Linear, you can easily do the same: Linear’s Cursor integration lets you add Cursor as an agent to your workspace. This agent then works alongside you and your team to make code changes or answer questions. You’ve got to try it out: give Linear a spin and see how it integrates with Cursor.
—
Armin Ronacher is the creator of the Flask framework for Python, was one of the first engineers hired at Sentry, and now the co-founder of a new startup. He has spent his career thinking deeply about how tools shape the way we build software.
In this episode of The Pragmatic Engineer Podcast, he joins me to talk about how programming languages compare, why Rust may not be ideal for early-stage startups, and how AI tools are transforming the way engineers work. Armin shares his view on what continues to make certain languages worth learning, and how agentic coding is driving people to work more, sometimes to their own detriment.
We also discuss:
• Why the Python 2 to 3 migration was more challenging than expected
• How Python, Go, Rust, and TypeScript stack up for different kinds of work
• How AI tools are changing the need for unified codebases
• What Armin learned about error handling from his time at Sentry
• And much more
Jump to interesting parts:
• (06:53) How Python, Go, and Rust stack up and when to use each one
• (30:08) Why Armin has changed his mind about AI tools
• (50:32) How important are language choices from an error-handling perspective?
—
Timestamps
(00:00) Intro
(01:34) Why the Python 2 to 3 migration created so many challenges
(06:53) How Python, Go, and Rust stack up and when to use each one
(08:35) The friction points that make Rust a bad fit for startups
(12:28) How Armin thinks about choosing a language for building a startup
(22:33) How AI is impacting the need for unified code bases
(24:19) The use cases where AI coding tools excel
(30:08) Why Armin has changed his mind about AI tools
(38:04) Why different programming languages still matter but may not in an AI-driven future
(42:13) Why agentic coding is driving people to work more and why that’s not always good
(47:41) Armin’s error-handling takeaways from working at Sentry
(50:32) How important is language choice from an error-handling perspective
(56:02) Why the current SDLC still doesn’t prioritize error handling
(1:04:18) The challenges language designers face
(1:05:40) What Armin learned from working in startups and who thrives in that environment
(1:11:39) Rapid fire round
—
The Pragmatic Engineer deepdives relevant for this episode:
—
Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe