Free JavaReasons to be cheerful!Ben Evans (@kittlyst)Martijn Verburg (@karianna)                              Slide Design...
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,...
“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 l...
How did we get here? Where are my          shoes?• The community and the platform have not been quiet   –   You’re a noisy...
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 ...
Parting of the ways and new joiners                                                         12                            ...
OpenJDK - Plan B• 20 Sep 2010 - Mark Reinhold announces that Oracle will go with  Plan B   – Splits the existing OpenJDK e...
InvokeDynamic• InvokeDynamic is a key new JVM feature    – It’s the first new bytecode since Java 1.0    – Joins InvokeVir...
InvokeDynamic is a friend to free languages• Free, open JVM languages such as JRuby, Jython, Groovy, Clojure  et al all st...
And now for something completely          different... Concurrency• Otters!• Collaborative• Competitive• Sneaky• Hare off ...
Why concurrency matters again                                17
New concurrency models• Java’s approach of mutable state, locks and visible by default looks  increasingly dated    – java...
What’s in my Future?• Learning another JVM language won’t hurt!    – Lots to choose from    – No “Java Killer” yet.....• D...
Java is not just the language                                20
It’s about the community innit!                                  Original Image by US Embassy Sweden                      ...
Future of Java SE• Will be just fine• The mainline VM will continue to improve   – InvokeDynamic   – JRockit feature merge•...
Future of JEE• The future here looks bright!   – More servers are getting certified as JEE6 - but it’s still early days   ...
Future of Java ME• On the decline   – Nokia has dropped it from their technology roadmap   – Still popular in the dumbphon...
Java FX• Yeah, well, it was a nice try• Java FX 2.0 is coming out    – Will anyone notice?• Even MSFT are downgrading Silv...
JCP - Trouble in Paradise?• OK, so it was never _really_ paradise    – And we lied about not talking politics• Stephen Col...
Rebooting OpenJDK governance?• Was there ever really a mature OSS governance model for  OpenJDK?• Surely something is bett...
An indecent A modest proposal• Imagine a world...• Where there was an independent standards body...• Focused on delivering...
The future’s bright, the future’s Java!• We have arguably the most capable VM on the planet• We have a wealth of new langu...
Thanks for listening: wellgrndjava50                                       30
Upcoming SlideShare
Loading in …5
×

Free Java - Reasons To Be Cheerful

1,596 views
1,537 views

Published on

A presentation on Free Java and the reasons why the future looks bright. Presented at FOSDEM 2011

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,596
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Free Java - Reasons To Be Cheerful

    1. 1. Free JavaReasons to be cheerful!Ben Evans (@kittlyst)Martijn Verburg (@karianna) Slide Design by Kerry Kenneally www.kerrykenneally.com
    2. 2. Who are these guys anyway? 2
    3. 3. Who are these guys anyway? 3
    4. 4. Who are these guys anyway? 4
    5. 5. Who are these guys anyway? 5
    6. 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. 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. 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
    9. 9. Along came Larry... 9
    10. 10. Google vs Oracle - Round 1 - Fight! 10
    11. 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. 12. Parting of the ways and new joiners 12 Original Image by Acaben
    13. 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. 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. 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. 16. And now for something completely different... Concurrency• Otters!• Collaborative• Competitive• Sneaky• Hare off in different directions• Can wreak havoc if not contained 16
    17. 17. Why concurrency matters again 17
    18. 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. 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. 20. Java is not just the language 20
    21. 21. It’s about the community innit! Original Image by US Embassy Sweden 21
    22. 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. 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. 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. 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. 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. 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. 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. 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. 30. Thanks for listening: wellgrndjava50 30

    ×