4. The Road to Java
•History
•Present
•Future
www.hujak.hr
4
5. Where are we now?
Some facts for 2014
•Java SE
•JDK 8 launched
•JDK 9 under construction
•...
•Java EE
•over 15 compatible app servers
•JSR 366 approved
•...
•Java Embedded
•Java ME 8 release
•ports for SoCs
•…
•Community
•OpenJDK Java SE 8 RI released
•Java SE 9 project created
•314 JUGs (37% more)
•conferences
•…
www.hujak.hr
5
6. Java outreach 2014 in numbers
•Java 8 Roadshow – 20 countries, 5000+ JUG members, 140.000 on-demand views
•NightHacking Tour – 40 visits, 7000+ developers, 150.000 on-demand views
•Java Evangelism – 75+ events, 25+ Hands on Labs, participating over 1 conference per week
www.hujak.hr
6
7. What's in Java 8?
•Lambdas – modernizing Java Language, biggest upgrade ever to the Java programming model
www.hujak.hr
7
8. Java EE
•We already know Java EE 7 well
•Productivity – Annotated POJOs, less boilerplate code, integrated, tools ecosystem ..
•Scalability – multithreaded, asynchronous APIs (Servlet, EJB, JAX-RS), concurrency utilities …
•HTML5-readyness – JSON, WebSockets, JAX-RS …
•Enterprise demands – Java Message Service, Batch processing, distributed transactions …
•Community Driven Industry Standard
•But what we really use???
www.hujak.hr
8
9. Tools in development
www.hujak.hr
9
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Profiler
Code Quality Analysis
Continuous Integration
Debugger
Issue Tracker
Version Control
IDE
37%
45%
68%
71%
79%
91%
97%
•Which tools we really use and how much?
Source: Developer Productivity Report 2013, ZeroTurnaround, 2013.
10. IDEs
www.hujak.hr
0%
10%
20%
30%
40%
50%
Other
STS
NetBeans
IntelliJ IDEA
Eclipse
5%
4%
10%
33%
48%
10
•Which IDE do we use most?
Source: Java Tools & Technologies 2014, Rebellabs, ZeroTurnaround, May 2014
14. What we use mostly?
www.hujak.hr
14
Java SE 7
65%
SE version
Source: Java Tools & Technologies 2014, Rebellabs, ZeroTurnaround, May 2014
Java EE 6
49%
EE version
Eclipse
48%
IDE
Hibernate
67%
ORM
Tomcat
50%
App server
Spring MVC
40%
Web fw
Jenkins
70%
CI
Git
69%
VCS
FindBugs
55%
CA
Maven
64%
Build
MySQL
65%
SQL DB
MongoDB
56%
NoSQL DB
15. Java 6 26%
Java 7 69%
Java 8
3%
Other 2%
Present & future
•Which Java platform are you using (Typesafe, Oct 2014)?
•Which Java platform are you using (Rebelabs, May 2014)?
www.hujak.hr
15
Source: Java 8 Survey, Typesafe, October 2014 & Java Tools & Technologies 2014, Rebellabs, ZeroTurnaround, May 2014
Java 5 2%
Java 6 26%
Java 7 65%
Java 8 7%
68% is using Java SE + Java EE!
16. J2EE 5%
Java EE 5 11%
Java EE 6 49%
Java EE 7 35%
Present & future #2
•Which Java EE platform are you using?
•If you are using Java 6 what is your plan?
www.hujak.hr
16
Source: Java Tools & Technologies 2014, Rebellabs, ZeroTurnaround, May 2014 & Java 8 Survey, Typesafe, February 2014
Java 6 23%
Java 7 41%
Java 8 33%
Java 9 3%
17. Java 8 – when & how?
•If you plan to upgrade to Java 8 – when?
•How do you now use Java 8?
www.hujak.hr
17
0-6 mo. 29%
6-12 mo. 25%
12+ mo. 13%
Not yet 33%
On Java 8 27%
0-6 mo. 21%
6-12 mo. 15%
12+ mo. 10%
Not yet 26%
Pilot/ testing 40%
Staging/ planning produ- ction 36%
In produ- ction 21%
Other 3%
Source: Java 8 Survey, Typesafe, February & October 2014
Feb 2014 Oct 2014
18. How to learn Java 8?
•New Java 8 MOOC course coming in 2015
•Books?
www.hujak.hr
18
19. Java 8 – features
•Which features do you find most interesting?
www.hujak.hr
19
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Other
JDBC 4.2
Enhance javac to Improve Build Speed
Nashorn JavaScript Engine
Remove the Permanent Generation
Date & Time API
Concurency Updates
Bulk Data Operation for Collections
Enhance Core Libraries with Lambda
Lambda Expressions & Virtual Extension Methods
2%
2%
8%
9%
10%
15%
16%
17%
30%
83%
Source: Java 8 Survey, Typesafe, February 2014
20. Java 8 – Lambdas?
•Do you use Lambdas?
•Opinion after use of Lambdas?
www.hujak.hr
20
Using Lambdas 45%
Exploring Lambdas 51%
What are Lambdas? 4%
More interested 68%
Less interested 9%
No opinion / not using 23%
Source: Java 8 Survey, Typesafe, February & October 2014
21. Functional Programming & Scala
•Interested in Functional Programming?
•Impact of Lambdas on Scala adoption?
www.hujak.hr
21
Using FP 47%
Exploring FP 49%
What is FP? 4%
Positive 60%
Negative 22%
No opinion 16%
What are Lambdas? 2%
Source: Java 8 Survey, Typesafe, February & October 2014
28. Java 9 – interest & features
•Interest in Java 9?
•Which Java 9 features?
www.hujak.hr
28
Zero 8%
Mild 32%
Average 32%
Strong 28%
Source: Java 8 Survey, Typesafe, October & October 2014
0%
10%
20%
30%
40%
50%
Nothing
Other
Declaration-Site Variance
Specialization
ClassDynamic
Project Jigsaw
Value Types
23%
5%
16%
18%
19%
43%
48%
29. What do we want in Java EE 8?
•Which API (JSR) should be included in Java EE 8?
www.hujak.hr
29
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
State Management API
Data Grid API
Identity API
Java EE Configuration
JCache
Java API for JSON Binding
37%
42%
47%
64%
68%
79%
51%
44%
43%
29%
26%
16%
12%
14%
10%
7%
6%
5%
YES
NOT SURE
NO
Source: Java EE 8 Community Survey, Oracle, 2014
30. Java EE 8 features
•Which features should be on Java EE 8?
www.hujak.hr
30
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Facelets as standard template engine
JavaScript API on the server (Avatar)
Templating framework
Client API fo Thin Server Architecture
MVC support (alongside JSF)
Java API for Server-sent events
37%
42%
44%
52%
61%
76%
35%
27%
25%
31%
20%
17%
28%
31%
31%
17%
19%
7%
YES
NOT SURE
NO
Source: Java EE 8 Community Survey, Oracle, 2014
31. The Road to Java EE 8
•Unanimously approved
www.hujak.hr
31
32. What are we now really interested in?
•Which other JVM language would be most interesting to learn?
•Scala 47%
•What IDE would you rather use?
•IntelliJ IDEA Ultimate 49%
•What build tool would you like to learn?
•Gradle 58%
•What is your highest priority until 2015?
•Getting familiar with Java 8 35%
www.hujak.hr
32
Source: Java Tools & Technologies 2014, Rebellabs, ZeroTurnaround, May 2014
33. Other JVM languages
•How about other JVM languages?
www.hujak.hr
33
0%
10%
20%
30%
40%
50%
All others
Clojure
Groovy
Scala
10%
12%
31%
47%
Including: Kotlin, Ceylon, Xtend …
Source: Java Tools & Technologies 2014, Rebellabs, ZeroTurnaround, May 2014
34. The Road to Java
•History
•Present
•Future
•Something nice for the end
www.hujak.hr
34