The Evolution of Java

download The Evolution of Java

If you can't read please download the document

Transcript of The Evolution of Java

Oracle Cloud

Corneil du Plessis, @corneil, about.me/corneilChief Architect, JumpCoJohannesburg, 9th March 2016

The Evolution of Java

The Evolution of Java, Corneil du Plessis

In the beginning

Project OakJames Gosling, 1991

Smart appliances like
*7 (Star Seven)

Green Team & FirstPersonPatrick Naughton, Mike Sheridan

John Gage, Bill Joy

Lisa Friendly, Wayne Rosing, Jonni Kanerva

Tim Lindholm, Kim Polese, Scott McNealy

Java and the Internet

WebRunner / HotJava in 1994

In 1995 John Cage goes to Hollywood

James Gosling creates interactive applets

Java Timeline

Java 1.0 (January 23, 1996)

Java 1.1 (February 19, 1997)

Java Professional Edition 1998 became Enterprise edition.

J2SE 1.2 (December 8, 1998)

J2EE 1.2 (December 12, 1999)

J2SE 1.3 (May 8, 2000)

J2EE 1.3 (September 24, 2001)

J2SE 1.4 (February 6, 2002)

J2EE 1.4 (November 11, 2003)

J2SE 5.0 (September 30, 2004)

Java EE 5 (May 11, 2006)

Java SE 6 (December 11, 2006)

Java EE 6 (December 10, 2009)

Java SE 7 (July 28, 2011)

Java EE 7 (June 12, 2013)

Java SE 8 (March 18, 2014)

Java SE 9 (expected March 2017)

Java EE 8 (expected first half of 2017)

Design Goals of Java

Simple, Object-Oriented, Familiar

Robust and Secure

Architecture neutral and Portable

High Performance

Interpreted, threaded and dynamic

How did Java deal with the challenges?

Operator overloading was discarded early on.

James on optimisation

Embedded hardware.

Applets

Java ME in phones

Real-Time Specification for Java

Smart Cards

Java on Large Servers

Servers >500 CPUs

Your Desktop

Your phone

Your glasses

What next?

Important Language influences

Interfaces

Anonymous functions

assert

Generics

Annotations

Lambdas

Object Oriented Programming and Abstract Data Types

Design by Contract

Generics

Meta / Aspect Oriented programming

Functional Programming

Object Oriented Programming.SimulaSmallTalkC++ADADesign by ContractEiffel Bertrant MeyerC/C++ preprocessor MACROSGenericsML
ADAC++Eiffel

Important Platform changes

Java Enterprise Edition

Java Mobile Edition

Android

Important JVM changes

JIT and HotSpot

Improved Garbage Collectors

Impact from Azul and HPC

Impact from low latency trading

invokedynamic

Important Ecosystem influences

Apache

Eclipse

Groovy

Scala

Frameworks like Hibernate, Spring and Play

Ant, Maven, Gradle

Coming down the Pipeline

Java 9Jigsaw brings improved modularity

jshell brings REPL for interactive programming

Java 10Value Types

Generic specialization

Reified generics

Project Sumatra (no active development)Leveraging GPU / APU
Exposing GPU / APU

The Future of Java Community

Android on OpenJDK + ARM SoC

More functional programming

Reactive programming

Declarative programming

New JVM based languages.

Summary

Java and the Java Virtual Machine
will live long and prosper

Sources

A Brief History of the Green Project by James Gosling
http://java.sun.com/people/jag/green/index.html

The Story of the Java Platform on the java.sun.com Web site
http://java.sun.com//nav/whatis/storyofjava.html

Java: The Inside Story by Michael O'Connell in SunWorld Online
http://www.sun.com/sunworldonline/swol-07-1995/swol-07-java.html

The Java Saga by David Bank in Wired http://www.wired.com/wired/archive/3.12/java.saga.html

Copyright 2016, Oracle and/or its affiliates. All rights reserved. |

Copyright 2016, Oracle and/or its affiliates. All rights reserved. |

Click to edit Master title style

Click to edit Master subtitle style

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelClick to add presenters name, title, division/business unit/organization and date

16/03/09

Copyright 2016, Oracle and/or its affiliates. All rights reserved. |

Copyright 2016 Oracle and/or its affiliates. All rights reserved

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelClick to edit Master text styles

Click to edit title

Copyright 2016, Oracle and/or its affiliates. All rights reserved. |

Click to edit Master title style

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelClick to edit Master text stylesSecond levelThird levelFourth level

Fifth level

16/03/09

Copyright 2016, Oracle and/or its affiliates. All rights reserved. |

16/03/09

Copyright 2016 Oracle and/or its affiliates. All rights reserved

Click to edit Master title style

Click to edit Master subtitle style

16/03/09