What are the downsides of Ruby ?

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

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • crystal

    The Crystal Programming Language

  • The only reason Python has better scientific/math performance is because of Num.py and how they pushed the majority of their code down into C functions, which made the code less accessible/readable. If you need raw native performance, but still want to keep Ruby syntax, we now have Crystal as an option.

  • ruby_crystal_codemod

    A codemod / transpiler that can help you convert Ruby into Crystal

  • In that situation, if there was a performance critical component we wanted to optimize by rewriting in Crystal, we would first extract it into its own app or worker (aka breakup the monolith, aka micro-services). Additional apps could have requests routed to them via a reverse proxy or they could be internal HTTP-endpoints. Then we would port that code to Crystal, replacing gem dependencies with Crystal shards equivalents (which there are many, and more are being added everyday), and then running the Ruby code through rubycodemod_crystal which changes minor things (ex: include? -> includes? or require 'foo' -> require "foo"). Assuming this component has RSpec tests, I would convert them to Spectator which is a Crystal clone of RSpec. Then I would tighten up the Crystal code by adding explicit Types to all instance variables and method signatures, so the compiler doesn't have to infer the types. This is basically the same process I have done when porting some of my own Ruby libraries to Crystal.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • spectator

    Feature-rich testing framework for Crystal inspired by RSpec. (by icy-arctic-fox)

  • In that situation, if there was a performance critical component we wanted to optimize by rewriting in Crystal, we would first extract it into its own app or worker (aka breakup the monolith, aka micro-services). Additional apps could have requests routed to them via a reverse proxy or they could be internal HTTP-endpoints. Then we would port that code to Crystal, replacing gem dependencies with Crystal shards equivalents (which there are many, and more are being added everyday), and then running the Ruby code through rubycodemod_crystal which changes minor things (ex: include? -> includes? or require 'foo' -> require "foo"). Assuming this component has RSpec tests, I would convert them to Spectator which is a Crystal clone of RSpec. Then I would tighten up the Crystal code by adding explicit Types to all instance variables and method signatures, so the compiler doesn't have to infer the types. This is basically the same process I have done when porting some of my own Ruby libraries to Crystal.

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

  • A Language for Humans and Computers

    1 project | news.ycombinator.com | 31 Mar 2024
  • Choosing Go at American Express

    1 project | news.ycombinator.com | 3 Jan 2024
  • What languages are useful for contribution to the GNOME project.

    1 project | /r/gnome | 11 Dec 2023
  • Crystal 1.10.0 Released

    1 project | news.ycombinator.com | 9 Oct 2023
  • Show HN: Crystaldoc.info – Crystal Shards API Documentation Hosting

    3 projects | news.ycombinator.com | 24 Sep 2023