A Comprehensive Guide to JVM Languages: 2 in 1
- 7 hours on-demand video
- 1 downloadable resource
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Understand the popular JVM languages and the Java Class Library
- Get to know about various programming paradigms such as imperative, object-oriented, and functional
- Work with common JVM tools such as Eclipse IDE and Gradle
- Explore frameworks such as Vert.x, Akka and JavaFX
Each JVM developer should be familiar with the concepts of it. Also, Java has different editions aiming at different use cases. Let’s learn all of this in this video.
Understand important concepts like Virtual Machine, Compiler, data types and classes
Look at the three important editions like Java SE, Java EE, and Java ME
The Clojure team added several features to Clojure to ensure that Clojure can properly consume and create classes from the Java class library and other JVM libraries. Let’s see how that works in this video.
Create an instance of a class. Call methods and add variables
Use deftype and defrecord
To safely manage a mutable state in a multithreaded program, Clojure offers agents. In this video, we will learn to manage states with the help of agents.
Understand working of an agent
Learn about functions related to agent such as validator and watchers
Create an agent for checking invoice status
To add Clojure support to Eclipse IDE, a plugin is required. In the Clojure world, this plugin is called Counterclockwise.
Install the Counterclockwise plugin
Switch to Java perpective
Until now, we have only entered snippets of code in Clojure's interactive REPL shell. To create executable programs in Clojure, you'll have to call an ordinary Clojure macro in your code that will instruct the built-in compiler to generate JVM .class files.
Compile class files with and without Leiningen
Now that we've tried out Leiningen, we are ready to build our first project in Eclipse IDE using the Counterclockwise plugin. Let’s do that in this video.
Generate the project and add a line to the bottom of the file
Verify installation. Run Clojure's source code inside a Clojure REPL instance
Update the project’s Clojure version
Monads are used in functional programming to build simple components. They are used to chain a series of operations in a safe way. Let’s look at the working of monads.
Create a monad and define the source file that will store unit tests
Run the code and take a look at the main code
Kotlin is first and foremost an OOP language. We will look at some of the basic concepts here. While Kotlin is a pure OOP language, it also supports procedural programming. So let’s begin, shall we?
Define classes, constructors and packages
Import members and add them to classes
Learn about inheritance and interfaces. Perform procedural programming
In this video, we will be building a simple desktop application in Kotlin, that makes use of the JavaFX GUI desktop toolkit.
Prepare the project and create runnable application
Write an extensible function. Implement a BorderPane-based layout
Implement animation and debug the program
As the Groovy language is largely compatible with the Java language, it's an easy language to learn for Java developers. Also, Groovy comes with a large library of classes that can be used to make the life of a developer Easier in the Groovy Development Kit
Learn OOP in Groovy, learn about access modifiers, properties, and POJO
Work with Groovy Strings and collections
JVM is responsible for interpreting Java bytecode and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But the increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages.
This Learning Path is a step-by-step guide which will walk you through the modern programming language: JVM. The course will start by giving you a basic understanding of JVM and its features, which are common to the JVM languages, helping you get abreast of its concepts. It will then dive into explaining languages such as 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 course, you will have written multiple programs that run on the JVM and will know the differences between both languages. Also you'll be able to Work with various programming paradigms and gain knowledge about imperative, object-oriented, and functional programming
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Introduction to JVM Languages - JVM, Java, Scala begin with a general introduction to the JVM and its features, which are common to the JVM languages, helping you get abreast of its concepts. It then dives into explaining languages such as Java and Scala and shows you how to work with each language, their features, use cases, and pros and cons. By writing example projects in these 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.
The Second course, Introduction to JVM Languages – Clojure, Kotlin, and Groovy starts 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 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.
About the Authors:
- This video is meant for programmers who are interested in the Java Virtual Machine (JVM) and want to learn more about the most popular programming languages that can be used for JVM development.