If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this video is for you.The video 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 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 Java Virtual Machine and know about the differences between the various languages.
About the Author :
Vincent van der Leun is a software engineer living in the city of Utrecht in The Netherlands. Programming since the age of 8, he has worked with many different languages and platforms over the years. Rediscovering Java a few years ago, he loved it so much that he became an Oracle Certified Professional, Java 7 Programmer, and started the JVM Fanboy blog. Currently he works for CloudSuite, a company specializing in modern ecommerce solutions. At CloudSuite he works on various backend systems and web services, writes JavaScript code for frontend applications, supports consultants by providing complex SQL queries, and consumes coffee while having design-related discussions with fellow developers.
Clojure
This video provides an overview of the entire course.
In this video, we will get started with Clojure by installing it and creating a start script.
Before starting, we will look at the REPL shell and learn all about the Clojure language in this video.
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.
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.
Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet
Clojure Programming
To add Clojure support to Eclipse IDE, a plugin is required. In the Clojure world, this plugin is called Counterclockwise.
Leiningen is the de facto build tool used for Clojure development. So it is important to learn about it.
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.
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.
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.
Luminus is a microframework for quickly building powerful web applications in Clojure.
Now that you are done with the videos of section 2, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet
Kotlin
Our first step as always is to install the required software. In this video, we will install Kotlin.
Kotlin also has a REPL interactive shell that can be used to try Kotlin snippets interactively. Let’s have some fun with it!
We need to know the fundamentals of the Kotlin language before starting programming in it. This video will give us an insight of the Kotlin language.
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
Now that you are done with the videos of section 3, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet
Kotlin Programming
There is a Kotlin plugin available for Eclipse IDE to make things easy for us. Let’s explore it in this section.
Apache Maven is a famous build tool and is used by Kotlin developers. Hence it becomes essential for us to know about it.
In this video, we will be building a simple desktop application in Kotlin, that makes use of the JavaFX GUI desktop toolkit.
Now that you are done with the videos of section 4, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet
Groovy
Installing Groovy is not much different from the other languages covered so far. So let’s do it in this video.
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
There is a difference between static and dynamic programming. Let’s look at it in this video.
Groovy Programming
Groovy Eclipse, the plugin that adds Groovy support to Eclipse IDE, is on the Eclipse Marketplace. Let’s use it in our course.
Groovy has a built-in dependency manager called Grape, but it has issues when using it within Groovy Eclipse. Therefore, we will be using Apache Ivy for our dependency management in this section.
Now that we have installed all required plugins in Eclipse IDE, we can create the project.
The Java Database Connectivity (JDBC) standard is a standard that makes it possible to access Database management system (DBMS) servers in JVM applications. We will learn about it in this video.
Groovy's XML MarkupBuilder class is an example of a class that has been created using Groovy's dynamic programming features. We will work with it in this video.
Vert.x is a modern micro web service framework for the JVM platform. It has high performance and scalability.
Now that you are done with the videos of section 6, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet