SlideShare una empresa de Scribd logo
1 de 48
Rock art & Rockets
Why Java needs you more than ever


Steve Poole IBM.
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
About Me
Steve Poole
Works at IBM Hursley
Involved in Java since
before it was 1


Committer, JSR spec
lead, JSR EG rep
(yawn)
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
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
Part One : 1995
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..
May 23rd 1995

Java 1.0a2 released
 (a is for alpha)
 Source and binaries on 1 floppy disk
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
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”
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)
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]-->
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
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.
Performance?

 4^(y/3)
Performance?

               4^(y/3)
Pop quiz

Q1 - Does Moores Law predict X2 performance every
18 months?

A1 - Yes
A2 - No
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
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
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
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 ...
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?
Information
                                Java Users




           JVM Producers                      JVM Producers




           O/S Providers                        O/S Providers




                                              Computer
               Computer                      manufacturers
              manufacturers
products




                              Chip Makers
4^(y/3)
Pop quiz

Q2 - how much of Moores Law related improvements
get passed to Java developers?

A1: Some
A2 : Most
A3 : All
SPEC and SPECjEnterprise 2010 are registered trademarks of the Standard Performance Evaluation Corporation.
Results from www.spec.org as of 10/16/2012.
SPEC and SPECjEnterprise 2010 are registered trademarks of the Standard Performance Evaluation Corporation.
Results from www.spec.org as of 10/16/2012.
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
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
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
Part Two : Todays challenges
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)
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
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?
“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?
“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?
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?
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
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
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
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.
Part Three : Your choice
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.
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
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.
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
Epilogue

Why “Rock Art and Rockets” ?
Does Java stays in a dark cave guarded by acolytes
Or do we reignite the Java flame?
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
Rock Art or Rockets - it’s your choice
•   © IBM Corporation 2012. All Rights Reserved.

•   IBM, the IBM logo, and ibm.com are trademarks or
    registered trademarks of International Business Machines
    Corp., and registered in many jurisdictions worldwide.

•   Other product and service names might be trademarks of
    IBM or other companies.

•   A current list of IBM trademarks is available on the Web –
    see the IBM “Copyright and trademark information” page
    at URL: www.ibm.com/legal/copytrade.shtml

Más contenido relacionado

Destacado

Devops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisJAX London
 
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...JAX London
 
Everything I know about software in spaghetti bolognese: managing complexity
Everything I know about software in spaghetti bolognese: managing complexityEverything I know about software in spaghetti bolognese: managing complexity
Everything I know about software in spaghetti bolognese: managing complexityJAX London
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaJAX London
 
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun GuptaJAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun GuptaJAX London
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John StevensonJAX London
 
Hadoop as Data Refinery - Steve Loughran
Hadoop as Data Refinery - Steve LoughranHadoop as Data Refinery - Steve Loughran
Hadoop as Data Refinery - Steve LoughranJAX London
 

Destacado (7)

Devops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick Debois
 
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
 
Everything I know about software in spaghetti bolognese: managing complexity
Everything I know about software in spaghetti bolognese: managing complexityEverything I know about software in spaghetti bolognese: managing complexity
Everything I know about software in spaghetti bolognese: managing complexity
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun Gupta
 
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun GuptaJAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
 
Hadoop as Data Refinery - Steve Loughran
Hadoop as Data Refinery - Steve LoughranHadoop as Data Refinery - Steve Loughran
Hadoop as Data Refinery - Steve Loughran
 

Más de JAX London

Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyJAX London
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfJAX London
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter HiltonJAX London
 
Complexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundComplexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundJAX London
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberJAX London
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerJAX London
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsJAX London
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonJAX London
 
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerJAX London
 
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenNo Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenJAX London
 
Size does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe FriedrichsenSize does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe FriedrichsenJAX London
 
HBase Advanced - Lars George
HBase Advanced - Lars GeorgeHBase Advanced - Lars George
HBase Advanced - Lars GeorgeJAX London
 
Scala in Action - Heiko Seeburger
Scala in Action - Heiko SeeburgerScala in Action - Heiko Seeburger
Scala in Action - Heiko SeeburgerJAX London
 
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...JAX London
 
Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...
Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...
Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...JAX London
 
Back to Basics - Hype-free Principles for Software Developers: Jason Gorman
Back to Basics - Hype-free Principles for Software Developers: Jason GormanBack to Basics - Hype-free Principles for Software Developers: Jason Gorman
Back to Basics - Hype-free Principles for Software Developers: Jason GormanJAX London
 

Más de JAX London (16)

Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin Henney
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter Hilton
 
Complexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundComplexity theory and software development : Tim Berglund
Complexity theory and software development : Tim Berglund
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave Gruber
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko Seeburger
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdams
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian Robinson
 
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
 
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenNo Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
 
Size does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe FriedrichsenSize does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe Friedrichsen
 
HBase Advanced - Lars George
HBase Advanced - Lars GeorgeHBase Advanced - Lars George
HBase Advanced - Lars George
 
Scala in Action - Heiko Seeburger
Scala in Action - Heiko SeeburgerScala in Action - Heiko Seeburger
Scala in Action - Heiko Seeburger
 
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
 
Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...
Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...
Choosing the right Agile innovation practices: Scrum vs Kanban vs Lean Startu...
 
Back to Basics - Hype-free Principles for Software Developers: Jason Gorman
Back to Basics - Hype-free Principles for Software Developers: Jason GormanBack to Basics - Hype-free Principles for Software Developers: Jason Gorman
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
  • 6. Part One : 1995
  • 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?
  • 22. Information Java Users JVM Producers JVM Producers O/S Providers O/S Providers Computer Computer manufacturers manufacturers products Chip Makers
  • 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
  • 29. Part Two : Todays challenges
  • 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.
  • 40. Part Three : Your choice
  • 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
  • 47. Rock Art or Rockets - it’s your choice
  • 48. © IBM Corporation 2012. All Rights Reserved. • IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., and registered in many jurisdictions worldwide. • Other product and service names might be trademarks of IBM or other companies. • A current list of IBM trademarks is available on the Web – see the IBM “Copyright and trademark information” page at URL: www.ibm.com/legal/copytrade.shtml

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n