Scripting in Java :: Sep 28, 2017
Java is often ridiculed for its verbosity.
#280characters— I Am Devloper (@iamdevloper) September 27, 2017
almost enough to do Hello World in Java
While less of a concern in large applications that require readability and structure, Java’s garrulity and compilation requirement has made it an uncommon choice for scripting. With the introduction of JShell, Java 9’s new REPL, the language can finally be leveraged from an interpreted context. Consider:
$ cat helloworld.jsh /open PRINTING println(“Hello world”) /exit $ jshell helloworld.jsh Hello world
/open PRINTING imports methods like
printf without requiring the
System.out prefix. By default, many classes in the standard library are automatically imported (try executing
/imports in a console). The print statement does not require a semicolon, and the script ends with the
Unfortunately, the depth of features in JShell severely hinders its startup performance. On my 2015 Macbook Pro, the above script takes over 7 seconds. Hopefully, features like Ahead of Time compilation or Class Data Sharing will improve speeds.
$ cat jjs.js print(“Hello world”); $ jjs jjs.js Hello world
In any case, great strides are being made in Java’s accessibility, and I look forward to further tooling development.