Book Image

Introduction to JVM Languages

Book Image

Introduction to JVM Languages

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)

Summary


We started the chapter by downloading Kotlin from its home page and installing it. We examined the REPL and used it to learn some Kotlin fundamentals, such as defining functions and variables. We quickly found out that Kotlin has many features that are similar to Java, but it requires much less boilerplate code for common situations and is often easier to use. We learned about Kotlin's unique type system, especially when it comes to handling null references. We learned the most important OOP-related subjects, such as defining classes, adding functions and properties to it, and even adding a JVM entry point function to it. Also, some more advanced features were discussed, such as singleton and companion objects, data classes, and lambda functions. Finally, you learned that Kotlin can be used for procedural programming as well; you also looked at Kotlin's coding conventions.

In the next chapter, we will create a Kotlin project together that is powered by Oracle's advanced JavaFX desktop...