[Note to Pythoners, I like Python (I prefer Ruby), but I do sometimes still use Python. This post is not directed against Python, just one mans article.] I don't know when Eckel made this comparison, so if the subject matter is a little dated I'm sorry, but I'm new to Ruby (coming from 2 years Python use as a matter of fact), so I only just saw this. Bruce Eckel's article: http://www.mindview.net/Etc/notes.html#Ruby (from herein, paragraphs beginning with "##" are taken directly from the above link) ## Note that the author says "If you like Perl, you will like Ruby." I liked Perl for about 3 months, before discovering Perl objects and references and trying to read my own Perl code. I haven't looked back. Redesigning those perl objects and references are one of the key reasons Ruby exists, so I'm at a loss as to his point. ## Again I ask "why"? If you're not going to double your productivity over using Python, what is your motivation for using this language? Since when did "doubling your productivity", become the golden standard? I would think that any language which could increase your productivity by even 10% if you're a professional programmer would be worth very serious consideration as to the benefits gained versus the time required to learn it. Also, he seems to assume that everybody is coming from Python, so this fanciful distortion crumbles even further when you consider people with no intellectual investment in either who have a need for a programming language of this type. ## "Writing Ruby extensions in C are a joy compared to Python" [ I believe it. I usually find that languages have some kind of improvements here and there, but not enough to say that you will, for example, double your productivity over using Python ] Again he sets the bar: "double your productivity". I'm glad to see he at least believes one truth: Ruby extensions really are a joy by comparison. ## ...and was snagged by the fact that Ruby is new, and perhaps thinks that it's going to be the next great thing like Java. My god, I certainly hope not. Clarifying a bit, I hope it gets the success, but you can keep the rest. ;-) [note to would-be flamers, Java has its uses, I even utilize them occasionally] ## Ruby requires more typing for no particular reason, and has an uninspired choice of syntax in many cases (there were some minor interesting features like static class methods, but this is a tiny amount of syntactic sugar and won't solve any problems Python doesn't). "More typing for no particular reason"?? I'd like to see him back that one up. And not with some carefully contrived, well-engineered snippet (which he did not- or could not- even provide). Since when is a fundamental difference in the OO system (static class methods) a "tiny amount of syntactic sugar", btw? He feels python is more terse? I'm surprised he would say this given the fact that he has already demonstrated that he thinks Ruby's OO is analagous to Perl's. If he believes this, then why not make the next wild assumption (which would actually be true, Ruby does share many syntactic similarities) of the language, then it seems even more surprising, given the fact that most other authors seemed to think that Python gives up a small amount of terseness to Perl (from lack of magic cases/context dependancies) for a much cleaner, less idiosyncratic implementation. ## So far I keep coming to the conclusion that Ruby is just a bad ripoff of Python, just like C# is a bad ripoff of C++ and to some degree Java (I'm willing to be convinced otherwise about C#, but so far the only compelling reason seems to be "blessed by M$." There's certainly nothing compelling about the syntax or power of C# compared to C++). I could care less about C#, but since his article's put me in a belligerent mood. How is C# more like C++ than Java?? Garbage collection, references... Microsoft is putting out tools to automate the process of converting VJ++ code to C#, can he say the same is true for C++? I remember reading an article in Dr. Dobbs Dev. Journal. I forget the author, and the issue, but the conclusion he reached was that C# was just Java with a little sugar sprinkled on top and just enough renaming done to prevent another lawsuit from Sun. ## ...a nice number of good books and more on the way ditto I've already preordered my copy of Matz's book from bn.com, and might I add that I thoroughly enjoyed Dave Thomas' book. What is it they say, "quality over quantity"? ## The author also notes that, as a Python programmer, Ruby hasn't won him over (yet). This is when Eckel refers to http://dev.rubycentral.com/faq/rubyfaq-2.html A very fair and balanced comparison, unlike Eckel's. What a shame he only seems to have read the second to last sentence of that entire article. ## so I like to think I know what I'm looking for People, please, read the link at the top of the page. I would like your opinions on just what this thing is he's looking for. ;-) On a side note: http://www.python.org/doc/Comparisons.html#ruby As of this date, Eckels', "evaluation" is the only comparison to Ruby on Pythons homepage. Why don't more step up to the plate? I also saw that Matz had to remove the language comparisons link from www.ruby-lang.org. Hit a nerve? ;-).