Learn Java for Web Development

(Tina Meador) #1

2 CHAPTER 1: Introducing Java Web Development


Note The JVM languages represent a new category of languages that run on the JVM. With the latest
version, Java 8, Java is no longer a privileged JVM language and is now simply one of the many languages
that run on the JVM.

Table 1-1. Languages Designed for the JVM


Language Designed for JVM Description

Clojure^6 Clojure is a dynamically typed, functional language.
Groovy Groovy is a dynamic, compiled language with syntax similar to Java but is
more flexible.
Java Java is a statically typed, imperative language. The latest release of Java,
Java 8, supports aspects of functional programming.
Scala Scala is a statically typed, compiled language that supports aspects of
functional programming and performs a large amount of type inference,
much like a dynamic language.

The chapter begins by introducing the JVM languages and then introduces Java EE. The Java
EE platform is the set of API specifications that act as the building blocks for developing web
applications. The chapter then highlights the Java web frameworks, which will be the subject of the
book from Chapter 4 onward.


JVM Languages


The JVM is the runtime environment that provides you with the ability to use different programming
languages for building web applications. The JVM languages can be largely classified into two types:
languages that are designed for the JVM and existing languages that are ported to JVM.


Languages Designed for the JVM

Plenty of languages are specifically designed for the JVM; Table 1-1 describes a few of them. All but
Clojure are discussed in this book.


Here are some important definitions:


   Dynamic typing: Dynamic typing keeps track of information about what sort of
values the variables contain by carrying the type information on the values held
in variables.
 Static typing: In static typing, the type information is all about the variables, not
the values in them.

(^6) http://clojure.org/

Free download pdf