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. (Def from : http://www.ruby-lang.org/en/ ).
Yukihiro Matsumoto ( a Japanese computer scientist and software programmer, author ), the creator of Ruby in 1995. The standard 1.8.7 implementation is written in C, as a single-pass interpreted language. There is currently no specification of the Ruby language, so the original implementation is considered to be the de facto reference.
( Yukihiro Matsumoto image and about him - http://en.wikipedia.org/wiki/Yukihiro_Matsumoto )
Paradigm - multi-paradigm
Latest release - 1.9.1-p243/ 2009-07-18;
Typing discipline - dynamic ("duck")
Major implementations - Ruby MRI, JRuby
OS - Cross-platform
License - Ruby LicenseGNU General Public License
Website - http://www.ruby-lang.org/
The first public release of Ruby 0.95 was announced on Japanese domestic news group on December 21, 1995.
Ruby 1.0 - December 25, 1996
Ruby 1.9.1 - anuary 30, 2009, ( support Per-string character encodings )
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.
Ruby is also totally free. Not only free of charge, but also free to use, copy, modify, and distribute.
In Ruby, everything is an object. Every bit of information and code can be given their own properties and actions. Object-oriented programming calls properties by the name instance variables and actions are known as methods. Ruby’s pure object-oriented approach is most commonly demonstrated by a bit of code which applies an action to a number.
times { print "We *love* Ruby -- it's outrageous!" }
it allows its users to freely alter its parts. Essential parts of Ruby can be removed or redefined, at will. Existing parts can be added upon. Ruby tries not to restrict the coder.
For example, addition is performed with the plus (+) operator. But, if you’d rather use the readable word plus, you could add such a method to Ruby’s builtin Numeric class.
class Numeric
def plus(x)
self.+(x)
end
end
y = 5.plus 6# y is now equal to 11
Ruby’s operators are syntactic sugar for methods. You can redefine them as well.
Ruby has a wealth of other features, among which are the following:
- Ruby has exception handling features, like Java or Python, to make it easy to handle errors.
- Ruby features a true mark-and-sweep garbage collector for all Ruby objects. No need to maintain reference counts in extension libraries. As Matz says, “This is better for your health.”
- Writing C extensions in Ruby is easier than in Perl or Python, with a very elegant API for calling Ruby from C. This includes calls for embedding Ruby in software, for use as a scripting language. A SWIG interface is also available.
- Writing C extensions in Ruby is easier than in Perl or Python, with a very elegant API for calling Ruby from C. This includes calls for embedding Ruby in software, for use as a scripting language. A SWIG interface is also available.
- Ruby features OS independent threading. Thus, for all platforms on which Ruby runs, you also have multithreading, regardless of if the OS supports it or not, even on MS-DOS!
- Ruby is highly portable: it is developed mostly on GNU/Linux, but works on many types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.