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

Viewers also liked

Making the website powerpoint pdf
Making the website powerpoint pdfMaking the website powerpoint pdf
Making the website powerpoint pdfdebbiesmediawork
 
46 ideas to make your business a success
46 ideas to make your business a success46 ideas to make your business a success
46 ideas to make your business a successPim Piepers
 
Tạp trí Internet Marketing Số 06 Nov-Dec 2011
Tạp trí Internet Marketing Số 06 Nov-Dec 2011Tạp trí Internet Marketing Số 06 Nov-Dec 2011
Tạp trí Internet Marketing Số 06 Nov-Dec 2011Nguyễn Văn Mạnh
 
Wedding Photography Basics1
Wedding Photography Basics1Wedding Photography Basics1
Wedding Photography Basics1guestd8c458
 
If I Were Starting Now
If I Were Starting NowIf I Were Starting Now
If I Were Starting NowCommonsWare
 
Doc Searls MinneWebCon Keynote
Doc Searls MinneWebCon KeynoteDoc Searls MinneWebCon Keynote
Doc Searls MinneWebCon KeynoteKristofer Layon
 
My friday mornings are interesting
My friday mornings are interestingMy friday mornings are interesting
My friday mornings are interestingSuad Alhalwachi
 
If you love your content, set it free (v3.0)
If you love your content, set it free (v3.0) If you love your content, set it free (v3.0)
If you love your content, set it free (v3.0) Mike Ellis
 
The Future Friendly Campus
The Future Friendly CampusThe Future Friendly Campus
The Future Friendly CampusDave Olsen
 
BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0
BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0
BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0Tom Loughran
 
Kate Kiefer-Lee: Stil og tone (Webdagene 2013)
Kate Kiefer-Lee: Stil og tone (Webdagene 2013)Kate Kiefer-Lee: Stil og tone (Webdagene 2013)
Kate Kiefer-Lee: Stil og tone (Webdagene 2013)webdagene
 

Viewers also liked (13)

Making the website powerpoint pdf
Making the website powerpoint pdfMaking the website powerpoint pdf
Making the website powerpoint pdf
 
46 ideas to make your business a success
46 ideas to make your business a success46 ideas to make your business a success
46 ideas to make your business a success
 
Lvl.up
Lvl.upLvl.up
Lvl.up
 
Tạp trí Internet Marketing Số 06 Nov-Dec 2011
Tạp trí Internet Marketing Số 06 Nov-Dec 2011Tạp trí Internet Marketing Số 06 Nov-Dec 2011
Tạp trí Internet Marketing Số 06 Nov-Dec 2011
 
Wedding Photography Basics1
Wedding Photography Basics1Wedding Photography Basics1
Wedding Photography Basics1
 
If I Were Starting Now
If I Were Starting NowIf I Were Starting Now
If I Were Starting Now
 
Doc Searls MinneWebCon Keynote
Doc Searls MinneWebCon KeynoteDoc Searls MinneWebCon Keynote
Doc Searls MinneWebCon Keynote
 
My friday mornings are interesting
My friday mornings are interestingMy friday mornings are interesting
My friday mornings are interesting
 
If you love your content, set it free (v3.0)
If you love your content, set it free (v3.0) If you love your content, set it free (v3.0)
If you love your content, set it free (v3.0)
 
The Future Friendly Campus
The Future Friendly CampusThe Future Friendly Campus
The Future Friendly Campus
 
Real Estate Wealth Magazine
Real Estate Wealth MagazineReal Estate Wealth Magazine
Real Estate Wealth Magazine
 
BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0
BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0
BOSCO-Uganda ICT Training Handbook (I) Introduction to Web 2.0
 
Kate Kiefer-Lee: Stil og tone (Webdagene 2013)
Kate Kiefer-Lee: Stil og tone (Webdagene 2013)Kate Kiefer-Lee: Stil og tone (Webdagene 2013)
Kate Kiefer-Lee: Stil og tone (Webdagene 2013)
 

More from Martijn Verburg

Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Martijn Verburg
 
Garbage Collection - The Useful Parts
Garbage Collection - The Useful PartsGarbage Collection - The Useful Parts
Garbage Collection - The Useful PartsMartijn Verburg
 
Free community with deep roots
Free community with deep rootsFree community with deep roots
Free community with deep rootsMartijn Verburg
 
Modern software development anti patterns (OSCON 2012)
Modern software development anti patterns (OSCON 2012)Modern software development anti patterns (OSCON 2012)
Modern software development anti patterns (OSCON 2012)Martijn Verburg
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Martijn Verburg
 
Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Martijn Verburg
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Martijn Verburg
 
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)Martijn Verburg
 
Modern Java Concurrency (Devoxx Nov/2011)
Modern Java Concurrency (Devoxx Nov/2011)Modern Java Concurrency (Devoxx Nov/2011)
Modern Java Concurrency (Devoxx Nov/2011)Martijn Verburg
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Martijn Verburg
 
Introduction to Java 7 (Devoxx Nov/2011)
Introduction to Java 7 (Devoxx Nov/2011)Introduction to Java 7 (Devoxx Nov/2011)
Introduction to Java 7 (Devoxx Nov/2011)Martijn Verburg
 
Back to the future with Java 7 (Geekout June/2011)
Back to the future with Java 7 (Geekout June/2011)Back to the future with Java 7 (Geekout June/2011)
Back to the future with Java 7 (Geekout June/2011)Martijn Verburg
 
How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)Martijn Verburg
 
Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2Martijn Verburg
 

More from Martijn Verburg (15)

NoHR Hiring
NoHR HiringNoHR Hiring
NoHR Hiring
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
 
Garbage Collection - The Useful Parts
Garbage Collection - The Useful PartsGarbage Collection - The Useful Parts
Garbage Collection - The Useful Parts
 
Free community with deep roots
Free community with deep rootsFree community with deep roots
Free community with deep roots
 
Modern software development anti patterns (OSCON 2012)
Modern software development anti patterns (OSCON 2012)Modern software development anti patterns (OSCON 2012)
Modern software development anti patterns (OSCON 2012)
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)
 
Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
 
Modern Java Concurrency (Devoxx Nov/2011)
Modern Java Concurrency (Devoxx Nov/2011)Modern Java Concurrency (Devoxx Nov/2011)
Modern Java Concurrency (Devoxx Nov/2011)
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)
 
Introduction to Java 7 (Devoxx Nov/2011)
Introduction to Java 7 (Devoxx Nov/2011)Introduction to Java 7 (Devoxx Nov/2011)
Introduction to Java 7 (Devoxx Nov/2011)
 
Back to the future with Java 7 (Geekout June/2011)
Back to the future with Java 7 (Geekout June/2011)Back to the future with Java 7 (Geekout June/2011)
Back to the future with Java 7 (Geekout June/2011)
 
How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)
 
Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Free Java - Reasons to be cheerful (FOSDEM Feb/2011)

  • 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