Apache Groovy and language influences

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Apache Groovy and language influences

Guillaume Laforge
Administrator
Hi all,

Earlier today at the JavaOne conference in San Francisco, I did a presentation on the cross influences between languages, where I'm showing some of the languages that we were inspired from when we created Groovy, and also how Groovy influenced other languages as well.

Thought you might be interested in some of the background and history :-)


Guillaume

--
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform

Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

sbglasius
Hi G-man!

Nice slidedeck. Thank you for sharing!


/Søren

On Thu, 5 Oct 2017 at 02:44 Guillaume Laforge <[hidden email]> wrote:
Hi all,

Earlier today at the JavaOne conference in San Francisco, I did a presentation on the cross influences between languages, where I'm showing some of the languages that we were inspired from when we created Groovy, and also how Groovy influenced other languages as well.

Thought you might be interested in some of the background and history :-)


Guillaume

--
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform

--
Best regards / Med venlig hilsen,
Søren Berg Glasius

Hedevej 1, Gl. Rye, 8680 Ry, Denmark
Mobile: +45 40 44 91 88, Skype: sbglasius
--- Press ESC once to quit - twice to save the changes.
Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

Daniel Sun
In reply to this post by Guillaume Laforge
Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

Joe Wolf
Excellent presentation. I'd also suggest that Groovy was an influence on the evolution of the Java language itself. For example, I suspect Groovy was a contributing factor for introducing invokedynamic in Java 7, which was key in the implementation of lambdas in Java 8.

On Thu, Oct 5, 2017 at 1:14 AM, Daniel Sun <[hidden email]> wrote:
Nice :)



--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Users-f329450.html

Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

Guillaume Laforge
Administrator
Indeed, I still remember meeting John Rose many years ago, the mastermind behind invokedynamic, to speak about what a language like Groovy was needing in this space :-)
Hard to really quantify how much we helped, but yet, we did have some influence for sure in this area!
Or for things like the var stuff coming up in Java 10, it's also something I've been advocating to Brian Goetze 3-4 years ago (although he was really not in favor of it back in the day)

Guillaume


On Fri, Oct 6, 2017 at 3:30 PM, Joe Wolf <[hidden email]> wrote:
Excellent presentation. I'd also suggest that Groovy was an influence on the evolution of the Java language itself. For example, I suspect Groovy was a contributing factor for introducing invokedynamic in Java 7, which was key in the implementation of lambdas in Java 8.

On Thu, Oct 5, 2017 at 1:14 AM, Daniel Sun <[hidden email]> wrote:
Nice :)



--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Users-f329450.html




--
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform

MG
Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

MG
@"var in Java 10": http://openjdk.java.net/jeps/286 ?
This is the same feature I suggested a month or so back for Groovy (coming from my short C# stint) - I was not aware that someone already done an in-depth analysis for Java :-)

Reading JEP 286 Groovy dodged a bit of a bullet there: They were considering using "def" instead of "var" as the keyword - because of Groovy. Only "def" in Groovy is shorthand for "Object", no type inference taking place (apart from IntelliJ Intellisense, which sometimes works better when using def instead of Object), so that would have made Java 10 incomaptible with Groovy in that regard.

Interestingly no one seemed to realize that using "final" without an explicit type together with type inference works perfectly well - instead they are talking about using a "val" keyword (very bad choice imho, since at least to me it implies a value type, or something which is const(ant)), for the case that the assignment is final...

So what are the plans for "var" (and the related type inference when using "final") in Groovy right now: Wait until the Java 10, or introduce earlier ?
mg


On 06.10.2017 18:51, Guillaume Laforge wrote:
Indeed, I still remember meeting John Rose many years ago, the mastermind behind invokedynamic, to speak about what a language like Groovy was needing in this space :-)
Hard to really quantify how much we helped, but yet, we did have some influence for sure in this area!
Or for things like the var stuff coming up in Java 10, it's also something I've been advocating to Brian Goetze 3-4 years ago (although he was really not in favor of it back in the day)

Guillaume


On Fri, Oct 6, 2017 at 3:30 PM, Joe Wolf <[hidden email]> wrote:
Excellent presentation. I'd also suggest that Groovy was an influence on the evolution of the Java language itself. For example, I suspect Groovy was a contributing factor for introducing invokedynamic in Java 7, which was key in the implementation of lambdas in Java 8.

On Thu, Oct 5, 2017 at 1:14 AM, Daniel Sun <[hidden email]> wrote:
Nice :)



--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Users-f329450.html




--
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform


MG
Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

MG
In reply to this post by Guillaume Laforge
Agree, good presentation - the attention to detail with regards to syntax shows perfectly why to me Groovy is superior to other existing languages (see e.g. the Range construct Groovy vs Ruby example).

Also the Kotlin examples you gave confirmed my dislike of the newest kid on the block (which currently uses its marketing power to muscle its way in).
Any language that again gives us the syntactic monstrosity that is
val name: String = "abc"
(where it looks like you assign to the type instead of the variable), I hope I will never be forced to use.

Kotlin's support for non-nullable data types also seems a curious thing: Why introduce a relatively ugly syntax (e.g. "String?" for a non-nullable String), which forces the programmer to do non-null checks, instead of just suggesting developers use final + functional constructs everywhere ? While it helps to catch null-pointers as early as possible for debugging purposes, it still crashes your application - so avoiding this problem wherever possible is imho the way to go here...

Btw, what do you have to do to become a first class first-class Android language, and why isn't Groovy in the mix ?-)

Cheers,
mg


On 05.10.2017 02:44, Guillaume Laforge wrote:
Hi all,

Earlier today at the JavaOne conference in San Francisco, I did a presentation on the cross influences between languages, where I'm showing some of the languages that we were inspired from when we created Groovy, and also how Groovy influenced other languages as well.

Thought you might be interested in some of the background and history :-)


Guillaume

--
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform


Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

Russel Winder-3
In reply to this post by Guillaume Laforge
Also worth recognising Charlie Nutter's JRuby-related work on invokedynamic?

On Fri, 2017-10-06 at 18:51 +0200, Guillaume Laforge wrote:
> Indeed, I still remember meeting John Rose many years ago, the mastermind
> behind invokedynamic, to speak about what a language like Groovy was
> needing in this space :-)
> Hard to really quantify how much we helped, but yet, we did have some
> influence for sure in this area!
> Or for things like the var stuff coming up in Java 10, it's also something
> I've been advocating to Brian Goetze 3-4 years ago (although he was really
> not in favor of it back in the day)


--
Russel.
==========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

Guillaume Laforge
Administrator
He's definitely been much more involved that I've ever been :-)

On Mon, Oct 9, 2017 at 12:55 PM, Russel Winder <[hidden email]> wrote:
Also worth recognising Charlie Nutter's JRuby-related work on invokedynamic?

On Fri, 2017-10-06 at 18:51 +0200, Guillaume Laforge wrote:
> Indeed, I still remember meeting John Rose many years ago, the mastermind
> behind invokedynamic, to speak about what a language like Groovy was
> needing in this space :-)
> Hard to really quantify how much we helped, but yet, we did have some
> influence for sure in this area!
> Or for things like the var stuff coming up in Java 10, it's also something
> I've been advocating to Brian Goetze 3-4 years ago (although he was really
> not in favor of it back in the day)


--
Russel.
==========================================
Dr Russel Winder      t: <a href="tel:%2B44%2020%207585%202200" value="+442075852200">+44 20 7585 2200
41 Buckmaster Road    m: <a href="tel:%2B44%207770%20465%20077" value="+447770465077">+44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



--
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform

Reply | Threaded
Open this post in threaded view
|

Re: Apache Groovy and language influences

Russel Winder-3
I guess is it now a question of:

The JVM is dead, long live the GraalVM



On Mon, 2017-10-09 at 13:06 +0200, Guillaume Laforge wrote:
> He's definitely been much more involved that I've ever been :-)
>

--
Russel.
==========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

signature.asc (849 bytes) Download Attachment
12