Java developers are slated to get REPL (Read-Eval-Print-Loop) capability via jshell with
next year's planned Java 9 release.
In a
recent blog post,
Oracle's Jim Connors cited the ease of use enabled by REPL and Java's
setback with the lack of this capability. "Instead of having to
construct and compile complete syntactically correct programs before
feedback can be achieved, REPLs allow much more interactivity, enabling
the student/programmer to enter small snippets of code and receive
immediate feedback."
Schools, in fact, have cited the lack of REPL when moving
away from Java as a teaching language, Connors said: "With the
introduction of jshell in the upcoming Java 9 release, this shortcoming
will be eliminated." Languages like Python already have had the
capability, he stressed.
Code for the REPL capability has been
featured in the Kulia project, and users were speculating on the addition of a REPL into Java last year. The
Java Enhancement Proposal detailing
jshell says it offers an API and tool to provide a way to interactively
evaluate declarations, statements, and expressions of the Java
language. "The jshell state includes an evolving code and execution
state. To facilitate rapid investigation and coding, statements and
expressions need not occur within a method, expressions need not have
side-effects, variables need not occur within a class, and methods need
not occur within a class or interface."
The jshell
tool will be a command-line tool offering ease of interaction via
features like tab completion, automatic addition of needed terminal
semicolons, and configurable, predefined imports and definitions.
Previously, observers have given REPL
mixed reviews for Java,
praising it for enabling real-time interactivity with code but
questioning its usefulness in a statement-oriented language like Java.
Comments
Post a Comment