is an agile standard possible for java?
TRANSCRIPT
![Page 1: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/1.jpg)
© Copyright Azul Systems 2017
© Copyright Azul Systems 2015
@speakjavaazul.com
Is An Agile StandardFor Java Possible?
Simon RitterDeputy CTO, Azul Systems
1
![Page 2: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/2.jpg)
© Copyright Azul Systems 2017
![Page 3: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/3.jpg)
© Copyright Azul Systems 2017
Waterfall vs. Agile
Requirements/Design/Implement/Test
Agileiteration 1
Agileiteration 2
Agileiteration 3
Agileiteration n
Waterfall
Agile
![Page 4: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/4.jpg)
© Copyright Azul Systems 2017
Agile Manifesto Applied To Java1. Satisfy the customer through early and continuous delivery
of valuable software2. Welcome changing requirements, even late in development3. Deliver working software frequently7. Working software is the measure of progress8. Agile processes promote sustainable development10. Continuous attention to technical excelllence and good
design enhances agility
![Page 5: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/5.jpg)
© Copyright Azul Systems 2017
1995
![Page 6: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/6.jpg)
© Copyright Azul Systems 2017
1997
Sun Microsystems sues Microsoft over Java implementation in IE4
![Page 7: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/7.jpg)
© Copyright Azul Systems 2017
1998
![Page 8: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/8.jpg)
© Copyright Azul Systems 2017
1999
18
![Page 9: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/9.jpg)
© Copyright Azul Systems 2017
JCP Golden TriangleSpecifications (JSRs)
ReferenceImplementation (RI)
TechnologyCompatibility Kit
(TCK)
Can you build it?Is the spec.
unambiguous?
Does the RI conform to the spec?
![Page 10: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/10.jpg)
© Copyright Azul Systems 2017
2005-2011
Apache Harmony
![Page 11: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/11.jpg)
© Copyright Azul Systems 2017
2006
javac Hotspot
![Page 12: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/12.jpg)
© Copyright Azul Systems 2017
2007
(Almost) all remaining codeOpenJDK 7 b53 (2009)
100% open source
![Page 13: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/13.jpg)
© Copyright Azul Systems 2017
2007-2017: 10 Years Of OpenJDK
![Page 14: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/14.jpg)
© Copyright Azul Systems 2017
OpenJDK Binary Distributions
Internal only
Java SEreference
implementation
![Page 15: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/15.jpg)
© Copyright Azul Systems 2017
JDK 8
DocLint
Base64 Encoding/decoding
Streams APIRemove permgen
Lambdas Nashorn
Repeating annotations
Extension methods
Compact Profiles
Date and Time API
Optional
Annotations on types
Compact stringsScalable update variables
![Page 16: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/16.jpg)
© Copyright Azul Systems 2017
JDK 9
jlink
Enhanced deprecation
REPL: jshellStream enhancements
ModularityConcurrency
updates
Variable Handles
Factory methods for Collections
Spin-Wait Hints
G1 Default Collector
Milling Project Coin
Better stack walking
Compact stringsPrivate methods in interfaces
![Page 17: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/17.jpg)
© Copyright Azul Systems 2017
Making OpenJDK More Agile JDK Enhancement Proposals Introduced in JDK 8
– Smaller pieces of work than a full JSR– Also covers things not covered by Java SE spec.
JDK 8 had 56 JEPs (u20 had 2, u40 had 12, u60 had 2) JDK 9 has 89 JEPs Provides a roadmap
– Intended to extend at least 3 years into the future
![Page 18: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/18.jpg)
© Copyright Azul Systems 2017
JEP 2.0 Process
![Page 19: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/19.jpg)
© Copyright Azul Systems 2017
Issues Creating point releases is great
– New functionality delivered rapidly What about the spec? What about the TCK? How to build and ship conformant implementations?
19
![Page 20: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/20.jpg)
© Copyright Azul Systems 2017
Incubator Modules (JEP 11) Develop APIs without making them part of the standard
– At least not straight away Allow developers to “kick the tyres”
– Not always possible to get a new API right first time Move from incubator to full module
– Becomes part of the standard JDK 9 only has one incubator: HTTP/2 (JEP 110) Some concerns about fragmentation--do-not-resolve-by-default
20
![Page 21: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/21.jpg)
© Copyright Azul Systems 2017
Summary Java has followed a winding road to open source and open
standards Developed through JCP and JDK Enhancement Proposals
– Not driven entirely by Oracle, community involvement Potentially the Java platform could become more agile
– This is not without its challenges Java will continue to be the world’s most popular
development platform
21
![Page 22: Is An Agile Standard Possible For Java?](https://reader035.vdocuments.mx/reader035/viewer/2022062401/58ce61bf1a28ab2f268b5963/html5/thumbnails/22.jpg)
© Copyright Azul Systems 2017
© Copyright Azul Systems 2015
@speakjavaazul.com
Thank You!
Simon RitterDeputy CTO, Azul Systems
22