Oracle is wooing developers to GraalVM virtual machine as a more capable engine compared to Nashorn, the erstwhile JavaScript engine for Java Virtual Machine which made debut in 2014 with Java Development Kit (JDK) 8. While GraalVM supports JavaScript on the JVM, it is independent of Java itself, and can be embedded as part of platforms such as OpenJDK or Node.js, as well as within a database.

GraalVM offer multiple advantages over Nashorn, including having more complete implementation of JavaScript standards, supporting the ECMAScript 2016 and ECMAScript 2017 editions, plus the current ECMAScript for 2018.

It also affords the capability to execute additional languages like Python, R, and Ruby, with support for Node.js server-side JavaScript platform, which is compatible with virtually all Node.js modules.

And the support for several languages, is via an API in GraalVM which provides interoperability with the supported languages, with values able to be passed from one language to another without the need for copying or marshalling.

GraalVM performs relatively better than existing JVM-based engines and coupled with the ability to use the compiler’s advanced optimizations.

Oracle Labs has laid out a migration path for developers from Nashorn to GraalVM, by adding a compatibility flag (—nashorn-compat) that removes the need for rewrites to migrate a Nashorn application to GraalVM.

Albeit, the removal of support for Nashorn may cause some applications to no longer run because of an expectation of JavaScript’s presence; as such Oracle plans to still support Nashorn for a few more years to provide time for successful migration.

For developers who wish to give it a spin, GraalVM can be downloaded from the free GitHub Community Edition or from the Oracle Technology Network for the paid Enterprise Edition.

Oracle pitches GraalVM virtual machine as a more capable engine



Oracle is wooing developers to GraalVM virtual machine as a more capable engine compared to Nashorn, the erstwhile JavaScript engine for Java Virtual Machine which made debut in 2014 with Java Development Kit (JDK) 8. While GraalVM supports JavaScript on the JVM, it is independent of Java itself, and can be embedded as part of platforms such as OpenJDK or Node.js, as well as within a database.

GraalVM offer multiple advantages over Nashorn, including having more complete implementation of JavaScript standards, supporting the ECMAScript 2016 and ECMAScript 2017 editions, plus the current ECMAScript for 2018.

It also affords the capability to execute additional languages like Python, R, and Ruby, with support for Node.js server-side JavaScript platform, which is compatible with virtually all Node.js modules.

And the support for several languages, is via an API in GraalVM which provides interoperability with the supported languages, with values able to be passed from one language to another without the need for copying or marshalling.

GraalVM performs relatively better than existing JVM-based engines and coupled with the ability to use the compiler’s advanced optimizations.

Oracle Labs has laid out a migration path for developers from Nashorn to GraalVM, by adding a compatibility flag (—nashorn-compat) that removes the need for rewrites to migrate a Nashorn application to GraalVM.

Albeit, the removal of support for Nashorn may cause some applications to no longer run because of an expectation of JavaScript’s presence; as such Oracle plans to still support Nashorn for a few more years to provide time for successful migration.

For developers who wish to give it a spin, GraalVM can be downloaded from the free GitHub Community Edition or from the Oracle Technology Network for the paid Enterprise Edition.

No comments