Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
A Comprehensive Guide to JVM Languages: 2 in 1
Rating: 4.4 out of 5(6 ratings)
93 students

A Comprehensive Guide to JVM Languages: 2 in 1

Your one-stop guide to learn JVM languages - Java, Scala, Clojure, Kotlin & Groovy
Last updated 10/2018
English

What you'll learn

  • 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
  • Boost your knowledge about dialects of other well-known programming languages that run on the JVM, including JavaScript, Python, and Ruby

Course content

2 sections50 lectures7h 10m total length
  • The Course Overview4:11

    This video gives an overview of the entire course.

  • Why Develop on JVM?6:40

    Here, we will look at the reasons to develop our project on JVM.

    • Look at popular features of Java

    • Create an application using a JVM application server, high-level web application framework, and a micro-service framework

  • Popular Use Cases3:23

    We have learnt the importance of JVM. Here we will look at some places where its usage is popular.

    • Explore web applications, big data, and IoT

  • JVM Concepts and Java Editions13:32

    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

  • Other Languages on JVM3:45

    This video will provide options on other languages on JVM besides Java.

    • Look at the reasons for not selecting Java

    • Mix JVM languages in a project

  • JDK10:10

    JDK installation is important for JVM developers. It contains some development tools that are essential for application development.

    • Install and explore JDK

    • Install JRE

  • Class Organization with Packages4:18

    Interoperability between classes is enabled by class organization in JVM. Let’s learn about that in this video.

    • Understand packages

    • Work with packages

  • Java Class Library15:07

    Java Class Library is a huge collection of pre-built classes like toolkits, input output libraries, and so on.

    • Look at the Java Class Library organization

    • Understand packages and work with the java.lang package

    • Prepare classes for the Collections API

  • Running JVM Applications on the Command Line10:56

    Running JVM applications on command line is a complex topic. There are a few rules that must be followed before we run the code. Let’s look at them.

    • Take a look at the rules

    • Perform a hand-on demonstration in Java

  • Eclipse IDE4:08

    Coding Java in a simple text editor is difficult. Hence, we have the Eclipse IDE which provides us with additional features.

    • Download and install Eclipse IDE

  • OOP in Java21:19

    To use Java, you need to understand OOP. This section will refresh your memory regarding OOP concepts.

    • Understand OOP related subjects like classes, packages, variables, methods, and so on

    • Work with inheritance, interfaces, and upcasting and downcasting

  • Writing Java Code15:07

    After understanding the concepts, we will now start writing Java code to implement classes. We will look at concepts here that will guide you in the process.

    • Look at Java concepts like operators, Conditional checks, arrays, collections, threads and lambdas.

  • Configuring Eclipse IDE2:06

    We need to configure Eclipse as per our requirements to have more control over our application.

    • Add the Gradle feature to the EclipseIDE

  • Creating a Web Service in Java23:39

    In this video, we will create a simple web service in Java using the test-driven development approach.

    • Create the project and modify the Gradle build file

    • Code the backend and web service code

  • Scala Installation and REPL Shell3:35

    This video will provide you with the installation of Scala and working of the Scala REPL shell.

    • Install Scala and go through the Scala documentation

  • Functional Versus Imperative Programming2:46

    We need to understand the difference between functional and imperative programming to know which one to use when.

    • Write a class in functional and imperative ways and compare

  • Scala Language Syntax and Rules5:18

    Before starting working in Scala, we need to know the Scala syntax and rules.

    • Learn static typing in Scala

    • Look at mutable and immutable variables

    • Understand the common Scala types

  • OOP in Scala13:43

    In this video, we will learn how to write OOP in Scala.

    • Define packages, subpackages, and import members

    • Define classes, instance variables and methods

    • Learn about constructors, extending a class, method overloading, and so on

  • Scala's Standard Library7:02

    Now that we have discussed OOP thoroughly, let's start writing classes and methods that do something useful.

    • Work with generics, collections, and XML processing

  • Functional Programming in Scala5:56

    Functional programming is different from imperative programming. Let’s see how functional programming works with Scala.

    • Iterate through collection using functions

    • Understand the map, filter, and reduce design pattern

  • Scala IDE for the Eclipse Plugin3:47

    Eclipse IDE does not come with Scala support. We need to install the plugin to run Scala.

    • Install Scala IDE for Eclipse

    • Switch to the Scala IDE perspective

  • SBT9:37

    Scala has its own built tool, SBT. We will add Eclipse support to SBT.

    • Install SBT and create a new SBT-based project

    • Add the SBT plugin to add Eclipse-related commands

    • Work with scalac

  • Creating an Akka Project25:32

    Akka is a modular toolkit for creating robust, distributed applications. Let’s create one here.

    • Add Akka dependency to SBT build file

    • Create an Akka actor – QuotesHandlerActor

    • Implement a message handler and wrap it up in the main application

  • Test Your Knowledge

Requirements

  • Basic practical knowledge of a modern programming language that supports object-oriented programming (JavaScript, Python, C#, VB .NET, and C++) is assumed.

Description

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: 

  • 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 e-commerce solutions. At CloudSuite he works on various back-end systems and web services, writes JavaScript code for front-end applications, supports consultants by providing complex SQL queries, and consumes coffee while having design-related discussions with fellow developers.

Who this course is for:

  • 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.