-
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:
-
Scout Monitoring
Performance metrics and, now, Logs Management Monitoring with Scout Monitoring. Get early access to Scout Monitoring's NEW Ruby logging feature [beta] by signing up now. Start for free and enable logs to get better insights into your Rails apps.
-
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).
-
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.
-
It actually does. https://github.com/arbox/machine-learning-with-ruby
-
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.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives