1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-16 11:45:04 +02:00

Merge pull request #669 from rafalchmiel/patch-1

[ruby-ecosystem/en] 'ruby' -> 'Ruby' + fix typo
This commit is contained in:
Levi Bostian
2014-07-07 16:01:19 -05:00

View File

@@ -7,18 +7,18 @@ contributors:
--- ---
People using ruby generally have a way to install different ruby versions, People using Ruby generally have a way to install different Ruby versions,
manage their packages (or gems), and manage their gem dependencies. manage their packages (or gems), and manage their gem dependencies.
## Ruby Managers ## Ruby Managers
Some platforms have ruby pre-installed or available as a package. Most rubyists Some platforms have Ruby pre-installed or available as a package. Most rubyists
do not use these, or if they do, they only use them to bootstrap another ruby do not use these, or if they do, they only use them to bootstrap another Ruby
installer or implementation. Instead rubyists tend to install a ruby manager to installer or implementation. Instead rubyists tend to install a Ruby manager to
install and switch between many versions of ruby and their projects' ruby install and switch between many versions of Ruby and their projects' Ruby
environments. environments.
The following are the popular ruby/environment managers: The following are the popular Ruby environment managers:
* [RVM](https://rvm.io/) - Installs and switches between rubies. RVM also has * [RVM](https://rvm.io/) - Installs and switches between rubies. RVM also has
the concept of gemsets to isolate projects' environments completely. the concept of gemsets to isolate projects' environments completely.
@@ -33,11 +33,11 @@ The following are the popular ruby/environment managers:
Ruby was created by Yukihiro "Matz" Matsumoto, who remains somewhat of a Ruby was created by Yukihiro "Matz" Matsumoto, who remains somewhat of a
[BDFL](https://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), although [BDFL](https://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), although
that is changing recently. As a result, the reference implementation of ruby is that is changing recently. As a result, the reference implementation of Ruby is
called MRI (Matz' Reference Implementation), and when you hear a ruby version, called MRI (Matz' Reference Implementation), and when you hear a Ruby version,
it is referring to the release version of MRI. it is referring to the release version of MRI.
The three major version of ruby in use are: The three major version of Ruby in use are:
* 2.0.0 - Released in February 2013. Most major libraries and frameworks support * 2.0.0 - Released in February 2013. Most major libraries and frameworks support
2.0.0. 2.0.0.
@@ -53,36 +53,36 @@ the community has moved to at least 1.9.2 or 1.9.3.
## Ruby Implementations ## Ruby Implementations
The ruby ecosystem enjoys many different implementations of ruby, each with The Ruby ecosystem enjoys many different implementations of Ruby, each with
unique strengths and states of compatability. To be clear, the different unique strengths and states of compatability. To be clear, the different
implementations are written in different languages, but *they are all ruby*. implementations are written in different languages, but *they are all Ruby*.
Each implementation has special hooks and extra features, but they all run Each implementation has special hooks and extra features, but they all run
normal ruby files well. For instance, JRuby is written in Java, but you do normal Ruby files well. For instance, JRuby is written in Java, but you do
not need to know Java to use it. not need to know Java to use it.
Very mature/compatible: Very mature/compatible:
* [MRI](https://github.com/ruby/ruby) - Written in C, this is the reference implementation of ruby. By * [MRI](https://github.com/ruby/ruby) - Written in C, this is the reference implementation of Ruby. By
definition it is 100% compatible (with itself). All other rubies definition it is 100% compatible (with itself). All other rubies
maintain compatibility with MRI (see [RubySpec](#rubyspec) below). maintain compatibility with MRI (see [RubySpec](#rubyspec) below).
* [JRuby](http://jruby.org/) - Written in Java and ruby, this robust implementation is quite fast. * [JRuby](http://jruby.org/) - Written in Java and Ruby, this robust implementation is quite fast.
Most importantly, JRuby's strength is JVM/Java interop, leveraging existing Most importantly, JRuby's strength is JVM/Java interop, leveraging existing
JVM tools, projects, and languages. JVM tools, projects, and languages.
* [Rubinius](http://rubini.us/) - Written primarily in ruby itself with a C++ bytecode VM. Also * [Rubinius](http://rubini.us/) - Written primarily in Ruby itself with a C++ bytecode VM. Also
mature and fast. Because it is implemented in ruby itself, it exposes many VM mature and fast. Because it is implemented in Ruby itself, it exposes many VM
features into rubyland. features into rubyland.
Medium mature/compatible: Medium mature/compatible:
* [Maglev](http://maglev.github.io/) - Built on top of Gemstone, a Smalltalk VM. Smalltalk has some * [Maglev](http://maglev.github.io/) - Built on top of Gemstone, a Smalltalk VM. Smalltalk has some
impressive tooling, and this project tries to bring that into ruby impressive tooling, and this project tries to bring that into Ruby
development. development.
* [RubyMotion](http://www.rubymotion.com/) - Brings ruby to iOS development. * [RubyMotion](http://www.rubymotion.com/) - Brings Ruby to iOS development.
Less mature/compatible: Less mature/compatible:
* [Topaz](http://topazruby.com/) - Written in RPython (using the PyPy toolchain), Topaz is fairly young * [Topaz](http://topazruby.com/) - Written in RPython (using the PyPy toolchain), Topaz is fairly young
and not yet compatible. It shows promise to be a high-performance ruby and not yet compatible. It shows promise to be a high-performance Ruby
implementation. implementation.
* [IronRuby](http://ironruby.net/) - Written in C# targeting the .NET platform, work on IronRuby seems * [IronRuby](http://ironruby.net/) - Written in C# targeting the .NET platform, work on IronRuby seems
to have stopped since Microsoft pulled their support. to have stopped since Microsoft pulled their support.
@@ -94,14 +94,14 @@ which MRI version to target.
## RubySpec ## RubySpec
Most ruby implementations rely heavily on [RubySpec](http://rubyspec.org/). Ruby Most Ruby implementations rely heavily on [RubySpec](http://rubyspec.org/). Ruby
has no official specification, so the community has written executable specs in has no official specification, so the community has written executable specs in
ruby to test their implementations' compatability with MRI. Ruby to test their implementations' compatibility with MRI.
## RubyGems ## RubyGems
[RubyGems](http://rubygems.org/) is a community-run package manager for ruby. [RubyGems](http://rubygems.org/) is a community-run package manager for Ruby.
RubyGems ships with ruby, so there is no need to download it separately. RubyGems ships with Ruby, so there is no need to download it separately.
Ruby packages are called "gems," and they can be hosted by the community at Ruby packages are called "gems," and they can be hosted by the community at
RubyGems.org. Each gem contains its source code and some metadata, including RubyGems.org. Each gem contains its source code and some metadata, including
@@ -122,8 +122,8 @@ dependency graph to resolve.
# Testing # Testing
Testing is a large part of ruby culture. Ruby comes with its own Unit-style Testing is a large part of Ruby culture. Ruby comes with its own Unit-style
testing framework called minitest (Or TestUnit for ruby version 1.8.x). There testing framework called minitest (Or TestUnit for Ruby version 1.8.x). There
are many testing libraries with different goals. are many testing libraries with different goals.
* [TestUnit](http://ruby-doc.org/stdlib-1.8.7/libdoc/test/unit/rdoc/Test/Unit.html) - Ruby 1.8's built-in "Unit-style" testing framework * [TestUnit](http://ruby-doc.org/stdlib-1.8.7/libdoc/test/unit/rdoc/Test/Unit.html) - Ruby 1.8's built-in "Unit-style" testing framework
@@ -133,6 +133,6 @@ are many testing libraries with different goals.
## Be Nice ## Be Nice
The ruby community takes pride in being an open, diverse, welcoming community. The Ruby community takes pride in being an open, diverse, welcoming community.
Matz himself is extremely friendly, and the generosity of rubyists on the whole Matz himself is extremely friendly, and the generosity of rubyists on the whole
is amazing. is amazing.