Its (not) sad... James Gosling is (not) clueless
Posted by Curt Hibbs Fri, 24 Mar 2006 06:24:00 GMT
Back in the mid 90s, in the very early days of Java, I was a member of the San Francisco Java Users Group. This was when it was easy to get someone like James Gosling to come talk to us… and he did.
One of the things I liked most about James was that he was the antithesis of the corporate toadies who only spouted the company’s marketing hype. This meant you could get real information and thoughtful commentary from James.
So, it makes me sad when I see him saying this:
“PHP and Ruby are perfectly fine systems,” he continued, “but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.”
UPDATE: It turns out that’s not precisely what he said… close, but enough of a difference for me to retract what I’ve said. Jump to the end for more…
I’m not qualified to comment on PHP, but when it comes to Ruby everything thing he said is false, except possibly that Ruby is a scripting language! There is such a large body of counter-evidence now, that I’m not even going to waste my time rebutting.
Even worse, as Chad Fowler pointed out, he seems to be completely clueless:
What’s notable here isn’t that he’s wrong and we need to defend Ruby from his ignorance. What’s notable is that the guy who’s supposed to be carrying Java forward is completely clueless about the real competition.
Oh, well…
UPDATE: Bill Venners just posted a transcript, which was not available before. Reading the actual transcript shows a much more reasonable point of view than was implied by the slightly inaccurate “soundbite”.
Here are his other comments:
“Ruby gets it’s power through specialization; it just generates web pages” Most of the buzz around Ruby seems to be around RoR and Web. What about non-Web? I know there are GUI Toolkit bindings, but where are they at in terms of tool support/documentation/maturity, etc.
“Ruby doesn’t attempt any serious breadth in the application domain” See above.
“Ruby has really serious scaling and performance problems” I’d be interested in seeing what the rebuttal is in this case. It’s probably safer to assume that something as new as RoR is not scalable and/or high performance than to expect that it is. Is Ruby based on a JIT-compiler technology?
“Ruby is a perfectly fine system.” I assume you don’t quarrel with this one.
Gosling is throwing down the gauntlet but is clearly partisan. Still I think these are reasonable questions and/or observations about Ruby. Here where I work there is Magic Bullet TM fatigue and RoR seems like the latest example. I would like to see some good hard counter-evidence. If it really scales and is high performance and really can be used for GUI thick-client apps, then lets see some evidence.
Curt, I’d be careful in your assumptions. You are linking to a JDJ article that includes selective quotes without any context. Have you seen the complete transcript of his original comments? Were these quotes taken out of context?
Its a good point Eric. I did try to find a complete transcript, but I was not successful.
Dan, this scalability stuff is a non-issue, it has been settled. There is hard data available. This subject has been repeatedly rehashed over the last year and, I’m sorry, I just don’t feel going through it again.
Please do some searches. There are also some use cases in the book Agile Web Development with Rails.
No he is right on the money… I hate to troll but it is a pleasure stepping on your empty words of zealousness…
How many embedded devices is Ruby on. What kind of systems is ruby used for. Numeric processing and computation, graphics manipulation, audio tools?
Tell us one thing aside from a hokey webframework that ruby has done… Absolutly no gawd damn thing…
What is really sad is that most Apple fans are so narrow sighted that they can’t see past their own fanatacism how they adopted Ruby is just as stupid as how the iPod was considered “innovated” stupid cattle driven hype whores…
I am as big a Ruby skeptic as anyone but regarding one of the comments above, that kind of personal attack and name calling is not appropriate. I think it’s great for people to be excited about a technology. In fact I think that Ruby has a lot of things going for it. I have actually installed it and started working through the examples in PickAxe 2.0. I just don’t share the same level of enthusiasm…yet. But this name-calling attack on Curt is lame.
Well, I guess you know you’ve “made it” when people think you are important enough to be worth calling a name! :-)
I agree with Dan’s response. I think that James’s statements are reasonable.
Ruby is an interesting and growing platform, but despite its many years in existance, it was practically unheard of prior to the introduction of Rails. Because of this, the environment as a whole is very immature. There is a lack of good tools, lack of third-party support, lack of expertise, lack of open source libraries, etc, etc…
I for one would like to see an alternative to Rails spring up. I believe that competition can be a powerful driver of these technologies and frameworks. And, this is NOT a knock on Rails. Its a very good framework, but many larger organizations will have a hard time moving to a language for which there exists really only one viable framework choice at this point.
PHP is extremely powerfull.
I prefer Ruby over PHP but PHP too does more than just generate web pages. You can use PHP as a “normal” skripting language in System Administration as you can use Perl/Python/Ruby. there are also very good PHP bindings for Gtk+. so you can even build GUIs with PHP.
so both PHP and Ruby are much more than just tools for generating web pages. many compare PHP or Rails to JSP but this is wrong.
Those who continue to disparage PHP most likely have not used PHP5. PHP5 brings many new features that truly make PHP an object oriented language. Even powerful reflection is built into PHP5. Most PHP critics are surprised by PHP5, because they’ve written the language off without trying it.
Ofcourse Ruby and PHP can do more than generate web pages, I think that James’ statement meant thats where those languages are primarily used today.
Curt, I looked up Ruby performance versus Java. Here are the results I found. Maybe they are biased one way or the other, but you might be interested in the results.
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=java&lang2=ruby
Sorry if this doesn’t “fit the template”, but I figure it’s best if everyone is armed with facts.
There is no doubt that Ruby is slower than Java. I’m pretty sure its slower than Perl or Python, too. But benchmarks can be as misleading as they are enlightening.
While individual features of Ruby are slower than Java in these benchmarks, in the larger, real-life applications this is not always the case. Language features may allow architectures that let you get more done with less code leading less dramatic performance differences.
For example, there was Justin Gehtland’s famous Java project that was rewritten in Rails, and the Rails version was actually faster than the Java version. You can read about it here: http://www.relevancellc.com/blogs/?p=29
Yep, and Justin has famously didn’t disclose the source of neither of the apps.
That’s not surprising since it proprietary code for a client.
According to the Language Shootout (URL above), Ruby was slower than PERL and Python as well. But the difference between Java/C/C++ and the scripting languages was dramatic.
The scripting language performance problems would limit the breadth of their application to tasks that are not compute-bound. I think that supports what Gosling is saying.
That’s not to say that scripting languages can be dismissed completely, because many apps are not compute bound.
Curt wrote I’m pretty sure its slower than Perl or Python, too.
Don’t despair, compare to Groovy :-)
http://shootout.alioth.debian.org/gp4sandbox/
It could be that the Ruby programs on The Computer Language Shootout aren’t very good – contribute better programs.
Curt wrote benchmarks can be as misleading as…
The strength and weakness of benchmarks is that they are specific – which makes a refreshing contrast to carefully hedged generalities (“not always the case”, “may allow”) :-)
It’s true that Ruby is slower than C/C++ at raw computation (although that problem is being worked on as I type).
However, Gosling has it wrong, badly wrong. And so does the insulting poster above—some embedded device actually use BASIC, some have actually used Python, it’s not totally unheard of to have interpreted languages on embedded devices, FYI.
Further, there is a catalog of a very small subset of the places Ruby is used here:
http://www.rubygarden.org/ruby?RealWorldRuby
Curt wrote it makes me sad when I see him saying…
Well it makes me sad when I see people rushing to judgement on the basis of gossip.
Artima now has a good-enough transcription of Mr Gosling’s comments, and the Q&A begins at 33:25 on the flash video.
I based my original comments on the what was shown as direct quotes in the JDJ article—not gossip.
Now that the actual video and transcripts have been made available, it is easy to see that the original quote was not accurate.
I have updated my posting to say just that.
testing to see if you’re using ajax
“I based my original comments on the what was shown as direct quotes in the JDJ article—not gossip.”
In future will you trust what’s shown as direct quotation in JDJ?
(Think tabloid entertainment. Think selling eyeballs to advertisers.)
Not without independent corroboration.
At least you’ve revised your comments – that’s more than we can say about some others.
Thank you.