Tuesday 18 September 2018

All Eyes on Java 10

Java 10 release notes (including update releases) can be found here. The Java 10 API specification can be found here.

JDK 8 on the Out

Oracle will stop updating Java 8 commercially from January 2019. All focus now should be on the latest feature release Java 10 (with a nod to new kid on the block, Nashorn, from Java 9 onwards).

Saturday 15 September 2018

Remind me again - what is a REPL environment?

Suppose we are comparing various JavaScript engines for the JVM. One criteria for comparison might be whether they provide a REPL environment for the JVM - basically, an environment where you can type in quick commands to test out the language and interact with Java libraries dynamically.

More formally, REPL can be defined as a Read-Eval-Print loop, with the read function taking in the expression (rather than a full-fledged compilation unit), eval evaluates and print prints the result. JShell is a REPL included in the JDK since Java9.

Monday 6 August 2018

Nashorn and the OpenJDK

Nashorn is a JavaScript engine used in the Java programming language and is based on the Da Vinci machine (prototype to extend the JVM to support dynamic languages, and reference implementation to JSR292. Danny Coward who was the specification lead was originally at Sun and now at Liquid Robotics). (Note: Nashorn is German for rhinoceros).

What does it mean to use a library in "shaded form"?

Shaded form refers to using an open source library in a project but renaming the packages to avoid namespace collisions. For example, the ASM library is used in shaded form in Kotlin and Gradle.