Why JVM will outlive java?

Preview:

Citation preview

Why JVM will outlive Java?

Hardware Architecture

Java Application

JVM

Operation System

Ram Lakshmanan

www.linkedin.com/in/ramlakshman/

What is Java? What is JVM?

• Java – programming language

• JVM - Translates the Java program into instructions and commands that run on the local operating system.

Hardware Architecture

Java Application

JVM

Operation System

Java & JVM

A.java Java Compiler(javac)

A.class (OS specific) JVM

Build Time Run Time

Write Once, Run Anywhere – Promise

Hardware Architecture x

Java Application

(OS-1) JVM

Operation System 1

Hardware Architecture y

Java Application

(OS-n) JVM

Operation System n

Just because of JVM

Ready for a Surprise?

• JVM knows nothing of the Java programming language

• It just knows of a particular binary format, the class file format.

Hardware Architecture

Java Application

JVM

Operation System

As long as you pass specified class format, JVM can execute it.

A.java Java Compiler(javac)

A.class (OS specific) JVM

A.scala Scala Compiler(scalac)

A.xyz XYZ Compiler

Languages that run on JVM

clojure

Language Java implementations

Ada JGNAT

BBx BBj is a superset of BBx, PRO/5, and Visual PRO/5.

C C to Java Virtual Machine compilers[2]

CFML

Adobe ColdFusion

Railo

Open BlueDragon

Common LispArmed Bear Common Lisp[3]

CLforJava

JavaScriptRhino

Nashorn

Pascal

Free Pascal

MIDletPascal

Oxygene

Perl 6 Rakudo Perl 6

PrologJIProlog

TuProlog

Python Jython

REXX NetRexx

Ruby JRuby

Scheme

Bigloo

Kawa

SISC

JScheme

Tcl Jacl

New languages with JVM implementations

Ateji PX

BBj

BeanShell

Ceylon

CFML

CAL

E

Fantom

Flow Java

Fortress

Frege

Frink

Gosu

Ioke

Jelly

Join JavaJoy

Judoscript

Kotlin

Mirah

NetLogoNice

Noop

Pizza

Pnuts

Processing

X10

Xtend

Popular Languages

and50+ languages

Why JVM will outlive Java?

• Java lost it’s primary focus - SimplicityoBut for GC and pointers, Java more or less has same amount of complexity

that C/C++ used to have.

• Not widely used in new developments (especially in startups). But strong contender in Enterprise world.

Job Trends – last 8 years

Other JVM languages eatingJava’s share

Note the decline

JVM – Universe’s most stable/Robust Execution Environment!

Opportunity to you!

• If you are a JVM Engineer. It doesn’t matter • What Language – Java, Scala, Groovy, Jruby, Clojure ….

• What Server – Tomcat, Resin, Jboss, Webshphere

• What Framework – Spring, Apache, Guava….

• You are going to be invaluable. You can • isolate performance bottlenecks

• keep production highly available – 99.999%

• Scale the Platform

10 million Java Developers. <3% know about JVM

JVM Engineers – Super Stars of Organization

Thank you!

• To learn more about JVM visit my blog: http://tier1app.com/

Recommended