View
5
Download
0
Category
Preview:
Citation preview
www.hujak.hr 1
The One to Rule Them (Us) Allwith
dr. sc. Branko Mihaljević & Aleksander Radovanby HUJAK (Hrvatska udruga Java korisnika)
The Hobbit Java Adventure
• I think I'm quite ready for another adventure! -Bilbo Baggins
• 1991 – Project Stealth
• Green Team brainstorming in Aspen
• James Gosling and Oak interpreter
• 1994 – first Java compiler in Java
• HotJava graphical browser
• 1995 – Oak renamed to Java
• Publicly announced at SunWorld'95www.hujak.hr 2
Java History Timeline by HUJAK
• The Java history began… ☺
• Our precious! – HUJAK founded in December 2011
• In the meantime HUJAK (co-)organized 15+ conferences
• 6x JavaCro, 4x Javantura, 3x Java Days @HrOUG, 2x WebCamp
www.hujak.hr 3
1995 1998 2001 2004 2007 2010 2013 2016 2019
Java SE 10
201920172014-3-18
Java EE 72013-6-12
HUJAK
2011-12-13
2011-7-28
Java EE 62009-12-10
Java SE 6Mustang
2006-12-11
Java EE 52006-5-11
Java 5J2SE 5.0
Tiger
2004-9-30
J2EE 1.42003-11-11
Java 1.4J2SE 1.4Merlin
2002-2-6
J2EE 1.32001-9-24
Java 1.3J2SE 1.3Kestrel
2000-5-8
J2EE 1.21999-12-12
Java 1.2J2SE 1.2
Playground
1998-12-8
JPE Java
Professional Edition
1998-5
Java 1.1JDK 1.1
1997-2-19
Java 1JDK 1.0
Oak
1996-1-23
Java JDK
Alpha /Beta
1995© 2017, HUJAK
2010-1-27
Java SE 9Java SE 7Dolphin
Java SE 8Spider
Java EE 82017/18
Java publicly announced1995-3-23
• Hmm, close… but…
• Have you ever heard about the Java Ring? ☺
One Ring to Rule Them All
www.hujak.hr 5
Original iButton
• iButton by Dallas Seminconductors (Maxim)
• Single-chip trusted microcomputer
• 1-million transistors
• Modular exponentiator for RSA
• 128 kB RAM
• Unalterable realtime clock
• Single electrical contact and ground return (1-Wire)
• Lithium-backed non-volatile static RAM
• Tamper resistance (rapid zeroization)
www.hujak.hr 6
Source: An introduction to the Java Ring, JavaWorld, April 1st 1998
Java-powered iButton
• In 1998 produced Java-powered iButton
• JVM housed in 16mm small and extremely rugged and secure stainless-steel case
• Fully compatible with Java Card 2.0 standard
• Could be attached to any accessory (i.e. key fob, wallet, watch, necklace, bracelet, or finger ring)
• And we've got (our precious)
Java Ring☺
www.hujak.hr 7
Source: An introduction to the Java Ring, JavaWorld, April 1st 1998
The Fellowship of the Java Ring
• Continued growth of Java
• For 22 years
• 10 Million Java Developers
• Many certified
• #1 Development Platform
• In the Cloud and with Microservices
• 15 Billion Devices run Java
• From Enterprise to IoT
www.hujak.hr 8
Popularity of Java language
• PYPL index (PopularitY of Programming Language)
• May 2017
www.hujak.hr 9
Source: PYPL PopularitY of Programming Language, pypl.github.io, May 2017, © Pierre Carbonnelle
Java at GitHub/Stack Overflow
www.hujak.hr 10
1. JavaScript2. Java3. Python4. PHP5. C#, C++7. CSS, Ruby9. C10. Objective-C
Source: The RedMonk Programming Language Rankings, RedMonk, January 2017, redmonk.com/sogrady/2017/03/17/language-rankings-1-17/
Java Survey @ JavaCro17
• We presented many surveys in the past
• But one question was always there…
What about Croatia?• And now… for the first time we have our own
Java survey ☺• 122 JavaCro attendees responded
www.hujak.hr 11
Survey – Experience
• Years of experience in software development?
• Gender?
www.hujak.hr 12
0-1y1,6%
1-2y17,2%
3-4y23,8%
5-9y25,4%
10-14y19,7%
15-19y5,7% 20+y
6,6%
0,8%
84,4%
14,8%
N/A
Man
Woman
Survey – Education Level
• What is your education level?
www.hujak.hr 13
High-school9,0%
Self-taught1,6%
BS17,2%
MS69,7%
PhD2,5%
13,1%
28,7%
18,9%
13,1%
11,5%
1,6%
2,5%
4,9%
5,7%
0% 5% 10% 15% 20% 25% 30% 35%
Junior Developer
Developer
Senior Developer
Software Architect
Team Leader
Software Consultant
Project Manager
C-Level Manager
Other
Survey – Job Position
Name (titleor best description)
of job position?
www.hujak.hr 14
Survey – About Company
• Company Size • Number of Developers
www.hujak.hr 15
Enterprise / large36,1%
Midsize41,8%
Small20,5%
Startup0,8%
Freeleancer0,8% 1-5
9,3%
6-1014,4%
11-2011,0%
21-5025,4%
51-1009,3%
100+30,5%
87,7%
35,2%
29,5%
75,4%
54,1%
14,8%
0% 20% 40% 60% 80% 100%
Web Apps
Desktop Apps
Mobile Apps
Backend
Frontend
Libraries
Application (Project) Types
Development Project Types
www.hujak.hr 16
The Two Towers (Platforms)
• Java SE – present and future
• Java EE – present and future
• Other Languages
• Web Frameworks
• Libraries
• App Servers
• JavaScript Frameworks
www.hujak.hr 17
Survey – Java SE versions
• Java SE platform versions you use in projects
www.hujak.hr 18
40,2%
72,1%
85,2%
0,8%
0% 20% 40% 60% 80% 100%
Java 6
Java 7
Java 8
Java 9
Survey – Java SE versions
• In Production • In Development
www.hujak.hr 19
Java 840,2%
Java 741,8%
Java 618,0%
Java 868,6%
Java 724,8%
Java 65,8%
Java 90,8%
Survey – Java 8 Interest
• Parts of Java 8 considered most interesting
www.hujak.hr 20
74,2%
61,7%
22,5%
35,0%
-10% 10% 30% 50% 70% 90%
Lambdas
Stream API
Optional return types
Date and Time API
Looking Forward to Java 9
www.hujak.hr 21
7,0%
20,0%
14,8%
33,9%
29,6%
27,8%
36,5%
69,6%
Better Javadoc support
Better logging
New JVM options
Better garbage collection
Better diagnostics
Developer convenience
Modularity
Better performance
Latest News
• Java SE 8u131 released April 18, 2017
• Next Critical Patch Update is in July 18, 2017
• JDK 9 – General Availability July 27, 2017
• Early Access Release Build 168
• IDE support
• Modularity in Java 9 (or not?)
• Concerns regarding Jigsaw – Red Hat, Maven, et al.
• Articles by Scott Stark, Mike Hearn, Gabriela Motroc…
• IBM and Red Hat voted "no" to Jigsaw
www.hujak.hr 22
Survey – Java EE
• Java EE platform versions you use in projects
www.hujak.hr 23
28,3%
10,0%
40,0%
50,0%
0% 20% 40% 60%
None
Java EE 5
Java EE 6
Java EE 7
Survey – Java EE versions
• In Production • In Development
www.hujak.hr 24
Java EE 7
41,7%
Java EE 6
29,2%
Java EE 51,7%
None25,8% Java
EE 742,9%
Java EE 6
27,7%
Java EE 51,7%
None26,1%
8,6%
13,3%
18,1%
21,0%
24,8%
26,7%
26,7%
43,8%
55,2%
0% 20% 40% 60%
Secret Management and Storage
Service Health and Check
Configuration API
Reactive Style
OAuth and OpenID
JSON-B and JSON-P
Eventing and Async Event Model
HTTP/2 and Servlet 4.0
REST and JAX-RS 2.1
Looking Forward to Java EE 8
www.hujak.hr 25
1,9%
2,9%
1,9%
5,8%
67,3%
11,5%
19,2%
13,5%
23,1%
2,9%
1,0%
5,8%
1,0%
0,0%
15,4%
8,7%
Objective-C
Swift
Ruby
Perl
JavaScript
PHP
C#
C++
Python
Jython
Xtend
Kotlin
Clojure
Ceylon
Groovy
Scala
Survey – Other Languages
www.hujak.hr 26
Actively using
other languages lately?
Popularity of JVM Languages
• JVM Language Ranking from StackOverkill
www.hujak.hr 27
Source: JVM Language Ranking, www.stackoverkill.com/ranking/jvm-langs, StackOverkill, May 2017
Survey – Web Frameworks
www.hujak.hr 28
1,8%
4,4%
0,0%
5,3%
3,5%
7,9%
12,3%
49,1%
24,6%
70,2%
Dropwizard
Grails
Wicket
Struts
Play framework
GWT
Vaadin
Spring Boot
JSF
Spring MVC
Web Frameworks
• Web Frameworks Index Top 10 by RebelLabs(ZeroTurnaround)
• Public data from StackOverflow, LinkedIn, GitHub, and Google search
www.hujak.hr 29
Survey – Libraries
• Libraries used commonly
www.hujak.hr 30
63,0%
75,6%
78,2%
63,9%
Spring libraries
Apache commons
Logging
Testing
Survey – App Servers
www.hujak.hr 31
0,8%
2,5%
9,9%
18,2%
33,1%
24,0%
13,2%
12,4%
75,2%
8,3%
0% 20% 40% 60% 80%
TomEE
Payara
Jetty
JBoss
WebSphere
WildFly
GlassFish
WebLogic
Tomcat
Going Serverless
Survey – JavaScript Frameworks
www.hujak.hr 32
0,9%
0,9%
13,4%
18,8%
58,9%
4,5%
23,2%
Backbone
Ember
React
Node.js
Angular
Our own
None
The Return of the Java King
• What about Tooling?
• IDEs
• Build tools
• CI
• Version Control
• Profilers
• APMs
• Virtualizations
• Containers
www.hujak.hr 33
Survey – IDEs
www.hujak.hr 34
2,5%
8,2%
7,4%
14,8%
54,1%
73,0%
0% 20% 40% 60% 80%
Other
STS
Sublime
NetBeans
IntelliJ IDEA
Eclipse
Survey – Build Tools
www.hujak.hr 35
4,3%
23,3%
25,2%
87,9%
Other
Ant
Gradle
Maven
Survey – Continuous Integration
www.hujak.hr 36
3,1%
2,0%
8,2%
3,1%
2,0%
3,1%
12,2%
79,6%
Other
TFS
RTC
TravisCI
Hudson
TeamCity
Bamboo
Jenkins
Survey – Version Control
www.hujak.hr 37
0,8%
1,7%
5,0%
11,6%
11,6%
20,7%
81,8%
Other
TFS
RTC
CVS
Mercurial
Subversion
Git
Survey – Profilers
www.hujak.hr 38
2,4%
4,9%
11,0%
17,1%
18,3%
23,2%
47,6%
Other
YourKit
NetBeans Profiler
XRebel
JProfiler
Java Mission Control
VisualVM
Survey – APMs
www.hujak.hr 39
6,0%
10,0%
10,0%
26,0%
34,0%
Stackify Retrace
TraceView (SolarWinds)
Dynatrace (Compuware)
AppDynamics
New Relic
Virtualization and Containers
www.hujak.hr 40
53,6%
4,8%
1,2%
11,9%
60,7%
VMWare
AWS ECS
Mesos
Kubernetes
Docker
Survey – Microservices
• Using microservices? – 32,5% Yes
• If yes, is using microservices making development easier?
• 47,9% Yes, 38% Same as before
• If no, do you intend to use microservices in the future?
• 58,3% Yes, 34% I don't know
www.hujak.hr 41
Survey – Agile
• Using agile methodologies? – 74,8% Yes
• If not, do you intend to? – 78,5% Yes
• If yes, what agile practices?
www.hujak.hr 42
24,0%
36,5%
62,5%
59,4%
10,4%
Well written specifications
Kanban board
Daily standups
Tasks with sprints
Certified agile
JavaCro'17 Survey – Conclusion
• Right now use Java 8 and Java EE 7• New features – wait for Java 9 and Java EE 8 • Try new languages – Scala or Groovy• "Safe" choices:
• Frameworks – Spring MVC & Spring Boot• App servers – Tomcat• IDEs – Eclipse or IDEA or (NetBeans)• Build tools – Maven or (Gradle)• CI – Jenkins• Version control – Git
• Try microservices
www.hujak.hr 43
Open Source & Volunteering
• Involved in open source? – 14,5% Yes, 22,2% intends to
• If yes, how many projects? – 62,1% only 1• Others from 2 to 6 projects, only one more than 10
• Sling, Samza, Kubernetes, Enmasse, PanBI, GWT, Material Design, SportChef, Moodini…
• Volunteering? – 10,1% Yes• If yes, where? – HUJAK, Agile Croatia, Openblend,
Programerko, JUG.ch, HackerGarten.net, OpenHeart, Biciklisti, ZAMAH…
www.hujak.hr 44
Where Else to Learn to Code
• Popular online learning resources:
• freeCodeCamp
• CodeAcademy
• Coursera
• Udemy
• KhanAcademy
• PluralSight
• EdX
• Udacity
• OdinProject
• CodeWars
• DevTips
• TreeHouse
• The New Boston
• Lynda.com
www.hujak.hr 45
Source: 2016 New Coder Survey, freeCodeCamp
IT/CS education in Croatia
• Where to study IT/CS in Croatia?• 15 cities: Čakovec, Dubrovnik, Krapina, Križevci, Osijek,
Pula, Rijeka, Sisak, Split, Šibenik, Varaždin, Velika Gorica, Zabok, Zagreb, Zaprešić
• 33 different institutions including• 6 public/state universities• 13 private colleges
• 80+ IT/CS/SE/CE programs• Undergraduate (3-4 years)• Graduate level (1-2 years)• Doctoral (PhD) level• Specialist level
www.hujak.hr 46
Java Conferences in Croatia
www.hujak.hr 47
Conference Location Date Sessions Tracks Attendees Countries
JavaCro'17 Rovinj 10.-12.5.2017. 50 5 280 15
Javantura v4 Zagreb 11.2.2017. 27 3 300 -
HrOUG 2016 Rovinj 18.-22.10.2016. 7 (od 96) 1 (od 9) 450 11
JavaCro'16 Rovinj 18.-20.5.2016. 56 5 260 15
Javantura v3 Zagreb 20.2.2016. 23 - 300 -
JavaCro'15 Rovinj 10.-12.5.2015. 46 5 200 11
Javantura v2 Zagreb 15.11.2014. 16 - 160 -
JavaCro'14 Poreč 11.-13.5.2014. 50 5 220 11
Javantura v1 Zagreb 22.2.2014. 12 - 150 -
WebCamp 2013 Zagreb 26.10.2013. 24 - 600 -
HrOUG 2013 Rovinj 15.-19.10.2013. 11 (od 90) 1 (od 7) 370 12
JavaCro'13 Tuhelj 3.-5.6.2013. 50 5 200 -
HrOUG 2012 Rovinj 16.-20.10.2012. 11 (od 114) 1 (od 7) 370 13
WebCamp 2012 Zagreb 24.11.2012. 24 - -
Java 2012 Tuhelj 29.-30.5.2012. 34 7 170 -
HrOUG 2011 Rovinj 18.-22.10.2011. 12 (od 96) 1 (od 9) 460 11
We (co-)organized 16 conferences !!! ☺
#Javantura #JavaCro #HrOUG #proud
170
200
150
220
160
220
300
260
300280
34
50
12
50
16
46
23
56
27
50
0
20
40
60
80
100
120
140
0
50
100
150
200
250
300
350
Sess
ion
s
Att
en
de
es
And we are growing ☺
www.hujak.hr 48
JavaCro and Javantura conferences
Conferences HUJAK supports
www.hujak.hr 49
45+ company members
www.hujak.hr 50
Partners & Friends
www.hujak.hr 51
Prizes and Giveaways
• Would you like to receive a prize for answering so many questions? :-) – only one No ☺
• Manning offered us 40% discount on all bookswww.manning.com use code: ctwjavacro17
• And now… prizes and giveaways!!!www.hujak.hr 52
Thank you & greetingsfrom HUJAK!
• Web page hujak.hr• www.hujak.hr
• LinkedIn group HUJAK• www.linkedin.com/groups?gid=4320174
• Facebook group page HUJAK.hr• www.facebook.com/HUJAK.hr
• Twitter profile @HUJAK_hr• twitter.com/HUJAK_hr
www.hujak.hr 53
Recommended