Alternatives to Ruby
A dynamic, open-source programming language focused on simplicity and programmer productivity. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
Ruby
A dynamic, open-source programming language focused on simplicity and programmer productivity.
Replacements
Listings that take over the same core job as Ruby.
Python
A general-purpose programming language used for scripting, web backends, data analysis and machine learning.
Python is a readable general-purpose language with a large standard library and default status in data and machine learning work, though packaging remains a source of confusion.
Perl
A mature general-purpose scripting language known for text processing, with the large CPAN module archive.
Perl is a mature scripting language with strong text processing and over 42,000 CPAN distributions, but its terse syntax is harder to read than Ruby's.
PHP
A general-purpose scripting language and interpreter especially suited to web development.
PHP is an open-source scripting language focused on server-side web development, with several supported release branches, while Linux and macOS binaries usually come from package managers.
Elixir
A dynamic, functional programming language that runs on the Erlang VM for scalable, maintainable applications.
Elixir is a functional language on the fault-tolerant Erlang VM suited to concurrent back ends, which takes adjustment for developers used to Ruby's object-oriented style.
Lua
A lightweight, embeddable scripting language with a small standalone interpreter.
Lua is a lightweight, embeddable scripting language that is quick to learn, but it has a much smaller standard library than Ruby.
Node.js
The JavaScript runtime that server-side JavaScript is built on, with the npm ecosystem behind it.
Node.js moves server-side scripting to JavaScript with the large npm ecosystem and long-term support releases, but is single-threaded by default.
Similar software
Related functionality, not a direct replacement.
rbenv
A lightweight command-line version manager for switching between Ruby versions on Unix-like systems.
RubyMine
A JetBrains IDE for Ruby and Ruby on Rails with navigation, debugging and integrated tools.
asdf
One version manager for many language runtimes.
mise
Keep project tools, environment variables and tasks in one configuration.
Redmine
Self-hosted open-source project management and issue tracking web application built on Ruby on Rails.