Book Image

Introduction to JVM Languages

By : van der Leun
Book Image

Introduction to JVM Languages

By: van der Leun

Overview of this book

Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language’s strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java Virtual Machine and know about the differences between the various languages.
Table of Contents (15 chapters)

Kotlin's REPL interactive shell


Like two of the previous languages covered in this book, Scala and Clojure, Kotlin also has a REPL interactive shell that can be used to try Kotlin snippets interactively. As covered in the previous section, the REPL can be started by starting the compiler launch script without parameters (you can add the .bat extension on Windows, but this is not required):

kotlinc-jvm

Note

You can also choose to simply launch the kotlinc launch script, as JVM is Kotlin's default compilation target.

The REPL shell implements a few built-in commands. In the Kotlin REPL, there's no need to call a Java class library method to exit the shell:

Command

Description

:help

This shows a help screen containing the built-in REPL commands.

:quit

This is used to exit the REPL.

:dump bytecode

This dumps the Java bytecode of all the code generated during the current session in a readable text format. It is not useful to most end users but will be interesting to advanced developers who want to study...