JEPs proposed to target JDK 9 (2015/11/5)
Remi Forax
forax at univ-mlv.fr
Thu Nov 5 23:47:12 UTC 2015
Let me be the devil advocate.
One problem i see with JEP 276 is that it makes Java the Language a second class citizen because unlike with the other dynamic languages, javac will not emit the invokedyanmic calls.
Obviously, given the fact that Java is the elephant in the room, the picture is inversed, all dynamically typed language that run on the JVM will still be second class citizens.
It seems this JEP stops in the middle of the river, making this JEP, in my opinion, not very useful. Dynamic languages will interoperate with the others but Java will not interoperate with them. So for a dynamic language runtime, encoding callsites using the proposed scheme is a constraint with not so much benefit, JRuby can already calls Nashorn because both can use Java as a bridge.
Moreover, if you compare how dynamically typed languages that run on the JVM are supported by Java compared to statically typed languages, Fortran or C++ by example, they will soon have better support from Java because they will be able to use the C bridge defined by project Panama.
So instead of defining how dynamically typed languages can interop with each others, i think it's a better to define how Java can leverage invokedynamic to call any dynamically typed languages in a typesafe way.
All dynamically typed languages will be free to reuse the same mechanism to interroperate with each others, the JEP 276 should be defined on top of that mechanism.
cheers,
Rémi
----- Mail original -----
> De: "mark reinhold" <mark.reinhold at oracle.com>
> À: jdk9-dev at openjdk.java.net
> Envoyé: Jeudi 5 Novembre 2015 23:56:43
> Objet: JEPs proposed to target JDK 9 (2015/11/5)
>
> The following JEPs have been placed into the "Proposed to Target"
> state by their owners after discussion and review:
>
> 259: Stack-Walking API
> http://openjdk.java.net/jeps/259
>
> 264: Platform Logging API and Service
> http://openjdk.java.net/jeps/264
>
> 269: Convenience Factory Methods for Collections
> http://openjdk.java.net/jeps/269
>
> 272: Platform-Specific Desktop Features
> http://openjdk.java.net/jeps/272
>
> 276: Dynamic Linking of Language-Defined Object Models
> http://openjdk.java.net/jeps/276
>
> Feedback on these proposals is more than welcome, as are reasoned
> objections. If no such objections are raised by 23:00 UTC next
> Thursday, 12 November, or if they're raised and then satisfactorily
> answered, then per the JEP 2.0 process proposal [1] I'll target these
> JEPs to JDK 9.
>
> (This information is also available on the JDK 9 Project Page [2]).
>
> - Mark
>
>
> [1] http://cr.openjdk.java.net/~mr/jep/jep-2.0-02.html
> [2] http://openjdk.java.net/projects/jdk9/
>
More information about the jdk9-dev
mailing list