Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Is An Agile Standard Possible For Java?

2,456 views

Published on

Keynote presentation delivered at Voxxed Days Bristol 2017, examining how Java standards are developed and how this may change in the future.

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Is An Agile Standard Possible For Java?

  1. 1. © Copyright Azul Systems 2017 © Copyright Azul Systems 2015 @speakjava Is An Agile Standard For Java Possible? Simon Ritter Deputy CTO, Azul Systems 1
  2. 2. © Copyright Azul Systems 2017
  3. 3. © Copyright Azul Systems 2017 Waterfall vs. Agile Requirements/Design/Implement/Test Agile iteration 1 Agile iteration 2 Agile iteration 3 Agile iteration n Waterfall Agile
  4. 4. © Copyright Azul Systems 2017 Agile Manifesto Applied To Java 1. Satisfy the customer through early and continuous delivery of valuable software 2. Welcome changing requirements, even late in development 3. Deliver working software frequently 7. Working software is the measure of progress 8. Agile processes promote sustainable development 10. Continuous attention to technical excelllence and good design enhances agility
  5. 5. © Copyright Azul Systems 2017 1995
  6. 6. © Copyright Azul Systems 2017 1997 Sun Microsystems sues Microsoft over Java implementation in IE4
  7. 7. © Copyright Azul Systems 2017 1998
  8. 8. © Copyright Azul Systems 2017 1999
  9. 9. © Copyright Azul Systems 2017 JCP Golden Triangle Specifications (JSRs) Reference Implementation (RI) Technology Compatibility Kit (TCK) Can you build it? Is the spec. unambiguous? Does the RI conform to the spec?
  10. 10. © Copyright Azul Systems 2017 2005-2011 Apache Harmony
  11. 11. © Copyright Azul Systems 2017 2006 javac Hotspot
  12. 12. © Copyright Azul Systems 2017 2007 (Almost) all remaining code OpenJDK 7 b53 (2009) 100% open source
  13. 13. © Copyright Azul Systems 2017 2007-2017: 10 Years Of OpenJDK
  14. 14. © Copyright Azul Systems 2017 OpenJDK Binary Distributions Internal only Java SE reference implementation
  15. 15. © Copyright Azul Systems 2017 JDK 8 DocLint Base64 Encoding/decoding Streams API Remove permgen Lambdas Nashorn Repeating annotations Extension methods Compact Profiles Date and Time API Optional Annotations on types Compact strings Scalable update variables
  16. 16. © Copyright Azul Systems 2017 JDK 9 jlink Enhanced deprecation REPL: jshell Stream enhancements Modularity Concurrency updates Variable Handles Factory methods for Collections Spin-Wait Hints G1 Default Collector Milling Project Coin Better stack walking Compact strings Private methods in interfaces
  17. 17. © 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
  18. 18. © Copyright Azul Systems 2017 JEP 2.0 Process
  19. 19. © 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
  20. 20. © 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
  21. 21. © 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
  22. 22. © Copyright Azul Systems 2017 © Copyright Azul Systems 2015 @speakjava Thank You! Simon Ritter Deputy CTO, Azul Systems 22

×