This talk discusses why having the right mix of business and open source participation in the development of Java benefits everyone. It will explain why competition matters and why the Java community needs to take a larger role in driving the future. We'll look at early Java, examine some of the reasons behind its amazing adoption rate and why similar evolutionary pressures could now leave Java wanting. In most keynotes there is a statement of direction: in this talk we'll explain why the future of Java lies in the hands of the community and why, in a world of cavemen and scientists, spectators and Olympians - it's easy to get involved....
Back to Basics - Hype-free Principles for Software Developers: Jason Gorman
Rock art & rockets - Why Java needs you more than ever: Steve Poole
1. Rock art & Rockets
Why Java needs you more than ever
Steve Poole IBM.
2. THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR
INFORMATIONAL PURPOSES ONLY.
WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE
INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT
WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A
CONTROLLED ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON
HARDWARE, SOFTWARE OR INFRASTRUCTURE DIFFERENCES.
ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE.
IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S
CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM,
WITHOUT NOTICE.
IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES
ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY
OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE
EFFECT OF:
- CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES
OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS
3. About Me
Steve Poole
Works at IBM Hursley
Involved in Java since
before it was 1
Committer, JSR spec
lead, JSR EG rep
(yawn)
4. Introduction
This talk is about your role in the future of Java
We’ll look at the beginnings of Java and the circumstances that
made Java the worlds dominant programming ecosystem
We’ll examine the benefits of having the right mix of business
and open source participation
We’ll use all those insights to examine todays new challenges
Then we’ll talk about your role and how you get to make the
future Java
5. Take-away
I want you to leave this session knowing
That today’s Java is in good hands
That tomorrow’s Java is in your hands
How to help make Java a success for the future
7. 1995
John Major is Prime Minister
Walt Disney releases “Toy Story”
Ebay is created
Microsoft releases Windows 95
DVDs are invented
The internet is fairly new
And..
8. May 23rd 1995
Java 1.0a2 released
(a is for alpha)
Source and binaries on 1 floppy disk
9. May 23rd 1995
Java 1.0a2 released
(a is for alpha)
Source and binaries on 1 floppy disk
But it’s not exactly what you
think
10. The first Java book
John December’s book:
“Discover Sun’s new Java
language and HotJava Web
Browser”
“Lean how Java and
HotJava bring animation and
interactivity to the World
Wide Web”
“Find out how the Java
language is structured and
how to create your own
applets”
11. Java – it’s a cross platform web animator
Was that it?
Java’s web animation skills got it
noticed but its really potential was
the language and the JVM
Cross platform, no pointers,
garbage collection
One person in IBM was looking
for those same characteristics
Say hello to Mike Cowlishaw, IBM
Fellow
Within 5 weeks of Suns announcement Mike
What’s going on? had ported Java to OS/2 (it took him 5 days)
12. Everyone wanted to own the internet
Embrace - become an ISP
Extend - offer content tools, servers etc
that promote your technology
Lock - your customers in
<!--[if gte mso 9]>
<xml>
<o:Version>9.2720<o:Version>
</xml>
<![endif]-->
13. How do we tackle this?
By creating a bigger opportunity for everyone
Java offered real potential to build a viable cross
platform base for everyone
But all the competitors would need to agree
The solution – “compete on implementations
collaborate on specifications”
3 years later would see the release of JCP 1.0
But before that we needed to turn Java into a
contender – we needed: platforms and performance
14. Platforms
24 Months after porting OS/2, IBM had 2500
scientists and programmers working on all aspects
of Java - and Java working on all of its platforms
Today, IBM’s implementation of Java runs on 14
different environments - including Windows, Linux,
AIX, Z/OS, IBM i,
Today , Java SE runs on every major Operating
System.
16. Performance?
4^(y/3)
Pop quiz
Q1 - Does Moores Law predict X2 performance every
18 months?
A1 - Yes
A2 - No
17. Performance?
4^(y/3)
Pop quiz
Q1 - Does Moores Law predict X2 performance every
18 months?
A1 - Yes It’s not
A2 - No performance. It’s
transistor density
18. if Pizza areas increased at the same rate
4^(y/3)
a 30cm diameter Pizza is about 0.07m2
After 6 years it’s over 1m2
In the 17 years of Java it’s grown to 182m2
By the time Java is 20 it will have grown to be 730 m2
That’s more than 1/2 the area of an olympic pool
19. if Pizza areas increased at the same rate
4^(y/3)
a 30cm diameter Pizza is about 0.07m2 The
most important
After 6 years it’s over 1m2 question is
“what toppings” ?
In the 17 years of Java it’s grown to 182m2
By the time Java is 20 it will have grown to be 730 m2
That’s more than 1/2 the area of an olympic pool
20. 4^(y/3)
The “toppings” question is really:
What do you use the extra transistor density for?
Cache, Computation, Multicore, New
instructions, Pipelining, Decoders, ALUs, GPUs ,
HDMI, Ethernet ...
21. Demand Supply
Increase in processor capabilities is not linear
Its a heady mix of improvements that always gives you a
new performance pattern
The challenge is to to adapt to this new pattern to deliver
the best performance possible.
Guess who does most of this work?
Guess how they work out what “best” means?
23. 4^(y/3)
Pop quiz
Q2 - how much of Moores Law related improvements
get passed to Java developers?
A1: Some
A2 : Most
A3 : All
24. SPEC and SPECjEnterprise 2010 are registered trademarks of the Standard Performance Evaluation Corporation.
Results from www.spec.org as of 10/16/2012.
25. SPEC and SPECjEnterprise 2010 are registered trademarks of the Standard Performance Evaluation Corporation.
Results from www.spec.org as of 10/16/2012.
26. 4^(y/3)
As a Java user you benefit vastly from Academic
and Commercial efforts
It’s this sort of collaboration that makes Java great
Since we also need to maintain WORA it’s like that old
trick with a table cloth and a laid table.
Except we have to put a new table cloth back
27. WORA – it’s more important than you imagine
In a collaborative / competitive world having the same
runtime behavior is critical.
WORA isn’t just a selling point - it’s a fundamental part
of the agreement
The need to maintain WORA keeps us together
It provides the level playing field to compete on
If you compromise WORA you dilute Java’s attraction
28. Java - a great foundation
Substantial Competing on
investment implementations
Deep technical Collaborating on
knowledge standards
Strong relationships
Sharing information
Opportunities for
everyone Dealing with problems
together
Participation by
everyone
Innovating in Java together
30. A different world
in 1995 it was simple - one big challenge , one
focused solution
In 2012 it’s much, much, more complicated...
Your job is to help balance the books.
(and do some of the lifting)
31. Challenges and Opportunities
The Cloud
App stores and handhelds
The big 1 is now the big 4
New programming languages and technologies
Getting new Java capabilities adopted
Building a playground for innovation
Reigniting the Java flame
32. The Cloud
Cloud, multicore, multi-tenancy, elastic computing...
Challenge #1 for Java is not just in being able to
deliver these sorts of Cloud solutions:
it’s about the challenge from alternative ways of doing
Cloud without Java
Google App engine Not using Java?
Engine Yard cloud How much do you want see
this change?
Windows Azure
Opportunities for new projects
Node.js
and JSRs?
33. “App Stores” and handhelds
App Stores are a great attraction for indie developers
There is no doubt that being able to make money with
minimal upfront outlay is of big appeal!
Challenge #2 for Java is indirect
Coders (whether targeting Apple or Microsoft) can’t use
Java so they use something else - and they rarely come
back. Java loses the next generation of innovators.
And direct #3: even if Java was on iOS (or any handheld) it
would need a complete overhaul - Different performance
characteristics, better UI, better modularity and deployment
system etc
Android - Diluting WORA? Java on LLVM?
(Who’s going to bring it up to Java 8 level?)
Small footprint
Do you want Java on the iPhone or not? Java?
34. “App Stores” and handhelds
App Stores are a great attraction for indie developers
There is no doubt that being able to make money with
minimal upfront outlay is of big appeal!
Challenge #2 for Java is indirect
Coders (whether targeting Apple or Microsoft) can’t use
Java
Java so they use something else - and they rarely come
App
back. Java loses the next generation of innovators.
Store?
And direct #3: even if Java was on iOS (or any handheld) it
would need a complete overhaul - Different performance
characteristics, better UI, better modularity and deployment
system etc
Android - Diluting WORA? Java on LLVM?
(Who’s going to bring it up to Java 8 level?)
Small footprint
Do you want Java on the iPhone or not? Java?
35. The big 1 is now the big 4
In 1995 it was Microsoft vs the rest of the world
Today it’s
Amazon, Apple, Google, Microsoft
If the internet is free, content is not and these companies
want to own the $1 Trillion content market.
In their world having a level playing field is not attractive
Java’s Challenge #4 is to keep itself relevant, vital and
innovative in a world where it’s not the only choice
What do you want to see happen to Java?
36. New programming languages and technologies
As we’ve seen so far - new programming languages and
technologies are the order of the day.
New generations of programmers and others who learnt their trade
on the web want to use the latest, sexy and - above all - quickly
satisfying tools.
What is it about this tech that is attractive? Why not Java?
Java Challenge #5 - Adopt new languages and technologies
and bring them into the Java ecosystem
What Languages do you want become mainstream?
What favorite non java api do you want in Java?
Do you want a Node.js equivalent for Java?
new APIs and open source projects. New “non java”
projects. new JSRs. new Language support
37. New programming languages and technologies
(codicil)
Being ‘only’ the fastest runtime for a language is not
sufficient.
Adopt new languages into the Java Ecosystem so they
work with Java and each other
38. Getting new Java capabilities adopted
Java 7 FCS’d in July 2011 but take-up has been slow.
Recent EOL of Java 6 will help.
What about the big changes coming in Java 8?
How do we get them adopted?
Java Challenge #6 - The community needs to become much
more aggressive in trying out new function and being vocal in
feeding back their views.
Modularity - how do we help make it a success?
Download and use. Report bugs, Write testcases.
publicly evangelize (or criticize). Try your apps on the
new runtimes. Write migration tools
39. Building a playground for innovation
Java Challenge #7 - Accelerating Openness
Making OpenJDK truly open is falling on the shoulders of
one company.
Its hard to go from closed to open - the community needs to
help in anyway it can.
Opening up needs an audience - where are you?
Turn up and offer to help.
Not enough tests? write some.
Not enough build information? write some.
Not enough visibility into the roadmap? - shout loud!
Work with other communities. Its not just OpenJDK.
41. Your choice
Think about how much you are personally
effected by the future of Java.
It’s your choice where it goes.
Say nothing , Do nothing - it’s your choice.
just don’t moan about it afterwards.
There are plenty of opportunities available.
42. How to make your choice known.
“I’m not worthy” - time to ditch that view.
Stop being a Spectator - but you don’t need to be an
Olympian
Caveman or Rocket Scientist its all the same.
Challenge Everything - don’t accept “fait accompli”
Be visible and make your voice (and choice) known
Write code , Write blogs, Report bugs.
Write new API’s , Write testcases, Improve documentation
Provide your input and expertise so that we get the right
mix of technology for tomorrow
43. 2013 - The year of the Java User Groups
The level of challenge is too great for any one
company, group or individual to take on.
We all need to be involved.
Commercial partners will do most of the heavy lifting but you
need to help.
Your need to get involved - be more visible, articulate your
views, understand the challenges.
If you don’t want to do it on your own:
Join a JUG or SIG
Provide the direction.
Make your choices known.
44. Overall
You should now know:
That today’s Java is in good hands
That tomorrow’s Java is in your hands
How to help make Java a success for the future
45. Epilogue
Why “Rock Art and Rockets” ?
Does Java stays in a dark cave guarded by acolytes
Or do we reignite the Java flame?
46. 2015 - What did you choose for Java?
Is Java new and vital or is it just 20 years old?
Is Java a full open source project or does Oracle still have
most of the burden?
Are Java apps available from an App Store or just on the
server?
Are you using modularity and lambdas in Java or just
writing in Javascript?
Does the next Instagram use Java? or is Node.js still a
competitor
Does the cloud run on Java or does Java run in the cloud