History of java
-
Upload
mani-sarkar -
Category
Software
-
view
49 -
download
0
description
Transcript of History of java
History of JavaFrom its inception till about now...
bit.ly/1e3yqGS
Who are we ?
Mani Sarkar @theNeomatrix369Rafal Wicha @rafalwicha
#historyofjavaparty
DisclaimerIdeas and opinions expressed here are only ours and you can certainly NOT hold us to it. YMMV.
We’ve done our best to summarise more than 23 years of Java’s history.
And FYI Java is the best platform ever!
Agenda
● Java roots ● Platform evolution● Open source● People!
© James Gosling1990
Patrick Naughton
© James Gosling1990
Patrick Naughton
Scott McNealy
© James Gosling1990
Patrick Naughton
James Gosling
© James Gosling1990
© Google Maps1991
Menlo Park, California
Green Project
Duke here...
...and here
1992
The Internet
1993-95
Bill JoyEric Schmidt
1993-95
Marc Andreessen
1995
Marc Andreessen
1995
Marc Andreessen
1995
© Google Maps
Menlo Park, California
© Google Maps
Oak maybe?
Silk
DNA
WebDancerNetProse1995
Silk
DNA
WebDancerNetProse1995
Silk
DNA
WebDancerNetProse1995
May 1995
ALPHA
Jan 1996
JDK 1
● safe & secure● distributed & robust● interpreted, garbage collected● multi-threaded● architecture neutral ● high performance Gosling’s goals for Java
1996
Different implementations of Java
JRocket IcedTea ChaiVM Zing Dalvik
SAPJVM OJVM IKVM.NET Zulu CloudVM-for-Java Harmony JBuilder
Visual-Cafe Microsoft-JVM JavaOS
Java-Chip LLVM Visual-J++ Java CVM HotSpot J9 Classic-JVM
1995-2014
Different implementations & misunderstanding
Sun-Microsoft misunderstanding
Java CVM HotSpot Microsoft-JVM
Visual-J++ Windows
Internet Explorer1997
JDK 1.1
● inner classes f(x) = new Fun() { apply(x) { x * x }}
● JavaBeans● JDBC● RMI● reflection● JIT (Microsoft VM)
1997
J2SE 1.2 (Playground)● Sun’s JIT virtual machine● Swing
● Collections
Joshua BlochDoug Lea
1998
J2SE?
● Java 2 Platform, Standard Edition● Java 2 Platform, Enterprise Edition● Java 2 Platform, Micro Edition
1998
J2SE 1.3 (Kestrel)
HotSpot2000
J2SE 1.4 (Merlin)
● regular expressions● exception chaining● NIO
2002
J2SE 5.0 (Tiger)
● generics● annotations● autoboxing● enums● varargs● for each● static imports
2004
Philip Wadler Martin Odersky Gilad Bracha Dave Stoutamire
2004
J2SE 5.0 - java.util.concurrent
● executors● concurrent collections● atomic variables● synchronisers● new lock variants
Doug LeaBrian Goetz2004
JSE 6 (Mustang)
improvements & bug fixesperformance improvements
OpenJDK was partially released (javac, HotSpot)
2006
Sun-Apache difficulty over TCK
2006
OpenJDK was fully released (rest of the components)
2007
2007-2010 NULL
(pausing, and thinking….)
Java goes to Oracle
IBM willing to acquire Sun Oracle acquires Sun
Oracle adopts OpenJDK2010
Another misunderstanding
Google vs Oracle misunderstandings
2010
JSE 7 (Dolphin) 2011
● invokedynamic (JRuby, Groovy)● strings in switch, try-with-resources,
diamond operator (<>), multi-catch● ForkJoin
OpenJDK is the reference implementation
OpenJDK history...2006 2007 2010 Beyond
Sun launches OpenJDK(javac, Hotspot)
Rest of OpenJDK
is released Oracle adopts OpenJDK(Sun is acquired)
Lambdas, Nashorn & Adopt OpenJDK
OpenJDK:Reference implementation of Java 7 SE
Java 10
Java 9
2011 2012 2014
Java 8
World-wide Community involvement
LJC & other Java communities
London Java Community wins the Duke’s Choice award at JavaOne 2012, contributions through the the Adopt OpenJDK and Adopt-a-JSR programs lead to it!
LJC, SOUJava and other java communities world-wide collaborate to help improve Java!
OpenJDK hackdays...London Java Community
organises hackdays every month, come along to contribute to the Java ecosystem.
Everyone is welcome, more details on LJC’s Meetup.com page
Java 8 (unofficially Spider)
Java 8 (unofficially Spider)
Date/Time API
Java 8 (unofficially Spider)
Date/Time API
Money/Currency API
Java 8 (unofficially Spider)
Date/Time API
Money/Currency API
off-heap objects
Java 8 (unofficially Spider)
Date/Time API
Money/Currency API
off-heap objects
new JavaScript runtime
Java 8 (unofficially Spider)
Date/Time API
Money/Currency API
off-heap objects
new JavaScript runtimeProject Nashorn
Java 8 (unofficially Spider)
Date/Time API
Money/Currency API
off-heap objects
new JavaScript runtimeProject Nashorn
PermGen removed
annotations on Java type
Compact profiles
Generalized Target-Type Inference
Java 8 (unofficially Spider)
Date/Time API
Money/Currency API
off-heap objects
new JavaScript runtimeProject Nashorn
PermGen removed
annotations on Java type
Compact profiles
Generalized Target-Type InferenceLambdas
Source: Oracle, 2011
Java touches our lives in many ways, we just may not
be aware of it, but Java is everywhere!
Summary● About the creators● Early excitement & survivors● Difficulties & misunderstandings● Minor & major improvements● Open source & community activities
Thanks to...
Feedback at @rafalwicha @theNeomatrix369
All the PEOPLE behind the inception & development of Java from its start.
LJC for supporting the Java spirit in London.
Gamesys and the organisers of this evening event!
But above all you, Java developers!