Oracle Says Drop Nashorn From JDKs
Written by Kay Ewbank   
Friday, 15 June 2018

Oracle wants to deprecate the Nashorn JavaScript Engine and remove it from all future Java Development Kits. The details emerged as part of a JDK Enhancement Proposal.

The Nashorn JavaScript engine was introduced with Java 8 to replace the previous JavaScript scripting engine based on Mozilla Rhino. Nashorn is based on JSR 292, which adds support for dynamically typed languages on the Java platform; and on invokedynamic. Its aim was to provide better compliance with the ECMA normalized JavaScript specification and better runtime performance through invokedynamic-bound call sites.

Nashorn provides a way to invoke Java code from JavaScript, or to invoke JavaScript functions from Java code. Nashorn can be embedded in JavaScript applications as an interpreter, and its command-line tool, jjs, can be used to run JavaScript from the command line.

Nashorn  was a complete implementation of the ECMAScript-262 5.1 standard when it was released, but is now lagging behind due to the rapid pace at which ECMAScript language constructs, along with APIs, are adapted and modified. 

Oracle says the only choices are either to deprecate the Nashorn JavaScript script engine and APIs, and the jjs tool, with the intent to remove them in a future release; or for

"a set of credible developers to express a clear desire to maintain Nashorn going forward. If that happens before this JEP is integrated then this JEP can be withdrawn. If that happens after this JEP is integrated, but before Nashorn is removed, then a follow-on JEP can revert the deprecation."

The problem with removing Nashorn is that certain applications will no longer run because of the expectation that JavaScript is present. Oracle says that:

"the breadth of Nashorn usage has not been easy to track. It is hoped that feedback for this JEP might provide better insight into actual Nashorn usage."

Responding to a tweet about the proposal,  Thomas Wuerthinger, Senior Research Director at Oracle Labs,said:

"The JavaScript implementation based on #GraalVM will be production-ready on all relevant platforms before Nashorn is deprecated. It will give you better performance and is fully compliant to the latest ECMAScript standard."

GraalVM is a virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++.

openjdklogo
 

More Information

JEP For Nashorn Removal

Related Articles

JDK 10 Released

JavaFX Will Be Removed From JDK

Java 9 Finally Appears

Java 9 Slips Again

No Vote For Java Module System

JDK 9 Release Slips Again 

JDK Delivery Date Update

Jigsaw In JDK

JDK 9 Update

JDK 9 Early Access Now Available

Java JDK 9 Proposals

Jigsaw Shelved Until Java 9

Java 8 Launched With Supporting Line-Up

 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


IBM Opensources AI Agents For GitHub Issues
14/11/2024

IBM is launching a new set of AI software engineering agents designed to autonomously resolve GitHub issues. The agents are being made available in an open-source licensing model.



Go At Highest Rank Ever in TIOBE Index
20/11/2024

Go is currently in 7th place in the TIOBE Index for November 2024. Not only is this is the highest position it has ever had, it's percentage rating is almost equal to its all-time-high. Will Go contin [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 15 June 2018 )