A Bigger Soapbox
By Ryan Tomayko under Then you win. on 17. March 2006SYS-CON Media publisher/editor Jeremy Geelan, a fine chap who interviewed The Father of Java just the other day, contacted me about re-publishing Gosling Didn’t Get The Memo on sys-con.com. This is the same site that published Gosling’s original remarks.
It took me about five seconds to agree, within an hour we were sharing the front page with the original Gosling quote, and we’ve just now broken into the top three most heavily read articles on the site for the day. The republished post is here and is pretty much an exact copy (comments and all).
So yea, I’m stoked.
I should also mention that there was likely some back-channel prodding that helped lead to this. Adaptive Path’s Jesse James Garrett was panelist at the SYS-CON hosted Real-World AJAX event earlier this week in New York (see: Geelan interviews Jesse). From what I can gather, Jesse played no small part in getting the article picked up.
Huge thanks to both Jesse and Jeremy from lesscode.org.
Daniel:
Thanks A LOT Ryan.
I liked your style, objective, based on facts and didatic. I am (as many others, I’d guess) very glad that you’ll be offering such a solid, well developed, rant ^H^H^H^H review of “The State of the Scripting Universe and Cluelessness as a Lame Weapon Against It” to so many more people :)
comment at 18. March 2006
Java guy:
Couple of thoughts,
First, I don’t get the indignation about the term “scripting language”. Ruby’s own “What’s Ruby” section on ruby-lang.org states that Ruby is a scripting language. Case closed.
Second, you guys need to raise the bar. Latching onto a comment that was probably quoted out of context by a publication that has no credibility (sys-con) is only making the communities you take part of a laughing matter.
Third, on “They Just Generate Web Pages”, can someone please enumerate some applications written in a dynamic language that are the main drivers of a business (yes, generating money) and they don’t generate web pages.
comment at 18. March 2006
Aristotle Pagaltzis:
Java guy:
Of nearly 40 Perl success stories listed at O’Reilly, I can count those that have anything even faintly to do with web pages on the fingers of one hand. Perl is also huge in bioinformatics, which isn’t “business,” but involves humongous amounts of data. And it’s the glue that integrates many large (business and not) systems, even where it isn’t the business-driving language itself. Those are things I can think of off the top of my head.
Perl disappearing would leave at least as large a hole in the world as Java disappearing.
I’m sure advocates of the other languages will have their own examples to give. Please don’t pretend that it is difficult to find examples of dynamic languages driving large-scale systems. You only have to be willing to look for them.
comment at 18. March 2006
Ryan Tomayko:
I don’t have a problem with the term (actually I do but not in this post), I have a problem with implying that because something is called a “scripting language” that it’s also necessarily inferior to something that isn’t called a “scripting language” for any given task.
The quote is acurate according to Gosling. He’s going to respond and clarify, which is great.
The goal was simply to correct bad information (that’s been corrected on multiple occasions in the past). Whether it was Gosling, the publication, something else. It was the same crap flowing from the same places. And if I was worried about what’s commonly considered “laughing matter” in IT I wouldn’t have gotten into dynamic languages in the first place.
btw, being lectured in the virtues of credibility by someone using an anonymous fan-boy handle is a bit weird. Perhaps next time you might leave a name so that your insights can be attributed to your own credibility.
http://pythonology.org/success
http://activegrid.com/
http://www.rubygarden.org/ruby?RealWorldRuby
http://www.cincom.com/pdf/CS040819-1.pdf
http://smalltalk.cincom.com/smalltalksuccess/index.ssp
But you’ve adjusted the argument. The statement was that “they just generate web pages”. A huge majority of web applications written in dynamic languages do a lot more than just generate web pages. ERB just generates “web pages”. ASP/JSP just generates web pages. Ruby, Python, Perl, Smalltalk, etc. are general purpose programming languages. Any specialization for generating web pages occurs in libraries.
And lastly, the web as a distributed system is and will continue to be a big deal. “Generating web pages”, as in serving/consuming various hyper-media over HTTP, will become more and more important. So not only do I disagree with the statement that these languages just generate web pages, I also don’t agree with the underlying assumption that generating web pages is boring or valueless.
comment at 18. March 2006
Isaac Gouy:
Ryan, that’s a selective version of what Bill Venners says Mr Gosling replied.
You seem to have included the bit which corroborates what you say, and ommited the bit which corroborates what Java Guy says: “The quote is accurate, but incomplete and missing context.”
What fun! You just did the same thing that Java Guy is complaining sys-con did! :-)
comment at 18. March 2006
Ryan Tomayko:
Yep, apologies. I could have absolutely been more clear with Bill’s report. I did provide a link to the original text and didn’t intend to misrepresent him. To be absolutely clear, here’s the entire contents of Bill’s report from artima:
Again, my apologies. I wouldn’t have appreciated that either.
comment at 18. March 2006
Harry Fuecks:
Did anyone else pick up that remark the interviewer made with Jesse about moving to a “One Page Web”? What is that? Haven’t heard it used before and really hope it isn’t what it sounds like.
comment at 18. March 2006
Jim:
There’s no indignation about the term “scripting language”. There is indignation about the term “scripting language” in the phrase “just a scripting language”, where the status of scripting language implies that it is somehow lesser.
Python, Ruby, etc might be scripting languages, but it sounds distinctly like Gosling is attempting to classify them as being the same as VBScript, BAT, etc in the minds of PHBs.
Calling them scripting languages? Fair. Using it to malign them? Not fair.
comment at 18. March 2006
Isaac Gouy:
Ryan, a little gedankenexperiment: if it was Mr Gosling who had mistakenly ommited the bit which contradicted his statement, do you think that you would try to understand - or would it be “impossible to attribute to anything but malice”?
comment at 18. March 2006
Ryan Tomayko:
Isaac: I’m interested in hearing any clarification James makes to/around his original statement and will gladly adjust my position and expectations based on it. But this isn’t an isolated event and his statement from the article follows very closely with sentiment he’s expressed in the past.
I understand you feel the post was overwrought and I’d like nothing more than for that opinion to be shown correct although I find it extremely unlikely given the history.
comment at 18. March 2006
Ryan Tomayko:
Yes! It scared the crap out of me to be honest. I believe the idea is that instead of having multiple top-level resources, you would have a single resource that used heavy AJAX to make requests and update the display. The advantage being that the whole interaction model would become even more like “normal” desktop apps. Of course, you’ll not be bookmarking anything, search engines will likely not be able to spider your content, and the URL will need to be reinvented for each application in a way that removes the “U”.
A “One Web Page” AJAX app would be no different from ActiveX, Flash, or Applets and considerably less functional. The whole concept is a web antipattern, IMO.
What really got me down about the comment was that it illustrates that there’s still some kind of weird contempt for the web. It’s the assumption that the web was thrown together in a bad way and needs to be upgraded to be more like other technologies. The media companies want the web to be just like TV, radio, and print. Desktop application developers want the web to be just like the desktop. The WS-* folks want the web to be CORBA/DCOM. It’s just kind of funny to watch considering that none of the things people try to turn the web into are going anywhere. If you want desktop-like functionality, why not build a desktop app, right?
comment at 19. March 2006
Aristotle Pagaltzis:
Except then it doesn’t do the things the web can do. Everyone wants the web, only without the “web” part.
comment at 19. March 2006
Isaac Gouy:
afaict your position is that we should treat your comments more favourably than Mr Gosling’s commments.
comment at 19. March 2006
twifkak:
I got a different impression, Isaac.
comment at 20. March 2006
twifkak:
Aristotle:
Well, then write a desktop app with a WS or integration database as a backend.
I think what people want is the zero-deploy advantage of webapps (see Paul Graham’s winding rant on the subject). To that end, Mozilla gives us XUL and Microsoft gives us XAML (eventually). We’ll see how successful these things are…
comment at 20. March 2006
Harry Fuecks:
Think this is what the “One Page Web” means: http://www.pageflakes.com/ - the showcase site for Atlas.
comment at 21. March 2006
Isaac Gouy:
twifkak wrote I got a different impression, Isaac
OK let’s look at Ryan’s “Gosling Didn’t Get The Memo”.
Ryan: “This part is notable because it’s actually true.”
This part is notable because Mr Gosling didn’t speak those words.
Ryan: “James pulled this directly out of…”
Here’s what Mr Gosling actually said: Most languages coming up lately have been scripting languages - things like PHP and Ruby - and these are all perfectly fine systems.
No “but”. No insinuations.
Ryan’s response was 2 part, to paraphrase: first there are lots of Ruby projects that don’t just generate webpages (and then there’s Perl and Python and …); second, he suggests Mr Gosling didn’t simply mean “generate web pages”.
Mr Gosling mentioned PHP 7 times, Python 1, Ruby 1, Perl 0.
Of the 7 Ruby Scalability/Performance links provided by Ryan, 6 of 7 are explicitly about Ruby on Rails. Most of the other 8 links provided by Ryan are about generating web pages with PHP.
The lady doth protest too much.
Ryan: “a really good example except that it isn’t; most of us aren’t…”
Why would what most of us do have any relevance in judging the breadth of applications a language implementation could reasonably be used for?
Ryan: “the massive set of material addressing this topic…”
Mr Gosling clearly acknowledged that “if what you want to do is generate web pages they work pretty well” so from “the massive set of material” let’s find stuff that doesn’t have to do with generating web pages.
PragDave “Clearly there’ll be times where you need to squeeze the most out of your CPU, where your application itself is the bottleneck and it’s CPU bound. In these cases, Ruby might be a bad choice.”
Ryan: “stop spreading misinformation… just stop lying about them… impossible to attribute to anything but malice.”
In “the massive set of material” addressing Performance we find a 6 year old comparison of miniscule Python programs with Blackdown JDK 1.1.7 programs - why would anyone put forward such out-of-date material?
It’s so easy to find recent comparisons of Ruby 1.8.4 versus Java 1.5 or Python 2.4.2 versus Java 1.4 or PHP 5.0.5 versus Java 1.5
comment at 23. March 2006
twifkak:
Isaac, my response was to your comment that his “position is that we should treat [his] comments more favourably than Mr Gosling’s commments.”
If Ryan responds to your counter-counter-argument by deleting your comment, or resorting to ad hominem attacks on you, I could come to agree with that assessment. If, instead, he adjusts his position and expectations as he said he would, then I would fervently disagree with the assessment. If he does neither or both, well, then, I’ll just kill myself out of confusion.
comment at 24. March 2006
Isaac Gouy:
Confusion is the essence of human existence, spare your life!
comment at 24. March 2006