Ruby Static Analysis with Jake Zimmerman

Ruby Static Analysis with Jake Zimmerman

2 Min Read

Dynamic languages such as Ruby, Python, and JavaScript identify variable types during runtime instead of at compile time. This characteristic enables swift development and succinct code, though it can also complicate the early detection of some bug categories pre-execution. Type checkers for dynamic languages introduce structure and safety without sacrificing their clarity.

Sorbet is a static type checker crafted by Stripe explicitly for Ruby. The impetus for Sorbet originated from the increasing complexity of production Ruby applications, where developers required stronger assurances and scalable code quality tools beyond what dynamic typing could provide.

Jake Zimmerman, a software engineer at Stripe, spearheads the development of Sorbet. He appears on a podcast with Josh Goldberg to discuss his background, the challenges of typing in Ruby, Sorbet’s motivation, architecture, and performance optimizations.

Josh Goldberg is a full-time open-source developer in the TypeScript ecosystem. He contributes to projects that facilitate better TypeScript development, particularly typescript-eslint, which allows ESLint and Prettier to function with TypeScript code. A Microsoft MVP in developer technologies, Josh is the author of “Learning TypeScript” (O’Reilly), an essential resource for developers learning TypeScript. He also gives talks and workshops on TypeScript, static analysis, open source, and web development.

For the episode’s transcript, click here. Sponsorship inquiries: [email protected].

You might also like