SlideShare a Scribd company logo
1 of 55
Download to read offline
History of Java 
From its inception till about now... 
bit.ly/1e3yqGS
Who are we ? 
Mani Sarkar @theNeomatrix369 
Rafal Wicha @rafalwicha 
#historyofjavaparty
Disclaimer 
Ideas 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 Gosling 1990
Patrick Naughton 
© James Gosling 1990
Patrick Naughton 
Scott McNealy 
© James Gosling 1990
James Gosling 
Patrick Naughton 
© James Gosling 1990
Green Project 
Menlo Park, California 
© Google Maps 1991
Duke here... 
...and here 
1992
The Internet 
1993-95
Bill Joy 
1993-95 
Eric Schmidt
Marc Andreessen 
1995
Marc Andreessen 
1995
Marc Andreessen 
1995
© Google Maps 
Menlo Park, California
© Google Maps 
Oak maybe?
Silk 
DNA 
NetProse WebDancer 
1995
Silk 
DNA 
NetProse WebDancer 
1995
Silk 
DNA 
NetProse WebDancer 
1995
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 Explorer 
1997
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 Bloch 
Doug Lea 
1998
J2SE? 
● Java 2 Platform, Standard Edition 
● Java 2 Platform, Enterprise Edition 
● Java 2 Platform, Micro Edition 
1998
J2SE 1.3 (Kestrel) 
HotSpot 
2000
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 
2004 Brian Goetz Doug Lea
JSE 6 (Mustang) 
improvements & bug fixes 
performance 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 OpenJDK 
2010
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 
Rest of 
OpenJDK 
is released Oracle 
Sun 
launches 
OpenJDK 
(javac, 
Hotspot) 
adopts 
OpenJDK 
(Sun is 
acquired) 
2011 2012 2014 
Lambdas, 
Nashorn & 
Adopt 
OpenJDK 
OpenJDK: 
Reference 
implementation 
of Java 7 SE 
Java 10 
Java 8 
Java 9 
World-wide 
Community 
involvement
LJC & other Java communities 
LJC, SOUJava and other java communities world-wide collaborate to help improve Java! 
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!
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 runtime 
Project Nashorn
Java 8 (unofficially Spider) 
Date/Time API 
Money/Currency API 
off-heap objects 
new JavaScript runtime 
Project 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 runtime 
Project Nashorn 
PermGen removed 
annotations on Java type 
Compact profiles 
Generalized Target-Type 
Inference Lambdas
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... 
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! 
Feedback at @rafalwicha @theNeomatrix369

More Related Content

What's hot

What's hot (20)

The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
Java history 01
Java history 01Java history 01
Java history 01
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Java features
Java featuresJava features
Java features
 
Java introduction
Java introductionJava introduction
Java introduction
 
Evolution Of Java
Evolution Of JavaEvolution Of Java
Evolution Of Java
 
Evolution of java
Evolution of javaEvolution of java
Evolution of java
 
Learn Java Part 1
Learn Java Part 1Learn Java Part 1
Learn Java Part 1
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting Started
 
Evolution of java By Abbas khan
Evolution of java   By Abbas khan Evolution of java   By Abbas khan
Evolution of java By Abbas khan
 
History of java'
History of java'History of java'
History of java'
 
The Java Story
The Java StoryThe Java Story
The Java Story
 
Java and Java platforms
Java and Java platformsJava and Java platforms
Java and Java platforms
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Presentation on Core java
Presentation on Core javaPresentation on Core java
Presentation on Core java
 
Lec 3 01_aug13
Lec 3 01_aug13Lec 3 01_aug13
Lec 3 01_aug13
 
Java JVM
Java JVMJava JVM
Java JVM
 
Features of java
Features of javaFeatures of java
Features of java
 
02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java i
 
J2EE Struts with Hibernate Framework
J2EE Struts with Hibernate FrameworkJ2EE Struts with Hibernate Framework
J2EE Struts with Hibernate Framework
 

Similar to History of java

Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedSteve Dalton
 
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)Kaunas Java User Group
 
Java 8-streams-and-parallelism
Java 8-streams-and-parallelismJava 8-streams-and-parallelism
Java 8-streams-and-parallelismDeepak Shevani
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneHeather VanCura
 
Jozi-JUG JDK 9 Unconference
Jozi-JUG JDK 9 UnconferenceJozi-JUG JDK 9 Unconference
Jozi-JUG JDK 9 UnconferenceHeather VanCura
 
Join the Java Evolution Portland Oregon
Join the Java Evolution Portland OregonJoin the Java Evolution Portland Oregon
Join the Java Evolution Portland OregonHeather VanCura
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Jakarta_EE
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019The Eclipse Foundation
 
Adopt OpenJDK the past, the present & the future
Adopt OpenJDK  the past, the present & the futureAdopt OpenJDK  the past, the present & the future
Adopt OpenJDK the past, the present & the futureMani Sarkar
 
The brave new world of Java
The brave new world of JavaThe brave new world of Java
The brave new world of JavaPolyglotMeetups
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overviewJong Soon Bok
 
Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Mani Sarkar
 
Open Source가 바꾼 자바
Open Source가 바꾼 자바Open Source가 바꾼 자바
Open Source가 바꾼 자바Sungchul Park
 
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themesJava 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themesLucas Jellema
 
Join the Java Evolution Columbus Ohio
Join the Java Evolution Columbus OhioJoin the Java Evolution Columbus Ohio
Join the Java Evolution Columbus OhioHeather VanCura
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVAHome
 

Similar to History of java (20)

Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
 
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
 
Java History and Trends
Java History and TrendsJava History and Trends
Java History and Trends
 
Java 8-streams-and-parallelism
Java 8-streams-and-parallelismJava 8-streams-and-parallelism
Java 8-streams-and-parallelism
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & Pune
 
Jozi-JUG JDK 9 Unconference
Jozi-JUG JDK 9 UnconferenceJozi-JUG JDK 9 Unconference
Jozi-JUG JDK 9 Unconference
 
Join the Java Evolution Portland Oregon
Join the Java Evolution Portland OregonJoin the Java Evolution Portland Oregon
Join the Java Evolution Portland Oregon
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Adopt OpenJDK the past, the present & the future
Adopt OpenJDK  the past, the present & the futureAdopt OpenJDK  the past, the present & the future
Adopt OpenJDK the past, the present & the future
 
The brave new world of Java
The brave new world of JavaThe brave new world of Java
The brave new world of Java
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overview
 
Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)
 
Open Source가 바꾼 자바
Open Source가 바꾼 자바Open Source가 바꾼 자바
Open Source가 바꾼 자바
 
Java8 launch at AMIS Services / First8
Java8 launch at AMIS Services / First8Java8 launch at AMIS Services / First8
Java8 launch at AMIS Services / First8
 
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themesJava 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
 
Join the Java Evolution Columbus Ohio
Join the Java Evolution Columbus OhioJoin the Java Evolution Columbus Ohio
Join the Java Evolution Columbus Ohio
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVA
 
Java8 launch AMIS Services by Lucas Jellema
Java8 launch AMIS Services by Lucas Jellema Java8 launch AMIS Services by Lucas Jellema
Java8 launch AMIS Services by Lucas Jellema
 

More from Mani Sarkar

How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?Mani Sarkar
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG sessionMani Sarkar
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Mani Sarkar
 
Cli in the browser
Cli in the browserCli in the browser
Cli in the browserMani Sarkar
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraintsMani Sarkar
 
Refactoring developer habits
Refactoring developer habitsRefactoring developer habits
Refactoring developer habitsMani Sarkar
 
Essential technical skills
Essential technical skillsEssential technical skills
Essential technical skillsMani Sarkar
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...Mani Sarkar
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !Mani Sarkar
 
Adopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationAdopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationMani Sarkar
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Mani Sarkar
 
Java2 days 2013-lambda
Java2 days 2013-lambdaJava2 days 2013-lambda
Java2 days 2013-lambdaMani Sarkar
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofMani Sarkar
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code qualityMani Sarkar
 
Java2 days 2013-j-treg
Java2 days 2013-j-tregJava2 days 2013-j-treg
Java2 days 2013-j-tregMani Sarkar
 
Leaning on the two Ts
Leaning on the two TsLeaning on the two Ts
Leaning on the two TsMani Sarkar
 

More from Mani Sarkar (17)

How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
 
Cli in the browser
Cli in the browserCli in the browser
Cli in the browser
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
Kanban kata
Kanban kataKanban kata
Kanban kata
 
Refactoring developer habits
Refactoring developer habitsRefactoring developer habits
Refactoring developer habits
 
Essential technical skills
Essential technical skillsEssential technical skills
Essential technical skills
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !
 
Adopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationAdopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentation
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
 
Java2 days 2013-lambda
Java2 days 2013-lambdaJava2 days 2013-lambda
Java2 days 2013-lambda
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bof
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code quality
 
Java2 days 2013-j-treg
Java2 days 2013-j-tregJava2 days 2013-j-treg
Java2 days 2013-j-treg
 
Leaning on the two Ts
Leaning on the two TsLeaning on the two Ts
Leaning on the two Ts
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

History of java

  • 1. History of Java From its inception till about now... bit.ly/1e3yqGS
  • 2. Who are we ? Mani Sarkar @theNeomatrix369 Rafal Wicha @rafalwicha #historyofjavaparty
  • 3. Disclaimer Ideas 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!
  • 4. Agenda ● Java roots ● Platform evolution ● Open source ● People!
  • 6. Patrick Naughton © James Gosling 1990
  • 7. Patrick Naughton Scott McNealy © James Gosling 1990
  • 8. James Gosling Patrick Naughton © James Gosling 1990
  • 9. Green Project Menlo Park, California © Google Maps 1991
  • 10. Duke here... ...and here 1992
  • 12. Bill Joy 1993-95 Eric Schmidt
  • 16. © Google Maps Menlo Park, California
  • 17. © Google Maps Oak maybe?
  • 18. Silk DNA NetProse WebDancer 1995
  • 19. Silk DNA NetProse WebDancer 1995
  • 20. Silk DNA NetProse WebDancer 1995
  • 23. JDK 1 ● safe & secure ● distributed & robust ● interpreted, garbage collected ● multi-threaded ● architecture neutral ● high performance Gosling’s goals for Java 1996
  • 24. 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
  • 25. Different implementations & misunderstanding Sun-Microsoft misunderstanding Java CVM HotSpot Microsoft-JVM Visual-J++ Windows Internet Explorer 1997
  • 26. JDK 1.1 ● inner classes f(x) = new Fun() { apply(x) { x * x }} ● JavaBeans ● JDBC ● RMI ● reflection ● JIT (Microsoft VM) 1997
  • 27. J2SE 1.2 (Playground) ● Sun’s JIT virtual machine ● Swing ● Collections Joshua Bloch Doug Lea 1998
  • 28. J2SE? ● Java 2 Platform, Standard Edition ● Java 2 Platform, Enterprise Edition ● Java 2 Platform, Micro Edition 1998
  • 29. J2SE 1.3 (Kestrel) HotSpot 2000
  • 30. J2SE 1.4 (Merlin) ● regular expressions ● exception chaining ● NIO 2002
  • 31. J2SE 5.0 (Tiger) ● generics ● annotations ● autoboxing ● enums ● varargs ● for each ● static imports 2004
  • 32. Philip Wadler Martin Odersky Gilad Bracha Dave Stoutamire 2004
  • 33. J2SE 5.0 - java.util.concurrent ● executors ● concurrent collections ● atomic variables ● synchronisers ● new lock variants 2004 Brian Goetz Doug Lea
  • 34. JSE 6 (Mustang) improvements & bug fixes performance improvements OpenJDK was partially released (javac, HotSpot) 2006
  • 36. OpenJDK was fully released (rest of the components) 2007
  • 37. 2007-2010 NULL (pausing, and thinking….)
  • 38. Java goes to Oracle IBM willing to acquire Sun Oracle acquires Sun Oracle adopts OpenJDK 2010
  • 39. Another misunderstanding Google vs Oracle misunderstandings 2010
  • 40. JSE 7 (Dolphin) 2011 ● invokedynamic (JRuby, Groovy) ● strings in switch, try-with-resources, diamond operator (<>), multi-catch ● ForkJoin OpenJDK is the reference implementation
  • 41. OpenJDK history... 2006 2007 2010 Beyond Rest of OpenJDK is released Oracle Sun launches OpenJDK (javac, Hotspot) adopts OpenJDK (Sun is acquired) 2011 2012 2014 Lambdas, Nashorn & Adopt OpenJDK OpenJDK: Reference implementation of Java 7 SE Java 10 Java 8 Java 9 World-wide Community involvement
  • 42. LJC & other Java communities LJC, SOUJava and other java communities world-wide collaborate to help improve Java! 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!
  • 43. 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
  • 45. Java 8 (unofficially Spider) Date/Time API
  • 46. Java 8 (unofficially Spider) Date/Time API Money/Currency API
  • 47. Java 8 (unofficially Spider) Date/Time API Money/Currency API off-heap objects
  • 48. Java 8 (unofficially Spider) Date/Time API Money/Currency API off-heap objects new JavaScript runtime
  • 49. Java 8 (unofficially Spider) Date/Time API Money/Currency API off-heap objects new JavaScript runtime Project Nashorn
  • 50. Java 8 (unofficially Spider) Date/Time API Money/Currency API off-heap objects new JavaScript runtime Project Nashorn PermGen removed annotations on Java type Compact profiles Generalized Target-Type Inference
  • 51. Java 8 (unofficially Spider) Date/Time API Money/Currency API off-heap objects new JavaScript runtime Project Nashorn PermGen removed annotations on Java type Compact profiles Generalized Target-Type Inference Lambdas
  • 53. Java touches our lives in many ways, we just may not be aware of it, but Java is everywhere!
  • 54. Summary ● About the creators ● Early excitement & survivors ● Difficulties & misunderstandings ● Minor & major improvements ● Open source & community activities
  • 55. Thanks to... 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! Feedback at @rafalwicha @theNeomatrix369