The Artima Developer Community
Sponsored Link

Java Community News
Java and Other Languages: What Gosling Really Said

43 replies on 3 pages. Most recent reply: Apr 3, 2006 2:16 AM by Vineet Billorey

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 43 replies on 3 pages [ « | 1 2 3 | » ]
Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 23, 2006 3:37 PM
Reply to this message Reply
Advertisement
James Gosling writes about the "Scripting flamewar"
http://blogs.sun.com/roller/page/jag/20060323

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 23, 2006 4:52 PM
Reply to this message Reply
Matthew Trumbell wrote The following page would suggest that Python's performance is indeed worse than the 3-5 times slower you quote... Not that this is an authoritative source... I'd imagine it would give you a good guideline
The someone-tell-gosling criticism included a 6 year old "performance" comparison of miniscule Python programs with Blackdown JDK 1.1.7 programs!
Compared to that kind of thing The Computer Language Shootout is an unimpeachable source :-)

John Roth wrote From the transcript, I think he was quoted quite accurately, and the criticism was right on. ... What he did was pick one example of the group of "scripting languages", and make it seem that they were all like that by implication.
Specifically which criticism?
All like what by implication?
Did you notice the scaling and performance links in someone-tell-gosling? How many are not about generating web pages with PHP or Ruby on Rails?

Merriodoc Brandybuck

Posts: 225
Nickname: brandybuck
Registered: Mar, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 23, 2006 5:37 PM
Reply to this message Reply
I have to have respect for anybody that has a South Park characiture of himself on his site :-)

Tom Brazier

Posts: 3
Nickname: wibble
Registered: Feb, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 23, 2006 6:17 PM
Reply to this message Reply
> Anyway, even 3-5 times slower is absolutely unacceptable
> in certain contexts. Many real-time systems couldn't
> tolerate a hit that significant (for example in finance,
> where speed can often translate into profit).

While I agree that there are still places that a 3-5 times difference in speed are an issue (3D games for one), finance by and large, isn't (or shouldn't be) one. Given the drop-off in the increase in CPU speeds of late, and the continued growth of economic markets, I'd be concerned about a financial system that could not scale linearly by a factor of 3-5. (Yes, I know there are many such, and they do concern me.)

I'd be more interested to know the difference in how Java scales vs other languages. For example, if you said that Python took time n^2 to do something Java could do in time n, that would certainly make me sit up and take notice.

Anyone have any idea what sort of order difference there is between languages?

Dick Ford

Posts: 149
Nickname: roybatty
Registered: Sep, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 2:13 AM
Reply to this message Reply
It's about what he said before. And I think it's pretty clear that he's feeling the heat, not from these other languages, but from within the java community itself.

The fact is that Java used to be a "scripting" language and dynamic languages like Lisp and Smalltalk have had high performance implementations for a while now.

The irony about the serving up web pages statement is that Java never really made it out onto the desktop at large and the vast majority of the presentation of Java apps is done through a browser.

The comment about C# was stupid too. Of course Java 5 finally got enums and where are all the other official languages that Sun supports that run on the JVM?

Gosling needs to get back to the lab and think about what's beyond Java.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 2:36 AM
Reply to this message Reply
Dick Ford wrote
> The fact is that Java used to be a "scripting" language
> and dynamic languages like Lisp and Smalltalk have had
> high performance implementations for a while now.

I don't recall scripting other applications with Java - is that something you did?

Have you compared the performance of "high performance" Lisp and Smalltalk implementations with Java? Do you have measurements to share?

> The irony about the serving up web pages statement is that
> Java never really made it out onto the desktop at large
> and the vast majority of the presentation of Java apps is
> done through a browser.

If all we want to do is generate web pages, I heard somewhere that PHP will work pretty well :-)

Dick Ford

Posts: 149
Nickname: roybatty
Registered: Sep, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 4:05 AM
Reply to this message Reply
Why Isaac, you have so many questions.

Why am I not surprised?

How many questions can you generate per day and on how many blogs?

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 6:38 AM
Reply to this message Reply
> I think that Goslings comments are really quite moderate
> and don't boil down to "Java is better."

Quite politically correct interpretation, but we should look between those lines for once. Gosling's baby is Java, he is defending it, he is going to say Java is better after all.

> This attitude seems to pervade the minds of die hard
> ruby/php supporters. I can think of no statement as
> blatantly simplistic and wrong as the following:
>
> "when Java JVMs got better, no one needs to invoke C++"
>
> No one. Not one single person? Look, my bread and butter
> is Java/C# coding and I much prefer coding in those
> languages than C++. But even I have found places where
> C++ is the right solution. This all or nothing attitude
> towards software development is really very silly and is
> to the detriment of the developers who espouses it.

"No one" was a figure of speech, meaning "the majority", easily understandable for those not in the nitpick business(!).

My bread and butter is Java/C++ too, but I never ever had to write even a single line of code of C++ for the Java programs I have worked on. In our company we have even done real-time applications with Java (Radar console with real-time video image!) without writing anything in C/C++.

The point of my post is that as a language matures and gets better, the need to interface with lower-level languages decreases. Right now Java is in the state that it does not really need interfacing with C++ for performance reasons, because Java's computation model is just as fast as C++'s.

The same goes with Ruby: when it matures, its computational speed will be the same as Java's and C++'s.

The real reason for using Ruby now is not performance of the code, but performance of the developers.

> Whoever coined the phrase "the right tool for the right
> job" deserves a medal (or something...). More people
> should wrap their minds around that advice.

Generally the idea "the right tool for the right job" is a good one, not quite applicable in programming though; programming is much more complicated than any other business. The time it takes to bridge two languages together could easily be spent in implementing customer's requirements, provided that the language provides the needed tools. In other words, it is better to use "one tool for everything" in programming, if this tool can do everything: it saves time, it raises productivity, it reduces cost and frustration. And in programming languages, IT IS possible for a programming language to do everything, provided it is structured properly.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 9:59 AM
Reply to this message Reply
Dick Ford wrote:
> Why Isaac, you have so many questions.
And you provide so few answers.

> Why am I not surprised?
Temperament?

> How many questions can you generate per day and on how
> many blogs?
I could ask many more questions than I do - but that wouldn't leave time to understand the replies.

Matthew Trumbell

Posts: 7
Nickname: taft
Registered: Mar, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 11:41 AM
Reply to this message Reply
> While I agree that there are still places that a 3-5 times
> difference in speed are an issue (3D games for one),
> finance by and large, isn't (or shouldn't be) one. Given
> the drop-off in the increase in CPU speeds of late, and
> the continued growth of economic markets, I'd be concerned
> about a financial system that could not scale linearly by
> a factor of 3-5. (Yes, I know there are many such, and
> they do concern me.)

Hmmm. I really don't agree with this (in all scenarios). Let's take a specific example: quoting options prices to trade on an electronic exchange.

The work approximately breaks down to these steps: get market information needed to make a quote, use that information to call an option model to get a base price, adjust that base price by other factors to get your quote, send the quote to the market. Now in the case where we are quoting only a single option minimizing latency is still a very large concern. If all of those steps don't happen faster on our system than on a competitor's system, we stand to (potentially) lose money.

Sure, with caching you can eliminate the need to perform all of those steps for every quote you send to the market. But even then, you still have to send a quote to the market and that must be a wicked fast operation. And even with advanced caching techniques, you will never be able to predict in advance every possible scenario, which means you will have cache misses which will require all of those steps be performed before going to the market with a good quote.

So, at least in this scenario, latency can be every bit as important as the ability to scale. Who cares if we can quote on 1 or 5000 contracts if any quote we put in the market is slower than our competitors?

Matthew Trumbell

Posts: 7
Nickname: taft
Registered: Mar, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 24, 2006 11:52 AM
Reply to this message Reply
> "No one" was a figure of speech, meaning "the majority",
> easily understandable for those not in the nitpick
> business(!).

Yeah, I got that. I was just throwing some hyperbole in the face of what I saw as an extreme over-simplification. :)

> My bread and butter is Java/C++ too, but I never ever had
> to write even a single line of code of C++ for the Java
> programs I have worked on. In our company we have even
> done real-time applications with Java (Radar console with
> real-time video image!) without writing anything in
> C/C++.

The majority of the time, I don't have the need either. However, there have been certain instances where we had measurable gains by porting certain small bits of the system to a "lower level" language. Then again, speed and low latency are high priorities in the systems I work with. I'm not sure how wide spread such requirements are.


> The same goes with Ruby: when it matures, its
> computational speed will be the same as Java's and C++'s.
>
> The real reason for using Ruby now is not performance of
> the code, but performance of the developers.

I'm not sure that is universally true. It has been around for a long time and hasn't improved on the scale that Java has (performance wise) in that time. That could be for a lack of work on performance, but I certainly don't know for sure. Also, if I have to pick a language now where performance of individual operations is a factor, I'm really not looking 5 years down the line for improvements that may or may not happen. It could get better--and here's hoping that it does--but I'm not better my system on it.

I do agree on productivity, however. While I don't see the massive productivity gains some people claim Ruby has over Java, it certainly is a fun and productive language to develop in. Since moving there from PHP for my website development, I haven't looked back.

Kondwani Mkandawire

Posts: 530
Nickname: spike
Registered: Aug, 2004

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 1:04 AM
Reply to this message Reply
> The irony about the serving up web pages statement is that
> Java never really made it out onto the desktop at large
> and the vast majority of the presentation of Java apps is
> done through a browser.

I still find it hard to fathoam why people keep posting
the above unsustantiated argument. Majority of Java Apps
are run through a browser? That's absurd.

Google Swing Sightings. Have you heard of HSQLDB, JBoss,
eclipse, JPos, Limewire, and the list goes on.

I have a 9 - 5 (strictly Java) and never touch web-app
type stuff. Please point to some links instead of just
utterring absurd statements.

Vineet Billorey

Posts: 2
Nickname: billorey
Registered: Mar, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 2:55 AM
Reply to this message Reply
What Gosling said...

I agree with Mr. James Gosling.

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 6:18 AM
Reply to this message Reply
> I'm not sure that is universally true. It has been around
> for a long time and hasn't improved on the scale that Java
> has (performance wise) in that time. That could be for a
> lack of work on performance, but I certainly don't know
> for sure. Also, if I have to pick a language now where
> performance of individual operations is a factor, I'm
> really not looking 5 years down the line for improvements
> that may or may not happen. It could get better--and
> here's hoping that it does--but I'm not better my system
> on it.

But that is an issue of strategy from Ruby's developers, not an issue of the programming language.

> I do agree on productivity, however. While I don't see
> the massive productivity gains some people claim Ruby has
> over Java, it certainly is a fun and productive language
> to develop in. Since moving there from PHP for my website
> development, I haven't looked back.

Productivity/correctness is more important than performance nowadays.

Steve Donovan

Posts: 24
Nickname: stevedonov
Registered: May, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 8:59 AM
Reply to this message Reply
> The same goes with Ruby: when it matures, its computational speed will be the same as Java's and C++'s.

Is this theoretically possible? Late-binding or dynamic dispatch is always going to involve looking up methods. Clever caching, yes, but static languages will always have the edge.

For _most_ tasks, it will be fast enough. That's fair enough, but I'm a scientific programmer by trade and sometimes you need to get really close to the iron.

steve d.

Flat View: This topic has 43 replies on 3 pages [ « | 1  2  3 | » ]
Topic: Java and Other Languages: What Gosling Really Said Previous Topic   Next Topic Topic: Design Enterprise Applications with the EJB 3.0 Java Persistence API


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us