Curt Hibbs wrote:
Yesterday, a co-worker came into my office and saw the shiny, new
pickaxe II book on my desk and said "What is Ruby?"
Unfortunately, I really blew the opportunity as I attempted to come up with a brilliant one or two sentence description. The best I could
muster was something like, "Uhh... err... it's kind of like perl or
python but much better." How lame is that!
I think it makes little sense to address the question "What is Ruby?"
but rather to answer the truely intended one: "Is there any good reason
to switch to Ruby?". I am confident that your co-worker had the latter
question in mind but simply didn't find the right words.
Do not expect me to give a one-and-for-all objective answer. If you want
to actually convice someone of the advantages of something your private
and subjective answers are what matter. Why?
You surely know that these answers actually made somebody (you) use
Ruby. They also are the reason why you think that others should follow
the same path.
I cannot speak for you or for anybody else using Ruby but I can answer
the question why *I* use Ruby. It
- is easy and fun to learn and use
- strongly encourages structured, expressive and readable code
- makes object-orientation a natural approach of solving problems
- replaces fighting against shortcomings of the language by solving the
problem at hand
- is highly addictive: once you tried it you cannot imagine life without
The last point is important to me: In the old days I started with Basic.
Then came Turbo Pascal, a small COBOL intermezzo, some machine language,
C, C++, Perl, Kornshell, some Java and finally C#.
While none of the languages made me feel at home, C# at least made me
feel welcome. Then I met Ruby and immediately was sure that this was
love at first sight, that this was the one to share life with.
One language I didn't mention so far is Python. People had told me that
they loved Python and what they said about it sounded promising. So I
dated with Python. She was cute and very smart - it is not surprising to
me that she has so many admirers. Nevertheless it turned out that we are
much to different to become a couple.
Don't think that I have gone made because I talk about 'loving' a
programming language. If you have a choice you will share your time with
people you love or at least like, not with people about which others say
one should share one's time with. Why should one then want to share
one's time with a programming language one doesn't really like? Just
because people say that it is cool to do so?
Josef 'Jupp' Schugt