London Java Community (LJC) Open Meeting Keynote - Nov 2015
-
Upload
steve-elliott -
Category
Software
-
view
147 -
download
0
Transcript of London Java Community (LJC) Open Meeting Keynote - Nov 2015
20#Years#of#Java#
Simon#Ri2er#(#@speakjava#)#Steve#Ellio2##(#@jaberwok#)##28th#November#2015#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. + whatever Simon says !
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 3#
2010…#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Objec&ve(C*NSFNET#decommissioned#1st#Wiki#SSL#2.0#NPAPI#.mp3#.png#
Church,'Eckert,'S-bitz,'Atanasoff,'Coombs,'Zuse…'
1995*
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
November#1995#–#Revised#!#1996#
“Sun'CEO'Sco<'McNealy'unsuccessfully'tried'to'coax'a'135Gpound'Greater'Swiss'Mountain'dog'called'Network'to'urinate'on'four'cardboard'fire'hydrants'labeled'DEC,'IBM,'HP'and'MicrosoR.”'
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Up to 115,200 bits/sec (in 1994 standard modem speed was V.34 – 28.8Kbits/sec) 802.11b wireless came in 1999 (The WiFi Alliance formed that year)
50 Mhz i486 8.4” screen 8Mb RAM (expandable to 24Mb) 250Mb Hard Disk PCMCIA slot Serial, parallel, VGA MS-DOS / Windows
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 9#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
The#beginning(s)…#• 1990#(December)##Green#Project#starts#• 1991#Development#of#Oak#starts#• 1992#(3rd#September)##Star7,#1st#demo#• 1993#FirstPerson#• 1994#WebRunner#• 1995#March#–#San#Jose#Mercury#aracle###########23rd#May#–#SunWorld#official#announcement###########1.0a2#on#the#web###########Netscape#Navigator#2.0#support#(September)#
• 1996#23rd#January#b#Java#1.0#Released###May#29th#b#First#JavaOne#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
1st#Public#Demo#TED#6#b#Monterey#February#22ndb25th#1995#
h<p://www.ch.ic.ac.uk/java/java_3.html'
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 12#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
(some)#Influences#on#Java#####(née#GreenTalk/Oak)#
Fortran
LISP
Clojure
Pascal (p-code)
Perl
C
PL/M Smalltalk
Java
occam
BASIC
Ruby
Scala
Coral
Algol
Ada
BCPL
Forth
Simula Modula
C++ Scheme
Objective C
Erlang
Haskell Python
Some info from http://en.wikipedia.org/wiki/Timeline_of_programming_languages & http://hopl.murdoch.edu.au/
VB
PHP
Groovy
LiveScript/JavaScript
Dart
Go
Mesa Cedar
B
Self (Hotspot)
Kotlin
Ceylon
Fantom
TypeScript
Swift
57*58*59*60*61*62*63*64*65*66*67*68*69*70*71*72*73*74*75*76*77*78*79*80*81*82*83*84*85*86*87*88*89*90*91*92*93*94*95*96*97*98*99*00*01*02*03*04*05*06*07*08*09*10*11*12*13*14*15*
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
(some)#Influences#on#Java#####(née#GreenTalk/Oak)#
Fortran
LISP
Clojure
Pascal (p-code)
Perl
C
PL/M Smalltalk
Java
occam
BASIC
Ruby
Scala
Coral
Algol
Ada
BCPL
Forth
Simula Modula
C++ Scheme
Objective C
Erlang
Haskell Python VB
PHP
Groovy
LiveScript/JavaScript
Dart
Go
Mesa Cedar
B
Self (Hotspot)
Kotlin
Ceylon
Fantom
TypeScript
Swift
57*58*59*60*61*62*63*64*65*66*67*68*69*70*71*72*73*74*75*76*77*78*79*80*81*82*83*84*85*86*87*88*89*90*91*92*93*94*95*96*97*98*99*00*01*02*03*04*05*06*07*08*09*10*11*12*13*14*15*
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 15#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Keep*it*simple**Language*stable*considering*****(*method*pointers*****(*parameterized*types**VM*Extension*for*other*languages*(one*day)**Performance**Security*
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 17#
Over#to#Simon…#
@speakjava#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Revealed:#The#Revenue#Plan#For#Java!#(Circa#1996)#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
The#Agent,#Becomes#Duke#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Early#Java#IDE#
Java#Workshop#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
The#Plahorm#Evolves#(1998)#• Java#becomes#Java#2#• Now#three#versions#
– Java#2#ME#(Micro#Ediaon)#– Java#2#SE#(Standard#Ediaon)#– Java#2#EE#(Enterprise#Ediaon)#
22#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
The#Java#Staaon#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
The#Java#Ring#
• Program#in#Java#– Subset#
• Compiles#to#JVM#bytecode#subset#• Runs#in#any#footprint#
– 10s#of#Kb#
• Java#Card#used#by#GSM#SIMs#
24#
Wearing*A*Java*Card*On*Your*Finger*
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 25#
Sun#SPOTS#
Squawk#VM#Running#on#the#bare#metal#
Java#ME#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 26#
A#Brief#History#Of#The#JDK#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 27#
Animals,#Other#Code#Names#And#Versioning…#
Release* Code*Name* Release*Date*1.1.4# Sparkler# 12th#September,#1997#1.1.5# Pumpkin# 3rd#December,#1997#1.1.6# Abigail# 24th#April,#1998#1.1.7# Brutus# 28th#September,#1998#1.1.8# Chelsea# 8th#April,#1999#1.2# Playground# 4th*December,*1998*1.2.1# bbbbb# 30th#March,#1999#1.2.2# Cricket# 8th#July,#1999#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 28#
Animals,#Other#Code#Names#and#Versioning…#
Release* Code*Name* Release*Date*1.3# Kestrel# 8th*May,*2000*1.3.1# Ladybird# 17th#May,#2001#1.4# Merlin# 13th#February,#2002#1.4.1# Hopper# 16th#September,#2002#1.4.2# Manas# 26th#June,#2003#5.0# Tiger# 29th*September,*2004*6# Mustang# 12th*December,*2006*7# Dolphin# 28th*July,*2011*
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
Features,#Features,#Features#• JDK#1.1:#Java#Beans,#RMI,#JIT,#Inner#classes#• JDK#1.2:#Swing,#Plugin,#IDL,#Collecaons,#strichp#• JDK#1.3:#HotSpot,#RMI/CORBA,#Java#Sound#• JDK#1.4:#JCP,#Webstart,#NIO,#Logging,#asseraons#• JDK#5.0:#Generics,#Autobboxing/unboxing,#Concurrency#ualiaes,#Annotaaons,#varargs,#staac#imports,#enumeraaons#
• JDK#6:#Scripang,#XML#and#Web#Services#• JDK#7:#Project#Coin,#Forkbjoin,#invokedynamic,#NIOb2,#JSR#166x#• JDK#8:#Lambdas,#streams,#DatebTime#API,#Type#Annotaaons,#Nashorn#
29#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 30#
Classes*In*The*JDK*Bigger#Means#Be2er!#
211#477#
1754#2104#
2991#3550#
4068# 4299#4515# 4544#
0#
1000#
2000#
3000#
4000#
5000#
1.02# 1.1# 1.2# 1.3# 1.4# 5# 6# 7# 8# 9#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#
A#Brief#Note#On#Deprecaaon#• @deprecated#was#introduced#in#JDK#1.1#(1996)#
• How#many#have#been#removed#since#JDK#1.1?#– Exactly#zero!#
31#
Element* Number*Deprecated*Interface# 18#Class# 23#Excepaon# 5#Method# 379#Constructor# 20#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 32#
(XX*Op&ons*In*the*Oracle*JVM*Bigger#Means#Be2er!#
159#224# 260#
343#410#
546#629# 623#
0#
100#
200#
300#
400#
500#
600#
700#
1.4# 1.4.1# 1.4.2# 5# 6# 7# 8# 9#
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|# 33#
“Write'Once,'Run'Anywhere”'
Copyright#©#2015,#Oracle#and/or#its#affiliates.#All#rights#reserved.##|#