Ruby already solved my problem

Ruby’s Appeal and “Hidden Gems”

  • Many commenters express deep affection for Ruby, describing it as the language that made them love programming and praising its elegance, succinctness, and “just fits my brain” feel.
  • Ruby’s standard library and Rails ecosystem are seen as full of underused, powerful utilities (like Gem::Version), with some sharing stories of only later discovering built-in solutions they almost reimplemented.
  • Several people contrast Ruby’s pleasant writing experience with frustration reading large Rails codebases, describing them as dense, magical, and hard to navigate due to metaprogramming and implicit behavior.

Ergonomics vs. Readability, Types, and Tooling

  • Supporters highlight Ruby’s concise comparison operators, blocks, multiple assignment, and metaprogramming as big productivity wins; some liken its power to Lisp, with different tradeoffs.
  • Critics point to “footguns” comparable to Perl: dynamic typing, runtime method generation, and convention-heavy frameworks making it hard to trace calls or reason about types.
  • RBS type signatures are mentioned as helpful in some shops, but others note that major projects don’t use them and dislike separate type files.
  • There is repeated contrast with Python, Elixir, Scala, Java, etc., with many showing equivalent version classes to argue those languages can be nearly as succinct.

Performance, Scale, and Tradeoffs

  • One side maintains that Ruby is “slow” and that performance-conscious standard library code becomes unreadably optimized.
  • Others counter that this is an outdated trope: Ruby has a JIT, serious optimization work, and powers large companies; for many apps, database or frontend complexity dominates latency.
  • A recurring startup argument: prioritize developer productivity now and optimize later; opponents say this mindset discourages “nice things” and overstates Ruby’s unique productivity edge.

Ruby vs. Rails and Ecosystem Issues

  • Several distinguish Ruby-the-language from Rails-the-framework, arguing that many complaints (magic, maintenance pain) are really about Rails.
  • Documentation and governance for parts of the Ruby ecosystem (e.g., rubygems.org, some projects like Opal/WASM) are criticized as weak.
  • Technical nitpicks clarify that Gem::Version lives in rubygems, which is shipped with Ruby but optional, and there’s detailed discussion of how Ruby’s standard library is split into default libraries, default gems, and bundled gems.

Comparisons to Other Languages and Standard Libraries

  • Some argue Python’s standard library is richer and better documented (e.g., difflib), while others praise Ruby’s stdlib “gemification” model as something Python could learn from.
  • There’s light debate over parentheses-less style, operator overloading, and whether Ruby’s syntax is truly more readable than modern Python/Elixir/Scala equivalents.