Ruby is a multi-platform open-source, dynamic object-oriented interpreted language. The [ruby] tag is for questions related to the Ruby language, including its syntax and its libraries. Ruby on Rails questions should be tagged with [ruby-on-rails].
The ruby tag is for questions related to the Ruby language, including its syntax and its libraries. Questions specifically about the Ruby on Rails framework should be tagged with ruby-on-rails in addition to ruby. Do not use this to tag ruby used in the Japanese language.
Ruby is an open-source dynamic object-oriented interpreted language that combines concepts from Perl, Smalltalk, and Lisp. It supports multiple programming paradigms including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management; it is, therefore, similar in varying respects to Smalltalk, Python, Perl, Lisp, Dylan, and CLU. Ruby's primary purpose is to "help every programmer in the world to be productive, and to enjoy programming, and to be happy." Ruby focuses on simplicity and productivity.
Ruby was initially conceived on February 24, 1993, by Yukihiro Matsumoto ('Matz') and version 1.0 was released in 1996. Ruby's mindshare spiked around 2005 due to Ruby on Rails, an MVC (Model, View, Controller) framework for building web applications and usage continues to grow as of 2016 with Ruby continuing to find acceptance in the commercial marketplace. The current stable version is 3.2.0 (2022-12-25).
Documentation, Announcements, Issue Tracker
- Ruby Programming Language
- Official Issue tracker
- Ruby Doc, Ruby Core API Documentation
- Ruby Doc, Ruby Standard Library API Documentation
- Security announcements for Ruby, Rails, RubyGems, Bundler, and more
Unofficial Reference
Implementations, Installers
- Ruby version managers. chruby, rbenv, rvm, pik (Windows)
- Ruby, the official implementation also known as Matz' Ruby Implementation (MRI), YARV-Ruby. Official Site, GitHub
- JRuby, an implementation of Ruby on top of Java with access to the JVM
- Rubinius, an implementation of Ruby supporting native OS threads and a core library written almost entirely in Ruby
- Ruby Enterprise Edition (not maintained anymore), a branch of MRI Ruby made for efficiency
- MacRuby, an implementation of Ruby on Apples Objective-C and Cocoa frameworks
- MagLev an implementation on top of VMWare's GemStone virtual machine
- IronRuby is an implementation of Ruby on top of Microsoft's .NET CLR/DLR platform
- Cardinal is an implementation of Ruby for the Parrot Virtual Machine
- Topaz is an implementation of Ruby written in Python, on top of RPython
- RubyMotion is an implementation of Ruby to develop native iOS and OS X applications
Gems (Library)
- Ruby Gems - The Standard Library
- Ruby Toolbox - Ruby Gems categorization, ranking, and statistics
- Awesome Ruby - A categorized collection of awesome Ruby libraries, tools, frameworks, and software. The essential Ruby to build modern Apps and Web Apps
- Bundler - Manage your application's gem dependencies
- DevKit - A windows toolkit that makes it easy to build and use native C/C++ extensions
Tools
- repl.it - Online REPL
- RSpec - A testing tool for Ruby
- Minitest - A testing tool for Ruby
- Rubular - A Ruby regular expression tool
- Pry - REPL and debugger for Ruby
- Rubocop - A Ruby linter and code formatter
Online Courses
- Ruby for Beginners
- Ruby Tutorial
- Codeacademy - Learn the fundamentals of Ruby and dynamic programming
- RubyMonk - Free, interactive tutorials
- Learn Ruby The Hard Way - Free
- Why's (Poignant) Guide to Ruby - Free
- Pluralsight - Video Lessons, Coding Challenges, and Screencasts
- Ruby Tapas - Video Lessons and Screencasts - A wide variety of intermediate to advanced Ruby concepts and techniques, as well as core object-oriented design principles
- The Pragmatic Studio - Project Driven Online Courses
- Web Application Architectures - Learn how to build and deploy modern web application architectures – applications that run over the Internet, in the "cloud," using a browser as the user interface. We're going to learn about web apps through the Ruby on Rails framework. Rails is a framework for creating web applications that are built on top of the Ruby programming language.
- Flatiron School's Intro to Ruby - Free, introductory course with instructors available for help
- The Odin Project - Free online curriculum for beginners.
Books
- The Ruby Programming Language by David Flanagan, Yukihiro Matsumoto
- Practical Object-Oriented Design in Ruby
- Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide
- Metaprogramming Ruby 2
- The Well-Grounded Rubyist
- The Ruby Way
- The Ruby Way, Third Edition
- Bastards book of Ruby
- MacRuby: The Definitive Guide
Related Tags
ruby-1.8 ruby-1.8.7 ruby-1.9 ruby-1.9.1 ruby-1.9.2 ruby-1.9.3 ruby-2.0 ruby-2.1 ruby-2.1.3 ruby-2.1.4 ruby-2.1.5 ruby-2.2 ruby-2.3 ruby-2.3.1 ruby-2.4 ruby-2.5 ruby-2.6 ruby-2.7 ruby-3.0 ruby-on-rails