That Old Java-JavaScript Project Is Back

Paul Krill
3 Min Read

The Detroit initiative initially aimed to integrate JavaScript as an extension language for Java applications. It’s now undergoing a revival, incorporating Python.

A hand draws football plays on a clear screen in black marker.
Credit: Ivelin Radkov / Shutterstock

The Detroit project, originally conceptualized as a way to bridge Java and JavaScript, never gained significant traction. However, new initiatives are now underway to revitalize it, introducing a Python engine into the framework.

Conceived to allow JavaScript to function as an extension language for Java applications, the Detroit project halted after its sponsoring organization disbanded around 2018. Yet, as per a fresh proposal dated February 25, there’s renewed enthusiasm for converging Java and JavaScript. This proposal was actively discussed on an OpenJDK mailing list recently.

Sundararajan Athijegannathan, a list participant who has volunteered to spearhead the project, noted that “there is also interest in accessing AI functionality written in Python from Java applications.” Besides enabling JavaScript extensions for Java, the plan also includes allowing Java libraries to be utilized from JavaScript applications, as stated by Athijegannathan.

The original Detroit project prototype, which involved creating a native implementation of the javax.script package utilizing the Chrome V8 JavaScript engine, has been reactivated, Athijegannathan confirmed. Project participants have also developed a prototype Python script engine based on CPython. By leveraging widely adopted JavaScript and Python implementations, rather than starting language implementations from scratch, the team aims to ensure minimal long-term maintenance overhead and compatibility with existing JavaScript and Python codebases, Athijegannathan elaborated.

“We aim to transition these prototypes into a formal OpenJDK project to accelerate their development. We anticipate both using and pushing the capabilities of the FFM (Foreign Function & Memory) API, suggesting this effort will likely influence Project Panama,” he wrote. Project Panama seeks to enhance connections between the JVM and non-Java APIs. Over time, the project might explore implementing script engines for additional programming languages. Voting on the project, open exclusively to current OpenJDK members, is scheduled to conclude by March 11.

Artificial IntelligenceGenerative AIJavaJavaScriptProgramming LanguagesPythonSoftware Development
Share This Article
Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *