Ruby

About Ruby
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. Ruby is a single-pass interpreted language. Its official implementation is free software written in C.

History
Ruby was created by Yukihiro “matz” Matsumoto who blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.

Since its public release in 1995, Ruby has drawn devoted coders worldwide. In 2006, Ruby achieved mass acceptance. With active user groups formed in the world’s major cities and Ruby-related conferences filled to capacity.

The TIOBE index, which measures the growth of programming languages, ranks Ruby as #9 among programming languages worldwide. Much of the growth is attributed to the popularity of software written in Ruby, particularly the Ruby on Rails web framework

Example
The examples can be run in a Ruby shell such as Interactive Ruby Shell or saved in a file and run from the command line by typing ruby .

Hello world example:

Ruby, an intentional language
{| cellpadding="0" cellspacing="0" align="center"
 * - valign="top"
 * class="bgright" width="50%" style="border: 2px outset #aaa; border-right: none; -moz-border-radius: 1em 0 0 1em; padding: .5em 1em; text-align: left;" |

Avant Propos
Ruby ... gemstone for the month of July ... which follows June, whose gemstone is pearl. Ruby and Perl ... get it?  NB: "Rails" is not "Ruby"! (and vice-versa)
 * "Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern."

RubyOnRails.com


 * class="bgleft" width="50%" style="border: 2px outset #aaa; border-left: 1px solid #aaa; -moz-border-radius: 0 1em 1em 0; padding: .5em 1em; text-align: left;" |

It's about techne!

 * "Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves."

--Yukihiro "Matz" Matsumoto, ruby's creator.
 * }

=Foundations= Two interviews with Matz: at ITConversations and at LinuxDevCenter discussion at /..


 * Bruce Stewart: Did you have a guiding philosophy when designing Ruby?
 * Matz: Yes, it's called the "principle of least surprise." I believe people want to express themselves when they program. They don't want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby.

On this wiki

 * Built-in classes
 * Standard library

Fine (slightly exhaustive)

 * Learning Ruby
 * The Pragmattic Programmer (from RubyCentral.com)
 * Basic Tutorial
 * RubyOnRails Docs

Discussion

 * RubyOnRails at GoogleGroups
 * Ruby-Forum.com: Ruby and Rails
 * RubyOnRails.org Blog and Community
 * At /.: Is RoR Maintainable?}, [http://developers.slashdot.org/article.pl?sid=07/02/19/1721229 Implementation Shootout,

Other Good Stuff
DigitalMediaMinute's "Top RoR Tutorials" list; RubyCorner.net; Tons of stuff at Wiki.RubyOnRails.com; Ruby as an "Acceptable Lisp" (a note from Matz on this); Ruby on Rails Development Company

Of Interest

 * RubyInstaller, "a one-click, self-contained Windows installer that contains the Ruby language itself, dozens of popular extensions and packages, a syntax-highlighting editor and execution environment, and a Windows help file that contains the full text of the book, Programming Ruby: The Pragmatic Programmer's Guide." (Curt Hibbs)
 * EXTJS on Rails; For anyone who's familiar with Jack Slocum's revolutionary ExtJS javascript library and wants to use it with Rails (instead of the traditional Prototype / Scriptaculous duo), this is a combination vendor/plugin and javascript library. (Chris Scott)
 * FiveRuns (They created tools for 'LAMP') now offers pieces that deal with the Ruby on Rails life cycle.
 * "RoR chases simplicity in programming" - C|Net

This just for a start. --BenTrem 05:42, 24 May 2007 (UTC)