View mode: basic / threaded / horizontal-split · Log in · Help
February 26, 2013
D for the JVM
I'm quite serious here, no joking ... Make a version of D for the 
JVM and it'll be a big success for the language and a business 
case at the same time. So many Java developers are meanwhile 
really not amused anymore about the slow language development of 
Java. Even C# is ways ahead of Java and does not have to carry 
problems from earlier premature decisions. The success of Scala, 
Groovy and JetBrains seeing a business case for Kotlin comes for 
a reason.

-- Oliver
February 27, 2013
Re: D for the JVM
On Tue, 26 Feb 2013 14:00:16 -0800, OlliP <jeti789@web.de> wrote:

> I'm quite serious here, no joking ... Make a version of D for the JVM  
> and it'll be a big success for the language and a business case at the  
> same time. So many Java developers are meanwhile really not amused  
> anymore about the slow language development of Java. Even C# is ways  
> ahead of Java and does not have to carry problems from earlier premature  
> decisions. The success of Scala, Groovy and JetBrains seeing a business  
> case for Kotlin comes for a reason.
>
> -- Oliver

Both the JVM and the CLR are unable to fully express D in their bytecode.  
The CLR could do most things but Ranges/Slicing where ridiculously slow.  
The development never progressed much beyond that. Although, i've always  
wondered if it would be possible on a newer version of the CLR...

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
February 27, 2013
Re: D for the JVM
On Tue, 2013-02-26 at 23:00 +0100, OlliP wrote:
> I'm quite serious here, no joking ... Make a version of D for the 
> JVM and it'll be a big success for the language and a business 
> case at the same time. So many Java developers are meanwhile 
> really not amused anymore about the slow language development of 
> Java. Even C# is ways ahead of Java and does not have to carry 
> problems from earlier premature decisions. The success of Scala, 
> Groovy and JetBrains seeing a business case for Kotlin comes for 
> a reason.

We just went round this in great detail a few weeks ago, can I get you
to check back in the mail logs first. I am not going to rehearse all the
debate from back then and I hope I don't see a whole new thread covering
all the same ground. The summary is that D on the JVM is like C++ or C
on the JVM, a non-starter.

The implied criticism of Java against other languages has some merit but
that is a whole other debate, which we also had on this list a few weeks
ago so no repeat. Summary is that Kotlin exists because JetBrains didn't
want to use a dynamic language, Groovy, but this was before Groovy had
strong static compilation; and Java 8 is a game changer that threatens
Scala, and Kotlin.

You missed out Ceylon from your list, it is threatened by Java 8 as
well.

Groovy has a role in partnership with Java 8 so is not threatened in the
same sense. Exactly the opposite in reality due to is being a dynamic
language with a static capability.

'Nuff said?

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
February 27, 2013
Re: D for the JVM
> ... Java 8 is a game changer that threatens
> Scala, and Kotlin.

Well, Kotlin has the ability to generate Javascript. This could 
turn into a killer feature as Javascript is growing in 
importance, e.g. Node.js, html5+Javascript and the importance of 
Javascript for Web GUIs as such. I hope they can make it as the 
language IMHO is really well designed.

>
> You missed out Ceylon from your list, it is threatened by Java 
> 8 as
> well.

Ceylon is not made for interoperability with Java such as Groovy, 
Kotlin, Scala. I don't think they stand a chance if the Java eco 
system cannot be easily re-used. I don't understand what the 
Ceylon guys are thinking.

-- Oliver
February 27, 2013
Re: D for the JVM
On Wed, 27 Feb 2013 06:57:04 +0000
Russel Winder <russel@winder.org.uk> wrote:

> and Java 8 is a game
> changer that threatens Scala, and Kotlin.
> 

You've mentioned this before in another thread, and you've got me
curious: What aspect (or aspects) of Java 8 are there that make it a
game-changer?

You've obviously been keeping up on Java developments far, far more
than I have (I've mostly been ignoring it since ~v5 when I jumped
ship to C#/D), so all I know is what I've just looked up on Wikipedia.
The lambdas/closures do indeed sound like a very big deal for Java (I
can't help recalling the infamous old Sun whitepaper that
attempted to show they were unnecessary ;) ). But is there more
*really* significant stuff (I assume there is), or is that the main
reason for Java 8's significance?
February 28, 2013
Re: D for the JVM
On Wed, 2013-02-27 at 17:40 -0500, Nick Sabalausky wrote:
> On Wed, 27 Feb 2013 06:57:04 +0000
> Russel Winder <russel@winder.org.uk> wrote:
> 
> > and Java 8 is a game
> > changer that threatens Scala, and Kotlin.
> > 
> 
> You've mentioned this before in another thread, and you've got me
> curious: What aspect (or aspects) of Java 8 are there that make it a
> game-changer?
> 
> You've obviously been keeping up on Java developments far, far more
> than I have (I've mostly been ignoring it since ~v5 when I jumped
> ship to C#/D), so all I know is what I've just looked up on Wikipedia.
> The lambdas/closures do indeed sound like a very big deal for Java (I
> can't help recalling the infamous old Sun whitepaper that
> attempted to show they were unnecessary ;) ). But is there more
> *really* significant stuff (I assume there is), or is that the main
> reason for Java 8's significance?

The lambda expressions and the default (aka defender) methods in
interfaces remove the need for the vast majority of anonymous classes.
This isn't just a massive shortening of Java code, it is the
introduction of functions as (almost) first class entities to the
language. Lambda expressions are not simply shorthand for anonymous
classes, that would be highly inefficient, the implementation of lambda
expressions is in terms of method handles and invokedynamic. Add to this
call site type inference and the system is really very neat.

The real game changer is the move from always having explicit iteration
to having internal iteration. OK so map, filter, reduce and the like
have been around in languages wince 1957-ish generally and on the JVM
for about 10 years with Groovy, Scala, etc. but to bring this to the
major language, Java, changes the whole outlook for JVM-based
programming — if Java programmer update to Java 8 thinking.

The real point is that this all makes data parallelism trivially easy
for the programmer:

	stream.parallel()

delivers up a stream that will be handled with maximum parallelism for
the current platform. OK so it can be abused or misused, but it changes
Java from what it was to something fit for the multicore world without
programmers having to faff around with threads, locks, semaphores,
monitors, and all the low-level stuff applications programmers have been
forced to use for the last 50 years.  

Why am I keeping up? I am involved with Groovy
(http://groovy.codehaus.org) and especially GPars
(http://gpars.codehsu.org). I am a member of The London Java Community
(LJC) which has an elected seat on the JCP EC. I am also a bit
associated with the JSR166 work.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
February 28, 2013
Re: D for the JVM
On Thu, 2013-02-28 at 06:48 +0000, Russel Winder wrote:
[…]
> (http://gpars.codehsu.org). I am a member of The London Java Community
[…]

The GPars URL is, of course, http://gpars.codehaus.org, not what is
above.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
March 20, 2013
Re: D for the JVM
On 2013-02-26, 23:00, OlliP wrote:

> I'm quite serious here, no joking ... Make a version of D for the JVM  
> and it'll be a big success for the language and a business case at the  
> same time. So many Java developers are meanwhile really not amused  
> anymore about the slow language development of Java. Even C# is ways  
> ahead of Java and does not have to carry problems from earlier premature  
> decisions. The success of Scala, Groovy and JetBrains seeing a business  
> case for Kotlin comes for a reason.

I'm not entirely sure if that'd even be possible - some features of D  
might be impossible to do on the JVM (uints and the like come to mind,  
other examples probably exist. Not sure if workarounds exist).

A bigger problem in the short term is finding someone to do this. Walter  
is kinda busy with DMD, while LDC and GDC have rather limited teams mostly  
just playing catch up with DMD. If you want to do it, go ahead. It's sure  
to be a challenging and interesting project.

-- 
Simen
March 20, 2013
Re: D for the JVM
On Wednesday, 27 February 2013 at 09:32:21 UTC, OlliP wrote:
>
>> ... Java 8 is a game changer that threatens
>> Scala, and Kotlin.
>
> Well, Kotlin has the ability to generate Javascript. This could 
> turn into a killer feature as Javascript is growing in 
> importance, e.g. Node.js, html5+Javascript and the importance 
> of Javascript for Web GUIs as such. I hope they can make it as 
> the language IMHO is really well designed.
>
>>
>> You missed out Ceylon from your list, it is threatened by Java 
>> 8 as
>> well.
>
> Ceylon is not made for interoperability with Java such as 
> Groovy, Kotlin, Scala. I don't think they stand a chance if the 
> Java eco system cannot be easily re-used. I don't understand 
> what the Ceylon guys are thinking.
>
> -- Oliver

Except scala, I'm not really a specialist. But clearly scala have 
some very good bits in it and I'm sure it can stand by itself. 
See for instance the traits system.
March 21, 2013
Re: D for the JVM
On Wednesday, 27 February 2013 at 06:57:16 UTC, Russel Winder 
wrote:
> The summary is that D on the JVM is like C++ or C on the JVM, a 
> non-starter.

Interesting, can java into CTFE and compile-time code generation?
« First   ‹ Prev
1 2
Top | Discussion index | About this forum | D home