Saturday, June 30, 2012

Ruby

Description                                                                                                   


        Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming. He has often said that he is “trying to make Ruby natural, not simple,” in a way that mirrors life. Building on this, he adds:


"Ruby is simple in appearance, but is very complex inside, just like our human body."




History                                                                                 
Ruby was released for the very first time on 24th Feb, 1993 by Yukihiro Matsumoto.Yukihiro actually wanted to create a fresh programming language that could provide a balance between functional programming and imperative programming. As stated by Yukihiro, he wanted to have a scripting language that is more powerful and useful as compared to Perl and provide more object oriented features as compared to Python. Because of the above two reasons, he developed Ruby.
After then, the first publication of Ruby was released with the name of Ruby 0.9 on December 21, 1995. Ruby 1.0 was then released on December 25, 1996 and the process of improving Ruby went on and on. Recently, in June 2008, the latest versionof Ruby was released; Ruby 1.8.7. According to Yukihiro, the next stable version of Ruby would be the 1.9.1 which will introduce Block local variables, character encodings and much more.

Yukihiro Matsumoto, Creator of Ruby PL

The Philosophy of Ruby

Yukihiro Matsumoto, the creator of the Ruby programming language, talks with Bill Venners about Ruby's design philosophy, including design imperfection, the danger of orthogonality, and the importance of the human in computer endeavors. Yukihiro Matsumoto, or "Matz," as he is known online, is the creator of the Ruby programming language. Ruby is an object-oriented language suitable for writing day to day scripts as well as full-scale applications. Matz began work on Ruby back in 1993, because he wanted a language that made him productive while being fun to use. Initially popular in Japan, Ruby has been finding its way into the hearts of programmers all over the world.
There is no perfect language. Matz said in an interview with Bill Venners, " Language designers want to design the perfect language. They want to be able to say, "My language is perfect. It can do everything." But it's just plain impossible to design a perfect language, because there are two ways to look at a language. One way is by looking at what can be done with that language. The other is by looking at how we feel using that language—how we feel while programming.
Because of the Turing completeness theory, everything one Turing-complete language can do can theoretically be done by another Turing-complete language, but at a different cost. You can do everything in assembler, but no one wants to program in assembler anymore. From the viewpoint of what you can do, therefore, languages do differ—but the differences are limited. For example, Python and Ruby provide almost the same power to the programmer.
Instead of emphasizing the what, I want to emphasize the how part: how we feel while programming. That's Ruby's main difference from other language designs. I emphasize the feeling, in particular, how I feel using Ruby. I didn't work hard to make Ruby perfect for everyone, because you feel differently from me. No language can be perfect for everyone. I tried to make Ruby perfect for me, but maybe it's not perfect for you. The perfect language for Guido van Rossum is probably Python."

About Ruby’s Growth

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.
Graph courtesy of Gmane.
Ruby-Talk, the primarymailing list for discussion of the Ruby language, climbed to an average of 200 messages per day in 2006. It has dropped in recent years asthe size of the community pushed discussion from one central list into many smaller groups.
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-Talk, the primarymailing list for discussion of the Ruby language, climbed to an average of 200 messages per day in 2006. It has dropped in recent years as the size of the community pushed discussion from one central list into many smaller groups.

Sample 'hello world' program in Ruby
helloworld.rb




test.rb






What programmers said about Ruby

James Gosling, "The Father of Java"
Ruby is easy to learn, but difficult to master. And like fire it is a very useful friend, and a very dangerous enemy.
-- Mikkel, 11/8/2001; ruby-talk
Ruby is not a Swiss-army chainsaw. More like a Star Trek(tm) replicator.
-- Andy Hunt (from http://www.rubyconf.org/)
If Python was the result of Lisp and C++ having a baby, Ruby is the result of Perl and Smalltalk having a baby.
 --MeowMeow Jones, 11/8/2001 on slashdot.

After all... Ruby is the universal language...
--Hal E. Fulton
Programming Ruby def initialize; fun; end A language with class.
--Jim Freeze
Deducting that you won't like Ruby syntax based on not liking Perl syntax is sort of like
saying that you won't like steak because you hate liver. You'll change your mind, unless you are a vegetarian.
-- Kent Dahl, ruby-talk, 12/8/2002
Actually, I'm trying to make Ruby natural, not simple.
--Matz
God is a Ruby programmer, after all.
-- Andy Hunt 
For an instant I thought Ruby was reading my mind... 
if Matz can do that, it IS a powerful language!
-- Hal Fulton
Ruby is smarter than perl. Don't change it.
--Guy Decoux (ruby-talk:22598, 16/10/2001 on oct/hex/to_i)
I'm some guy who likes Ruby because it's like Smalltalk only alive,  
and who would like it to be more like Smalltalk. 
--Ron Jeffries on the FreeRide wiki 
Ruby *is* different from other languages, indeed.
--Matz 
Ruby is slow in theory and fast in praxis.
--Mikkel
I've never noticed that he "insulted" Ruby. Only I know is that he had shown "no interest" for Ruby. I don't consider it "insult". Whatever the virtues of Ruby, 
you're an excellent leader for the community, Matz. Leadership is probably an important part of what  distinguishes the three or four languages that became  
popular from the dozens that were invented, went nowhere and died. 
--Paul Prescod (ruby-talk, 28/10/2001)
I believe a language like Ruby makes people think like wealthy people,  so that worrying performance too much along with  confision caused by aliases are not ideal. 
In that sense, I shouldn't have introduce any bang method!
--Matz
If strings do it, it may be rational for arrays to do it too. But I wonder why it is rational for strings? Because Arrays do it. :) I love Ruby! --Matt Armstrong (ruby-talk, 9/11/2001) Thanks. I like this solution more then the eval solution. I suspect that anything is possible in Ruby. Anything short of the halting problem, anyway. --Paul Brannan (ruby-talk, 1/11/2001) Ruby is simple in appearance, but is very complex inside, just like our human body. --Matz. Ruby is so very good at integrating behaviour from existing code base that it more looks like a DNA swapping bacteria than an OO language. --Mikkel (ruby-talk, 24/7/2001)

                                                                                                             BLOGGERS' SAY ABOUT RUBY 

It's quite popular, web-dev wise because it 'empowers' the programmer. But its 'many way to do a thing philosopy' can lead to maintainability issues
--Rodolfo Duldulao Jr.
Technical Training Analyst, Chikka
I am not that good at programming. I can't usually pick up new programming languages ideals and their syntax easily but what I have experienced the first time I encountered Ruby is really unusual for me. I had understand and grasp the idea and syntax of how to use this programming language that easily. to This programming language is a bit easier to read and likewise, easier to write because of its "natural" syntax. Two thumbs up for ruby.
--Gladys Mavilyn A. Ching
For me, Ruby is an awesome programming language with an easy-to-learn syntax. I think it'll be fun learning this language because it is similar to the Python programming language which I happen to love. --Suzzette A. De Torres Ruby is very easy to learn with its simple syntax. It is unlike other programming languages that gives you a lot of headaches just for you to understand the code or syntax. Any noob to this programming language can easily read the code and understand the syntax. Hooray for Ruby for its awesomeness! ♥ --Yjane Jonabel E. Ymas Ruby is more easy-to-learn language as what i have compared it to others. At one glimpse, you can figure out what is happening on the program. Very straightforward approach, improves readability. Really a programmer's best friend. Lots of love for ruby. :-) --Rhealyn Princess A. Bergado References - Image source - http://www.ruby-lang.org/en/about/ -http://www.xmluk.org/ruby-history-information.htm -http://www.approximity.com/public/quotes.html -http://www.youtube.com/watch?v=uq25JnHrF14&feature=relat
-http://www.artima.com/intv/ruby.html
By Group RUBY of CMSC 124 T-6L: 2010 - 45448 Bael, Claudine 2008 - 40962 Bergado, Rhealyn Princess 2010 - 42076 Ching, Gladys Mavilyn A. 2010 - 49621 De Torres, Suzzette A. 2010 - 33754 Ymas, Yjane Jonabel