rbs
sorbet
rbs | sorbet | |
---|---|---|
22 | 57 | |
1,984 | 3,648 | |
0.6% | 0.2% | |
9.8 | 9.9 | |
5 days ago | 8 days ago | |
Ruby | Ruby | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rbs
-
Implementing a simple object system from scratch in Ruby
You are correct technically, but the implication that you must sacrifice speed or static typing is practically incorrect: faster on startup than .NET [0]. You can get benefits similar to static typing in for a while now [1].
[0] tested locally on a Linux environment
[1] https://github.com/ruby/rbs#readme
-
Rewrite It in Rails
https://github.com/ruby/rbs
is the "officially supported" one. It's terrible, as is Sorbet. No offense to anyone involved with either of the projects, they just miss the mark in pretty fundamental ways.
-
A decent VS Code and Ruby on Rails setup
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
- What it was like working for Gitlab
-
InfoQ Interview: Rich Kilmer on the Power of Ruby
Are you familiar with rbs (https://github.com/ruby/rbs)? If so, what issues do you see with using that over TypeScript?
- Building GitHub with Ruby on Rails
-
Ruby 3.2’s YJIT is Production-Ready
Ruby does have optional type annotations, if you want them:
https://github.com/ruby/rbs
- Crystal for Rubyists
-
Is anyone using RBS?
Is anyone using RBS? Or, is it still half-baked? I haven't seen any recent posts about it this year. Though, I see the repo has some recent activity.
-
RBS introduced manifest.yaml
Currently rbs collection resolves stdlib dependencies, but rbs -r LIB option doesn't resolve them unfortunately. For instance, logger depends on monitor, but rbs -r logger doesn't load monitor.
sorbet
-
A Neuromorphic Hardware-Compatible Transformer-Based Spiking Language Model
Context: Sorbet is also the name of a popular Ruby type checker[1], built by Stripe.
[1]: https://sorbet.org
-
Ruby’s hidden gems: Sorbet
Sorbet, implemented in C++, is a Ruby gem designed to harmonize the dynamism of Ruby with the reliability and predictability of static typing. As Ruby projects scale in size and complexity, maintaining code quality and preventing errors becomes increasingly challenging. A primary culprit is the absence of static typing, which often necessitates heavy reliance on extensive testing and runtime checks to ensure code correctness, resulting in more frequent bugs slipping into production.
-
Let's Read – Eloquent Ruby – Ch 8
...which goes beyond static typing into declaring explicitly what something needs to support to be used by the method. Granted this is more complicated than it sounds and has a number of drawbacks, as you can see in this discussion.
-
The Design Principles of the Elixir Type System
Not part of the official language spec, but Ruby has Sorbet, from a company who employs Ruby core contributors and helped with the recently released JIT additions to the language, amount countless other contributions over the last couple decades.
https://sorbet.org/
- Почему я программирую на Ruby
-
Bringing more sweetness to ruby with sorbet types 🍦
First let's introduce the tool: Sorbet is a gem developed by Stripe that aims to bring type notation syntax and type checking support for the Ruby ecosystem by utilizing the "Gradual typing" philosophy, it also provide type generation from YARD comments via the tapioca gem, allowing to grow alongside the already built Ruby codebase.
-
An Introduction to Metaprogramming in Ruby
We have hundreds of thousands of lines of ruby code spanning many services / monoliths. Even now I find it somewhat annoying to open a controller / component that is basically an empty class def but somehow executes a bunch of complex stuff via mixins, monkey patches etc, and you have to figure out how.
We are turning to https://sorbet.org/ to reign in the madness. I'm keen to know if others are doing the same, and how they are finding it (pros and cons)
- A few words on Ruby's type annotations state
-
Is Ruby on Rails still in demand?I see very few companies using it.Is it used in big tech companies like Google,Amazon,Facebook,Microsoft?
According to https://sorbet.org/ , the vast majority of code at Stripe is written in ruby.
-
¿Que lenguaje de programación consideran que no está saturado?
Caso de Stripe, que tuvo que inventar Sorbet para tener type checking en ruby.
What are some alternatives?
dry-validation - Validation library with type-safe schemas and rules
solargraph - A Ruby language server.
RubyGems - The Ruby community's gem hosting service.
rubocop - A Ruby static code analyzer and formatter, based on the community Ruby style guide.
typeprof - An experimental type-level Ruby interpreter for testing and understanding Ruby code
vscode-solargraph - A Visual Studio Code extension for Solargraph.
rubygems - Library packaging and distribution for Ruby.
tapioca - The swiss army knife of RBI generation
steep - Static type checker for Ruby
content - The content behind MDN Web Docs
gem_rbs_collection - A collection of RBS for gems.
noclip.website - A digital museum of video game levels