1 pointby rageonruby6 hours ago1 comment
  • rageonruby6 hours ago
    Hey HN, I'm the author of Rage. I built it because, while I love Ruby, the ecosystem is losing ground. Since 2018, usage among professionals dropped from 10% to 6.9% while Go and Python saw massive growth. Pretending this isn't happening doesn't help the community.

    The problem isn't the Ruby language; it's that our primary tools haven't evolved to address the modern requirements of request-cycle latency and synchronous I/O.

    The Architecture:

    - Concurrency via Fibers: Rage uses a custom Fiber scheduler. You get non-blocking I/O using standard, synchronous-looking Ruby, while the framework handles context switching automatically.

    - A Lean Core by Design: We treat low overhead as a design constraint, not just a benchmark goal. When a framework fights for every millisecond, it prevents us from solving problems by piling on layers of bloat.

    - The No-Upgrade Philosophy: One of the biggest drains on Ruby teams is tooling churn. We focus strictly on stable APIs. Our goal is that "Upgrade Rage" is a task that never appears in your Jira; most updates should be a simple "bundle update".

    What's included:

    - Zero-dependency WebSockets - Fiber-based Background Jobs - Auto-generated OpenAPI Docs - Domain Events - Rails Compatibility (controllers, Active Record, routes work as you expect)

    Happy to answer any questions about the implementation, benchmarks, or why you can't just use Elixir.