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 2, 2006 11:16 PM 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 ]
Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 7:41 AM
Reply to this message Reply
Advertisement
> > 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.

Nothing prevents numeric Ruby code to be translated to the fastest numeric code possible. It's all a matter of translation at virtual machine level.

Steve Donovan

Posts: 24
Nickname: stevedonov
Registered: May, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 8:26 AM
Reply to this message Reply
>Nothing prevents numeric Ruby code to be translated to the >fastest numeric code possible. It's all a matter of >translation at virtual machine level.

I would like this to be true, but I suspect that a language has to give the virtual machine some tips. It has to know that in 'x+y', x and y will be double and not strings - then it can generate optimal code. Can a JIT infer this, bearing in mind that it cannot read comments? That's the question.

Another solution would be agile languages with type inference; Boo is the prettiest I've seen so far - feels like Python, compiles down to IL.

steve d.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 4:01 PM
Reply to this message Reply
> >Nothing prevents numeric Ruby code to be translated to
> the >fastest numeric code possible. It's all a matter of
> >translation at virtual machine level.
>
> I would like this to be true, but I suspect that a
> language has to give the virtual machine some tips.

Look at these Lua programs
http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=lua&lang2=ruby

Now compare with LuaJIT
http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=luajit&lang2=lua

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 4:58 PM
Reply to this message Reply
"Productivity/correctness is more important than performance nowadays."

What's important in programming depends, as it always has, on context.

There are still many applications written today where performance is far more important than programmer productivity.

There are also situations where being first in the market is more important than correctness.

Steve Donovan

Posts: 24
Nickname: stevedonov
Registered: May, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 10:29 PM
Reply to this message Reply
Lua is a marvelous little language which is really incredibly compact. The games people love it because it's easy to embed, and I've had a lot of fun with it. The online book Programming in Lua is a model of its kind, I think.

Would be interesting to see what happens if some serious resources were put into JIT technology for dynamic languages.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 27, 2006 10:42 PM
Reply to this message Reply
> Would be interesting to see what happens if some
> serious resources were put into JIT technology for
> dynamic languages.

With what goal in mind?

Jules Jacobs

Posts: 119
Nickname: jules2
Registered: Mar, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 28, 2006 7:38 AM
Reply to this message Reply
Ruby is not going to replace Java. Maybe Rails will replace the tipical Java stack.

The thing that IS going to replace Java, is functional programming. Once computers will have 40 core processors, or the standard will be FPGA computers, concurrency is very important. That's where functional programming will come in. If you have referential transparent functions, these can be executed concurrently. Functional languages will be faster than imperative ones.

Maybe.

Merriodoc Brandybuck

Posts: 225
Nickname: brandybuck
Registered: Mar, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 28, 2006 8:06 AM
Reply to this message Reply
> Ruby is not going to replace Java. Maybe Rails will
> replace the tipical Java stack.
>
> The thing that IS going to replace Java, is functional
> programming. Once computers will have 40 core processors,
> or the standard will be FPGA computers, concurrency is
> very important. That's where functional programming will
> come in. If you have referential transparent functions,
> these can be executed concurrently. Functional languages
> will be faster than imperative ones.
>
> Maybe.


If you haven't seen this, you should find it interesting

http://labs.google.com/papers/mapreduce.html

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 28, 2006 2:07 PM
Reply to this message Reply
> > Ruby is not going to replace Java. Maybe Rails will
> > replace the tipical Java stack.
> >
> > The thing that IS going to replace Java, is functional
> > programming.
-snip-

> If you haven't seen this, you should find it interesting
> http://labs.google.com/papers/mapreduce.html

Note, the MapReduce library is implemented in C++

Merriodoc Brandybuck

Posts: 225
Nickname: brandybuck
Registered: Mar, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 28, 2006 2:31 PM
Reply to this message Reply
I guess I should have mentioned that. C++ is a multiparadigm language. I think most people on this board know this, though. Thanks for pointing that out. The main reason I posted it is that I think it strongly supports that the future of software for high performance systems is to use functional programming. Functional programs are pretty easy to run in parallel since they don't have side effects. Most people think of lisp dialects when they talk about functional programs, I guess, but there isn't any reason that you can't do similar things in many other languages. C++ and Python are the ones I am most familiar with. I know Joel on Software also has a functional programming example in JavaScript http://www.joelonsoftware.com/articles/TestYourself.html so I guess it's possible there too :-)

Anyway, functional programing isn't restricted to strictly functional languages. I think lots of people make that assumption.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 28, 2006 3:31 PM
Reply to this message Reply
> Functional programs are pretty easy to run in parallel
> since they don't have side effects.
-snip-
> Anyway, functional programing isn't restricted to strictly
> functional languages. I think lots of people make that
> assumption.

Just as OOP isn't restricted to strictly OO languages, and people disagree about how beneficial pure OO languages are for OOP, I expect some will quarrel with you about this ;-)

Given the history of implementation on the Transputer, it's somewhat ironic that the current Clean implementation does not provide native threading.

http://www.cs.ru.nl/st/Onderzoek/Publicaties/publicaties.html#Papers1985

You can find Clean (relatively fast) and Haskell programs on The Computer Language Shootout.

Steve Donovan

Posts: 24
Nickname: stevedonov
Registered: May, 2005

Re: Java and Other Languages: What Gosling Really Said Posted: Mar 28, 2006 11:02 PM
Reply to this message Reply
> > Would be interesting to see what happens if some
> > serious resources were put into JIT technology for
> > dynamic languages.
> With what goal in mind?

Currently there's a trade-off between programmer efficiency and expressiveness and run-time efficiency and performance. That strikes me as a technical problem which needs a technical fix.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Java and Other Languages: What Gosling Really Said Posted: Apr 2, 2006 11:17 AM
Reply to this message Reply
We seem to have come full circle: JDJ quotes Bill Venner's Artima transcript in 'Father of Java Seeks to Extinguish "Scripting Flamewar"'
http://java.sys-con.com/read/199293.htm

What most developers seem concerned about, at this point, is not whether Gosling is right or wrong, quoted fairly or misquoted, so much as: what's best for them to learn and to use right now if they wish to eke a living our of software development.

Perhaps just a little defensive.

Vineet Billorey

Posts: 2
Nickname: billorey
Registered: Mar, 2006

Re: Java and Other Languages: What Gosling Really Said Posted: Apr 2, 2006 11:16 PM
Reply to this message Reply
Fine.

I have seen a lot of arguments here about the Java Language and even about the words of Mr. James Gosling.

And this is not a new thing for me, as in the begining 3.5 years of my carrear, I was a faculty teacning Java/C/C++, and every new student asked me to compare Java with other languages like ASP, C#, etc.

My answer was Java to everyone.

Last 4 years I am developing Internet applications in JSP/Servlets and I can say that Java is such a decent language to work in many typically difficult situations.

Hence, looking at Java in current Internet requirements, I do not think that any new language can bring any challenges for Java.

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-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use