Why not Ruby?

Xah Lee xahlee at gmail.com
Wed Dec 31 12:55:23 EST 2008


Just spent 3 hours looking into Ruby today. Here's my short impression
for those interested.

* Why Not Ruby?
  http://xahlee.org/UnixResource_dir/writ/why_not_Ruby.html

plain text version follows:
--------------------------------------

Why Not Ruby?

Xah Lee, 2008-12-31

Spent about 3 hours looking into Ruby language today.

The articles i read in detail are:

    * Wikipedia: Ruby (programming language)¨J. Gives general overview.

    * Brief tutorial: "Ruby in Twenty Minutes"
http://www.ruby-lang.org/en/documentation/quickstart/

    * Personal blog by Stevey Yegge, published in 2004-10.
http://steve.yegge.googlepages.com/ruby-tour

The Wikipedia gives the best intro and overview in proper context. The
"Ruby in Twenty Minutes" is just 4 pages. It give you a very concrete
intro to Ruby's syntax and semantics. Stevey Yegge's blog doesn't
teach much and rambles, but provide a little personal view. I read it
because his opinions i respect.

Q: Will you learn Ruby?

No. For practical application, the lang is some 100 times less useful
than each of Perl, Python, PHP, Javascript. For academic study,
functional langs like Mathematica, Haskell, OCaml, erlang, Qz, are far
more interesting and powerful in almost all aspects. Further, there's
also Perl6, NewLisp, Clojure, Scala... With respect to elegance or
power, these modern lang of the past 5 years matches or exceed Ruby.

Q: Do you think Ruby lang is elegant?

Yes. In my opinion, better than Perl, Python, PHP. As a high level
lang, it's far better than Java, C, C++ type of shit. However, i don't
think it is any better than emacs lisp, Scheme lisp, javascript,
Mathematica. Note that Ruby doesn't have a spec, and nor a formal
spec. Javascript has. Ruby's syntax isn't that regular, nor is it
based on a system. Mathemtica's is. Ruby's power is probably less than
Scheme, and probably same as Javascript.

I also didn't like the fact that ruby uses keyword "end" to indicate
code block much as Pascal and Visual Basic, Logo, do. I don't like
that.

Q: Won't Ruby be a interesting learning experience?

No. As far as semantics goes, Ruby is basically identical to Perl,
Python, PHP. I am a expert in Perl and PHP, and have working knowledge
of Python. I already regretted having spent significant amount of time
(roughly over a year) on Python. In retrospect, i didn't consider the
time invested in Python worthwhile. (as it turns out, i don't like
Python and Guido cult, as the lang is going the ways of OOP mumbo-
jumbo with its Python 3 "brand new" future.) There is absolutely
nothing new in Ruby, as compared to Perl, Python, PHP, or Emacs lisp,
Scheme lisp.

Q: Do you recommend new programers to learn Ruby then?

Not particularly. As i mentioned, if you are interested in practical
utility, there's already Perl, PHP, Python, Javascript, which are all
heavily used in the computing industry. If you are interested as a
academic exercise, there's Scheme lisp, and much of functional langs
such as OCaml, Haskell, Mathematica, which will teach you a whole lot
more about computer science, features of language semantics, etc.

Q: Do you condemn Ruby?

No. I think it's reasonably elegant, but today there are too many
languages, so Ruby don't particularly standout for me. Many of them,
are arguably quite more elegant and powerful than Ruby. See:
Proliferation of Computing Languages.




More information about the Python-list mailing list