No written verdict yet. Here is what commenters said.

6recommend
1warn against
Nov 17, 2025first mention
May 4, 2026latest mention
Nov 25 – Oct 26
Used forruby type checkingstatic typing for rubytyping for rubytype checking for rubytyped ruby api modelsruntime types in ruby

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
LioDec 27, 2025recommends

“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.”

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”

LioDec 27, 2025recommends

“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?”

Threads where it came up

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.

Keyboard shortcuts
j / kNext / previous item
o or EnterOpen selected item
/Search
g hHome
g tTop
g rRising
g cCategories
tToggle dark mode
?This help