Ruby 3 Released

This page summarizes the projects mentioned and recommended in the original post on /r/programming

Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Updating dependencies is time-consuming.
  • SonarQube - Static code analysis for 29 languages.
  • state_machines

    Adds support for creating state machines for attributes on any Ruby class

    Here's an example of how it can happen - look at the code examples in https://github.com/state-machines/state_machines - almost everything you are coding is in the DSL of that library if you are using it:

  • benchmarks

    Some benchmarks of different languages

    Compare another JIT’d VM such as PyPy and it falls well behind. Not to mention the more common languages taking over the microservices realm (Go, Crystal, Elixir, etc) or the ones taking over monoliths (nodeJS, primarily).

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • are-we-fast-yet

    Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays

    According to the Are-we-fast-yet benchmark suite MRI JIT Ruby 3.0 RC1 is about factor 11 slower than Node.js 12.6 and about factor 5 slower than LuaJIT 2.0, and only factor 1.4 faster than MRI Ruby 2.1.0. Here are the results: http://software.rochus-keller.ch/are-we-fast-yet_crystal_ruby_2_3_lua_node_i386_results_2020-12-23.pdf. Here is more information about the benchmark suite: https://stefan-marr.de/papers/dls-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet/ and https://github.com/smarr/are-we-fast-yet. It's not just some random micro benchmarks, but a well designed suite with representative algorithms and ideomatic language use optimized for cross-language comparisons.

  • machine-learning-with-ruby

    Curated list: Resources for machine learning in Ruby

    It actually does. https://github.com/arbox/machine-learning-with-ruby

  • circe

    Yet another JSON library for Scala

    I doubt it will be called ergonomic. Scala also has Json objects (e.g. circe), but then you will need to define your whole hierarchy of classes based on some abstract BaseObject(since you can't change existing Object) and cram all methods into it (e.g. https://github.com/circe/circe/blob/c7e6ef1f21d28635b03df36c93decf010221684b/modules/core/shared/src/main/scala/io/circe/Json.scala#L75), some overridden methods in subclasses will raise an exception (or return None: https://github.com/circe/circe/blob/c7e6ef1f21d28635b03df36c93decf010221684b/modules/core/shared/src/main/scala/io/circe/Json.scala#L290). Yeah, possible, but that's exactly what Ruby is trying to avoid.

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts