
12/7/2020
What this post added
This post details Shopify's adoption and experience with Sorbet for static typing in Ruby. It covers challenges encountered, such as typing modules with `ActiveSupport::Concern` and modules with implicit inclusion requirements. It explains how Sorbet handles array types and complex nested structures. A comparison is drawn between Sorbet for Ruby and TypeScript for JavaScript, highlighting differences in dynamism, maturity, and runtime checking. The post also discusses the relationship between Sorbet, RBS, and Tapioca, and provides guidance on starting with Sorbet in a Rails project, including which files to check in and how to gradually adopt typing.