Sorbet
No written verdict yet. Here is what commenters said.
6recommend
1warn against
Nov 17, 2025first mention
May 4, 2026latest mention
Why people recommend it
“I really enjoy using Sorbet with Ruby”
“Having the productivity of Ruby + the static typing and LSP integrations is a wonderful combination.”
Show 3 more
“DSPy.Rb uses static Sorbet types”
“my hope is that using Sorbet this will happen much less”
“T::Struct and T::Enums at API boundaries has been the sweet spot”
Caveats and dissent
No one in these comments warned against it.
Often compared with
From the makers not counted in the ranking
“We contributed early to Sorbet and began implementing it in the main monolith prior to it being publicly announced.”
worked several years at Shopifyon “RubyLLM: A single, beautiful Ruby framework for all …”
Threads where it came up
- Ruby 4.0.0 Released 8 mentions
- Returning to Rails in 2026 3 mentions
- T-Ruby is Ruby with syntax for types 2 mentions
- Lowtype: Elegant Types in Ruby 2 mentions
- Compiling Ruby to machine language 2 mentions
- RubyLLM: A single, beautiful Ruby framework for all major AI providers 1 mention
Data: sorbet.json. Quotes are verbatim; the verdict and theme labels are written by a model from these comments, and every clause links to its sources.
All comments 20
“Stripe has its own Ruby typechecker”
“I really enjoy using Sorbet with Ruby”
“Having the productivity of Ruby + the static typing and LSP integrations is a wonderful combination.”
“I wonder how good Sorbet is these days”
“would be interesting to try that”
“DSPy.Rb uses static Sorbet types”
“I see sorbet supports this as an experimental feature”
“Sorbet is a bit different from TypeScript because it has runtime type checking, not just static.”
“lots of other big Ruby shops are on Sorbet”
“Stripe is using typed Ruby: they are authors of https://github.com/sorbet/sorbet”
“my hope is that using Sorbet this will happen much less”
“T::Struct and T::Enums at API boundaries has been the sweet spot”
“I’ve been leaning hard into Sorbet runtime types for DSPy.rb[0] and finding real value.”
“these aren't widely used as far as I am aware”
“There's a pretty battle tested tool to define inline types as ruby syntax”
I built portrayal[1] (a much simpler replacement for those dry libs), and was also experimenting[2] with runtime-enforced types based on this lib. My general thoughts is that declaring types in Ruby is unnecessarily complicated, because you're basically just running values through pieces of boolean logic, and nothing else. Might as well make that explicit, which is what my experiment did. I didn't however publish the
“Sorbet doesn't have that problem right now.”
From where I stand, Ruby has much more interesting work going on JIT land than Python. Much of the Python stuff, is actually about rewriting Python tools into Rust due to its interpreter slowness and no one caring about PyPy, now apparently there is even a PEP to rewrite CPython! https://discuss.python.org/t/pre-pep-rust-for-cpython/104906
“Sorbet would be in a good position because part of the challenge”
“And Stripe coders who have used the Sorbet compiler?”