Sorbet
Ruby type checker in Developer tools
Recommended for catching type and nil errors in large Ruby codebases, reducing the tests needed. Critics find its signatures verbose and its editor and gem support weak.
Recommended for catching type and nil errors in large Ruby codebases, reducing the tests needed. Critics find its signatures verbose and its editor and gem support weak.
31 people gave an opinion
- recommend it
- 17
- criticize it
- 14
- approval share
- 55%
Recommended in 6 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: not recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: not recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: not recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 17 people recommend itNeeds 10 or more, met.
- 1.2 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 6 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Catches type and nil errors
“they are more than worth their weight in the way I can rely on them to catch typing and nilability goofs”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released” “It is a big win in avoiding errors, typos, documentation, code completion, fewer tests are required”
Comment from 27 Dec 2025 in “T-Ruby is Ruby with syntax for types” “it does provide a good deal of additional saftey, less testing, LSP integration is good”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released” - Comment from 27 Dec 2025 in “T-Ruby is Ruby with syntax for types”
Fewer tests needed
“It is a big win in avoiding errors, typos, documentation, code completion, fewer tests are required”
Comment from 27 Dec 2025 in “T-Ruby is Ruby with syntax for types” “it's a huge boon IMO. The number of tests we don't need to write because of Sorbet is really nice.”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released” “it does provide a good deal of additional saftey, less testing, LSP integration is good”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released” Proven in large codebases
“I've seen large Ruby projects with hunders of developers working on it for >10 years with almost 100% sorbet coverage.”
Comment from 27 Nov 2025 in “Ruby Was Ready from the Start” “pretty battle tested tool to define inline types as ruby syntax and type check both statically and at runtime”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released” Typed structs and enums at boundaries
“Ruby (via Sorbet or DryStruct) are all really easy to write all those data structures and code.”
Comment from 8 Jul 2026 in “We charge $10k a week to delete AI-generated code” “T::Struct and T::Enums at API boundaries has been the sweet spot”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released”
What people warn about
Each mark is one comment
Verbose, ugly signatures
“frankly both options looks ugly, and so does many of the alternatives like Sorbet signatures”
Comment from 30 Nov 2025 in “Lowtype: Elegant Types in Ruby” “its signatures are wordy and because it can't infer the generic type of a private method”
Comment from 25 Dec 2025 in “Ruby 4.0.0 Released” “extra lines of sig code I now need to essentially ignore as I read”
Comment from 26 Dec 2025 in “Ruby 4.0.0 Released” - Comment from 9 Jul 2026 in “TypeScript 7”
Painful to use and add
“sorbet in the rbi camp is more powerful with static and dynamic analysis, but it's also painful”
Comment from 27 Dec 2025 in “T-Ruby is Ruby with syntax for types” “trying to add types via sorbet has been miserable and useless”
Comment from 16 Mar 2026 in “Type systems are leaky abstractions: the case of Map.take!/2” Poor editor support
“Sorbet doesn't even work in VSCode, some bugs are over 5 years old.”
Comment from 21 Dec 2025 in “Ruby website redesigned” “I don't think it ever solved "jump to definition" though.”
Comment from 14 Jan 2026 in “Show HN: Nogic, Turn codebase into a graph to understand how it fits together” “I was on VSCode/ruby-lsp and disabled sorbet”
Comment from 8 Jul 2026 in “TypeScript 7” Bolted on rather than built in
“it's fundamentally an approach you would take if you had to build a type system around the language rather than in the language”
Comment from 1 Dec 2025 in “Response to "Ruby Is Not a Serious Programming Language"” “They're both bolt-ons and it shows, badly.”
Comment from 26 Dec 2025 in “Ruby 4.0.0 Released”
What people said
35 of the 37 comments that mention it, newest first. Each links to the original comment.
“Sorbet seems like a nice compromise here though!”
“Sorbet annotations are unfortunately quite ugly”
“I was on VSCode/ruby-lsp and disabled sorbet”
“Sorbet is one of the best things since sliced bread to happen to the ecosystem”
“Ruby (via Sorbet or DryStruct) are all really easy to write all those data structures and code.”
“No sane rubyist uses that typing crap, sorry.”
“or it's sorbet and it's weird”
“I really enjoy using Sorbet with Ruby”
“trying to add types via sorbet has been miserable and useless”
“it works very well in practice and supports most of the needs I have from a type system”
“it also removes all the fun parts of ruby / rails”
“RBS and Sorbet are not even close to good enough.”
“I don't think it ever solved "jump to definition" though.”
“the compiler tells us there is an error”
“Sorbet, possibly using RBS-Inline, is probably the best solution.”
“Sorbet is Ruby and while it has a DSL that is no different than any other gem”
“sorbet in the rbi camp is more powerful with static and dynamic analysis, but it's also painful”
“It is a big win in avoiding errors, typos, documentation, code completion, fewer tests are required”
“They're both bolt-ons and it shows, badly.”
“extra lines of sig code I now need to essentially ignore as I read”
“You can really trust the types when using Sorbet.”
“its signatures are wordy and because it can't infer the generic type of a private method”
“it's a huge boon IMO. The number of tests we don't need to write because of Sorbet is really nice.”
“it is nothing but an impediment to progress”
“In our codebase that uses Sorbet I find this is really only true at function boundaries”
“they are more than worth their weight in the way I can rely on them to catch typing and nilability goofs”
“T::Struct and T::Enums at API boundaries has been the sweet spot”
“Really rough around the edges, lots of stubs have to be added because support for gems is lackluster”
“it does provide a good deal of additional saftey, less testing, LSP integration is good”
“pretty battle tested tool to define inline types as ruby syntax and type check both statically and at runtime”
“Sorbet doesn't even work in VSCode, some bugs are over 5 years old.”
“I agree with your analysis that RBS and Sorbet suck.”
“it's fundamentally an approach you would take if you had to build a type system around the language rather than in the language”
“frankly both options looks ugly, and so does many of the alternatives like Sorbet signatures”
“I've seen large Ruby projects with hunders of developers working on it for >10 years with almost 100% sorbet coverage.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.