JVM Languages

Java/Groovy/Kotlin


Besides Java, other languages can run on the Java Virtual Machine like Scala, Kotlin, Groovy, Clojure. A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes what is required in a JVM implementation. Having a specification ensures interoperability of Java programs across different implementations so that program authors using the Java Development Kit (JDK) need not worry about idiosyncrasies of the underlying hardware platform.


Java
Groovy
Kotlin

Features

Java is of course the original JVM programming language. It gets a fair bit of its syntax from C++ and C, but it’s simpler to use and it uses object-oriented programming.

Its consistent standards and commonality throughout the industry make it a solid choice for the JVM.

Java

Java is a general-purpose programming language embracing the Object-Oriented Paradigm. A core feature of the language is the cross-platform portability. This is achieved by compiling code into bytecode first, instead of directly to platform-specific machine code. Java bytecode instructions are analogous to the machine code, but they’re interpreted by a Java Virtual Machine (JVM) specific to the host operating system and hardware combination. Although originally an object-oriented language, Java has started adopting concepts from other programming paradigms like functional programming. Quick look at some of Java’s main features includes: 1.Object-oriented, 2.Strongly statically typed, 3.Platform-independent, 4.Garbage-collected, 5.Multithreaded.

Groovy

Groovy is an object-oriented, optionally typed, dynamic domain specific language (DSL), with support for static-typing and static compilation capabilities. It’s aimed at improving developer productivity, with easy to learn syntax. Groovy integrates easily with any Java program and immediately adds powerful features, like scripting capabilities, runtime and compile-time meta-programming and functional programming features. To highlight a few important features: 1.Object-oriented with functional features like Higher-order functions, currying, closures. 2.Typing – Dynamic, Static, Strong, Duck. 3.Domain Specific Language. 4.Interoperability with Java. 5.Productivity by conciseness. 6.Operator overloading.

Kotlin

Kotlin is a statically typed, general-purpose, open-source language developed by JetBrains team, which brings together the Object-oriented and functional paradigms. The main focus while developing Kotlin was Java interoperability, safety (exception handling), conciseness and better tooling support. Since the release of Android Studio 3.0, Kotlin is a fully supported programming language by Google on the Android Platform. It’s also included in the Android Studio IDE package as an alternative to the standard Java compiler. Some Kotlin features are: 1.Object-oriented + Functional, 2.Strongly statically typed, 3.Concise, 4.Interoperable with Java.

Importance of Java

With the language being as popular as it is, there are tons of resources to learn from. Fortunately, a lot of these resources are available online, and these can act as your companion in the learning process. Java is an all-around universal programming language. Due to its solidity and scalability, Java is found on mobiles, desktops and large-scale industry servers and applications. Recently, Java has been gaining credibility in the area of Internet of Things (IoT) and cloud development. Globally, there are around 10 million Java developers, and this community continues to grow on a daily basis. Similar to other open source technologies, Java encourages the values of giving back to the public.