Your one-stop shop for all Changelog podcasts. Weekly shows about software development, developer culture, open source, building startups, artificial intelligence, shipping code to production, and the people involved. Yes, we focus on the people. Everything else is an implementation detail.

Types will win in the end (Changelog Interviews #548)

July 13, 2023 1:05:00 62.57 MB Downloads: 0

This week we’re talking about type checking with Jake Zimmerman. Jake is one of the leads at Stripe working on Sorbet — an open source project that does Type checking in Ruby and runs over Stripe’s entire Ruby codebase. As of May of 2022 Stripe’s codebase was over 15 million lines of code spread across 150,000 files. If you think you have a bigger Ruby codebase, Jake is down to go byte-for-byte to see who wins. Jake shares tons of wisdom and more importantly he shares why he thinks types will win in the end.

Leave us a comment

Changelog++ members get a bonus 4 minutes at the end of this episode and zero ads. Join today!

Sponsors:

  • Sentry – Code-level APM built for developers! Stay ahead of latency issues and trace every slow transaction to a poor-performing API call or database query. Sentry is the only developer-first application monitoring platform that shows you what’s slow, down to the line of code. Use the code CHANGELOGMEDIA and get the team plan FREE for six (6) months.
  • Drata – Put security and compliance on autopilot. Build trust with your customers and scale securely with Drata, the smartest way to achieve continuous framework compliance for SOC 2, ISO 27001, HIPAA, GDPR, and more.
  • Typesense – Lightning fast, globally distributed Search-as-a-Service that runs in memory. You iterlly can’t get any faster!

Featuring:

Show Notes:

Something missing or broken? PRs welcome!

Timestamps:

(00:00) - This week on The Chagnelog
(01:00) - Sponsor: Sentry
(05:02) - Start the show!
(10:59) - Sorbet's origin story
(15:32) - Stripe's use of Sorbet
(17:10) - This is a big deal
(19:58) - Ruby doesn't want to be type checked
(24:14) - Method missing?
(25:39) - Sponsor: Drata
(27:22) - First-party Ruby types
(35:14) - Why aren't Types built in?
(37:37) - Sorbet's implementation and design
(46:12) - RBI vs RBS?
(51:19) - Stripe has the largest Ruby codebase
(52:46) - Adopting Sorbet
(54:27) - Editor support
(56:55) - Types will win
(58:36) - Jake's language of choice
(1:00:18) - The name "Sorbet"
(1:02:54) - Up next!