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.
-- http://mail.python.org/mailman/listinfo/python-list