SlideShare a Scribd company logo
1 of 30
Free Java
Reasons to be cheerful!


Ben Evans (@kittlyst)
Martijn Verburg (@karianna)

                              Slide Design by Kerry Kenneally www.kerrykenneally.com
Who are these guys anyway?




                             2
Who are these guys anyway?




                             3
Who are these guys anyway?




                             4
Who are these guys anyway?




                             5
“Java’s not dead, it’s just resting!”

• This is a fact!

• This is an opinion


• Due to time constraints, other talks and beer, this talk may be a little
  different to advertised...

• For bonus points find the Easter egg!




                                                                 6
“Java’s not dead, it’s just resting!”

• It’s quite true that Java (the language) has been a bit quiet

• Yeah, but that’s a lot to do with big company stuff
    – We don’t really want to talk too much about that... maybe


• Java 6 had some significant improvements
    – It gets more bad press than it deserves
    – Performance is a key benefit

• Java 7 seemed at times to get lost in the wilderness
    –   Some of the features were released as updates to SE 6
        •    G1, Compressed object pointers, Slimmed down web runtime
    –   Big arguments about some features.....
        •    e.g. Closures (still going!)
    –   JavaFX distraction
                                                                        7
How did we get here? Where are my
          shoes?
• The community and the platform have not been quiet
   –   You’re a noisy bunch, that’s for sure!
   –   Conference attendances are _way_ up and growing
   –   Oracle marketing estimates 9-10 million developers
   –   Dozens of new JVM languages

• We’re actually winning
   – Seriously! Java is liberated (thanks to people in this room)
   – We’re now fighting over vigorously debating types of licenses and
     interpretations
   – And Governance!
   – Like any good democracy, we need to be vigilant of our freedoms




                                                                8
Along came Larry...




                      9
Google vs Oracle - Round 1 - Fight!




                                      10
Where’s the lawsuit at?

• http://www.groklaw.net (search for OracleGoogle)

• Most recent FUD: Copyrighted Source code found in Android!
   – A little digging showed this to be a little sensationalist


• Most recent case event: Case referred to a private mediator
   – If unresolved then trial on Oct 31 2011


• Developer community at Devoxx voted (87%) that the lawsuit was
  harmful in some way to Java

• Is the message that this is scaring off the community &
  corporates getting through to Oracle management?


                                                                  11
Parting of the ways and new joiners




                                                         12
                              Original Image by Acaben
OpenJDK - Plan B

• 20 Sep 2010 - Mark Reinhold announces that Oracle will go with
  Plan B
   – Splits the existing OpenJDK effort into Java 7 (July 2011) and Java 8
     (2012)
   – Popular choice with the community

• Some JRockit features to be added to OpenJDK
   – Exact roadmap not yet clear


• Changes to the memory model (Bye-bye Permgen)

• Some new features to be delayed until JDK 8
   – Closures Lambdas SAM literals



                                                                   13
InvokeDynamic

• InvokeDynamic is a key new JVM feature
    – It’s the first new bytecode since Java 1.0
    – Joins InvokeVirtual, InvokeStatic, InvokeInterface and InvokeSpecial


• It removes a key part of the static typing system
    – Method names / signatures will not need to be known at compile time
    – User code can determine dispatch at runtime
    – Lots of interesting possibilities

• Aims to be as fast as InvokeVirtual

• No Java syntax for handling it in Java 7 - but maybe for 8



                                                                   14
InvokeDynamic is a friend to free languages

• Free, open JVM languages such as JRuby, Jython, Groovy, Clojure
  et al all stand to benefit from InvokeDynamic
    – These gains will vary, JRuby gains a lot, Clojure not so much
    – There’s even talk of bringing it to Scala!

• Groovy is already well established as Java’s flexible friend
    – Increasing its performance keeps it at the forefront

• JRuby has been working closely with the JSR-292 team
    – Big potential wins
    – Makes JRuby enticing to RoR developers




                                                                      15
And now for something completely
          different... Concurrency
• Otters!

• Collaborative

• Competitive

• Sneaky

• Hare off in different directions

• Can wreak havoc if not contained




                                             16
Why concurrency matters again




                                17
New concurrency models

• Java’s approach of mutable state, locks and visible by default looks
  increasingly dated
    – java.util.concurrent is a big help, but can only go so far
    – Java’s syntax and semantics are constraints
    – Thread is not a high-level concurrency abstraction

• Other languages on the JVM are free to innovate
    – Clojure - Immutable by default, thread-isolation by default, STM
      subsystem
    – Scala - Powerful actors model


• Java 7 gets in on the party
    – fork and join executions are not necessarily threads



                                                                    18
What’s in my Future?

• Learning another JVM language won’t hurt!
    – Lots to choose from
    – No “Java Killer” yet.....

• Don’t forget about Java 7!
    – Some compelling new features (Coin, NIO.2, F/J, etc)
    – Yet more performance

• The Multi-core revolution is here
    – Brush up your modern concurrency
    – Java 7 makes this easier
    – Other languages offer alternative approaches




                                                             19
Java is not just the language




                                20
It’s about the community innit!




                                  Original Image by US Embassy Sweden




                                             21
Future of Java SE

• Will be just fine

• The mainline VM will continue to improve
   – InvokeDynamic
   – JRockit feature merge

• Probably not too many faddish language features
   – But you can have what you want anyway in other JVM languages
   – Yeah, we’re looking at you Scala, Clojure, Groovy fanboys/girls

• Hopefully everyone saw Mark’s talk




                                                                22
Future of JEE

• The future here looks bright!
   – More servers are getting certified as JEE6 - but it’s still early days
   – JEE7 process is starting to get underway


• JEE has shrunk whilst the open source alternatives have grown
   – They’re pretty much meeting in the middle
   – This is a good thing
   – Spring is quite big these days....
   – That’s less of a good thing


• Case Study - Adam Bien (Java Champion)
   – Live Demo - rapid development of apps with core JEE6
       • Check out the Devoxx video of him online




                                                                       23
Future of Java ME

• On the decline
   – Nokia has dropped it from their technology roadmap
   – Still popular in the dumbphone market
   – That’s still a really huge market

• Hints that with JDK 8, Java SE could eventually run on mobiles.
   – Mark mentioned this earlier
   – Will it be soon enough?

• Could Android become the official replacement for Java ME?
   – “No Comment” (Oracle and Google)
   – Seems unlikely today, but stranger things have happened




                                                               24
Java FX

• Yeah, well, it was a nice try

• Java FX 2.0 is coming out
    – Will anyone notice?


• Even MSFT are downgrading Silverlight from their roadmap
    – ‘HTML5’ seems to be the way forward
    – Whatever that means...


• Why have another runtime in a browser when it already has a
  capable (Javascript) VM?




                                                          25
JCP - Trouble in Paradise?

• OK, so it was never _really_ paradise
    – And we lied about not talking politics


• Stephen Colebourne’s blog captures the events nicely
    – http://www.jroller.com/scolebourne/


• Prominent members leaving
    – Doug Lea
    – “Crazy” Bob Lee

• Allegations of ballot stuffing

• We’re not sure what shape it’s going to take in the future
    – But let’s face it - it’s dead

                                                               26
Rebooting OpenJDK governance?

• Was there ever really a mature OSS governance model for
  OpenJDK?

• Surely something is better than nothing?


• New attempt being made by Mark & the committee
   –   Really positive that the team are trying to make progress
   –   Open mailing list: .... Doug’s back
   –   Still an awful lot to be ironed out - but possibilities
   –   The burden’s still on Oracle to engage with the community
   – But the community need to step up too


• But what about the rest of the JCP?


                                                                   27
An indecent A modest proposal

• Imagine a world...


• Where there was an independent standards body...

• Focused on delivering pure free as-in-speech and beer, explicitly
  patent-free, open standards for the Java ecosystem...


• Could such a body replace - or feed in to - the JCP?
    – This is similar to what Stephen Colebourne et al have suggested
    – We are just developers
    – But just imagine....




                                                                 28
The future’s bright, the future’s Java!

• We have arguably the most capable VM on the planet

• We have a wealth of new languages to complement and challenge
  Java

• We have oceans of open source software

• We have a great community (you guys)!!

• This is a GREAT time to be working in the Java ecosystem

• We have an opportunity to engage and make the most of our
  “Interesting Times”

                                                             29
Thanks for listening: wellgrndjava50




                                       30

More Related Content

Recently uploaded

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Free Java - Reasons To Be Cheerful

  • 1. Free Java Reasons to be cheerful! Ben Evans (@kittlyst) Martijn Verburg (@karianna) Slide Design by Kerry Kenneally www.kerrykenneally.com
  • 2. Who are these guys anyway? 2
  • 3. Who are these guys anyway? 3
  • 4. Who are these guys anyway? 4
  • 5. Who are these guys anyway? 5
  • 6. “Java’s not dead, it’s just resting!” • This is a fact! • This is an opinion • Due to time constraints, other talks and beer, this talk may be a little different to advertised... • For bonus points find the Easter egg! 6
  • 7. “Java’s not dead, it’s just resting!” • It’s quite true that Java (the language) has been a bit quiet • Yeah, but that’s a lot to do with big company stuff – We don’t really want to talk too much about that... maybe • Java 6 had some significant improvements – It gets more bad press than it deserves – Performance is a key benefit • Java 7 seemed at times to get lost in the wilderness – Some of the features were released as updates to SE 6 • G1, Compressed object pointers, Slimmed down web runtime – Big arguments about some features..... • e.g. Closures (still going!) – JavaFX distraction 7
  • 8. How did we get here? Where are my shoes? • The community and the platform have not been quiet – You’re a noisy bunch, that’s for sure! – Conference attendances are _way_ up and growing – Oracle marketing estimates 9-10 million developers – Dozens of new JVM languages • We’re actually winning – Seriously! Java is liberated (thanks to people in this room) – We’re now fighting over vigorously debating types of licenses and interpretations – And Governance! – Like any good democracy, we need to be vigilant of our freedoms 8
  • 10. Google vs Oracle - Round 1 - Fight! 10
  • 11. Where’s the lawsuit at? • http://www.groklaw.net (search for OracleGoogle) • Most recent FUD: Copyrighted Source code found in Android! – A little digging showed this to be a little sensationalist • Most recent case event: Case referred to a private mediator – If unresolved then trial on Oct 31 2011 • Developer community at Devoxx voted (87%) that the lawsuit was harmful in some way to Java • Is the message that this is scaring off the community & corporates getting through to Oracle management? 11
  • 12. Parting of the ways and new joiners 12 Original Image by Acaben
  • 13. OpenJDK - Plan B • 20 Sep 2010 - Mark Reinhold announces that Oracle will go with Plan B – Splits the existing OpenJDK effort into Java 7 (July 2011) and Java 8 (2012) – Popular choice with the community • Some JRockit features to be added to OpenJDK – Exact roadmap not yet clear • Changes to the memory model (Bye-bye Permgen) • Some new features to be delayed until JDK 8 – Closures Lambdas SAM literals 13
  • 14. InvokeDynamic • InvokeDynamic is a key new JVM feature – It’s the first new bytecode since Java 1.0 – Joins InvokeVirtual, InvokeStatic, InvokeInterface and InvokeSpecial • It removes a key part of the static typing system – Method names / signatures will not need to be known at compile time – User code can determine dispatch at runtime – Lots of interesting possibilities • Aims to be as fast as InvokeVirtual • No Java syntax for handling it in Java 7 - but maybe for 8 14
  • 15. InvokeDynamic is a friend to free languages • Free, open JVM languages such as JRuby, Jython, Groovy, Clojure et al all stand to benefit from InvokeDynamic – These gains will vary, JRuby gains a lot, Clojure not so much – There’s even talk of bringing it to Scala! • Groovy is already well established as Java’s flexible friend – Increasing its performance keeps it at the forefront • JRuby has been working closely with the JSR-292 team – Big potential wins – Makes JRuby enticing to RoR developers 15
  • 16. And now for something completely different... Concurrency • Otters! • Collaborative • Competitive • Sneaky • Hare off in different directions • Can wreak havoc if not contained 16
  • 18. New concurrency models • Java’s approach of mutable state, locks and visible by default looks increasingly dated – java.util.concurrent is a big help, but can only go so far – Java’s syntax and semantics are constraints – Thread is not a high-level concurrency abstraction • Other languages on the JVM are free to innovate – Clojure - Immutable by default, thread-isolation by default, STM subsystem – Scala - Powerful actors model • Java 7 gets in on the party – fork and join executions are not necessarily threads 18
  • 19. What’s in my Future? • Learning another JVM language won’t hurt! – Lots to choose from – No “Java Killer” yet..... • Don’t forget about Java 7! – Some compelling new features (Coin, NIO.2, F/J, etc) – Yet more performance • The Multi-core revolution is here – Brush up your modern concurrency – Java 7 makes this easier – Other languages offer alternative approaches 19
  • 20. Java is not just the language 20
  • 21. It’s about the community innit! Original Image by US Embassy Sweden 21
  • 22. Future of Java SE • Will be just fine • The mainline VM will continue to improve – InvokeDynamic – JRockit feature merge • Probably not too many faddish language features – But you can have what you want anyway in other JVM languages – Yeah, we’re looking at you Scala, Clojure, Groovy fanboys/girls • Hopefully everyone saw Mark’s talk 22
  • 23. Future of JEE • The future here looks bright! – More servers are getting certified as JEE6 - but it’s still early days – JEE7 process is starting to get underway • JEE has shrunk whilst the open source alternatives have grown – They’re pretty much meeting in the middle – This is a good thing – Spring is quite big these days.... – That’s less of a good thing • Case Study - Adam Bien (Java Champion) – Live Demo - rapid development of apps with core JEE6 • Check out the Devoxx video of him online 23
  • 24. Future of Java ME • On the decline – Nokia has dropped it from their technology roadmap – Still popular in the dumbphone market – That’s still a really huge market • Hints that with JDK 8, Java SE could eventually run on mobiles. – Mark mentioned this earlier – Will it be soon enough? • Could Android become the official replacement for Java ME? – “No Comment” (Oracle and Google) – Seems unlikely today, but stranger things have happened 24
  • 25. Java FX • Yeah, well, it was a nice try • Java FX 2.0 is coming out – Will anyone notice? • Even MSFT are downgrading Silverlight from their roadmap – ‘HTML5’ seems to be the way forward – Whatever that means... • Why have another runtime in a browser when it already has a capable (Javascript) VM? 25
  • 26. JCP - Trouble in Paradise? • OK, so it was never _really_ paradise – And we lied about not talking politics • Stephen Colebourne’s blog captures the events nicely – http://www.jroller.com/scolebourne/ • Prominent members leaving – Doug Lea – “Crazy” Bob Lee • Allegations of ballot stuffing • We’re not sure what shape it’s going to take in the future – But let’s face it - it’s dead 26
  • 27. Rebooting OpenJDK governance? • Was there ever really a mature OSS governance model for OpenJDK? • Surely something is better than nothing? • New attempt being made by Mark & the committee – Really positive that the team are trying to make progress – Open mailing list: .... Doug’s back – Still an awful lot to be ironed out - but possibilities – The burden’s still on Oracle to engage with the community – But the community need to step up too • But what about the rest of the JCP? 27
  • 28. An indecent A modest proposal • Imagine a world... • Where there was an independent standards body... • Focused on delivering pure free as-in-speech and beer, explicitly patent-free, open standards for the Java ecosystem... • Could such a body replace - or feed in to - the JCP? – This is similar to what Stephen Colebourne et al have suggested – We are just developers – But just imagine.... 28
  • 29. The future’s bright, the future’s Java! • We have arguably the most capable VM on the planet • We have a wealth of new languages to complement and challenge Java • We have oceans of open source software • We have a great community (you guys)!! • This is a GREAT time to be working in the Java ecosystem • We have an opportunity to engage and make the most of our “Interesting Times” 29
  • 30. Thanks for listening: wellgrndjava50 30

Editor's Notes

  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