SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Java….rumours of my demise have been
        greatly exaggerated
                Steve Dalton - @spidie
       refactor.com.au - codingbynumbers.com
Java =

     Java the Language
              +
 Java Virtual Machine (JVM)
              +
Java Community Process (JCP)
Java is dead, long live Java

        JVM.... NO!
Java the language.... Maybe
      JCP.... Probably

Yes, I know I'm starting with a conclusion here...
                   move along
JVM
Linux JVM Options




For more see: http://en.wikipedia.org/wiki/List_of_Java_virtual_machines
something to watch....


         Dalvik
Java the
Language
First a bit of history...


     Where did 20 years go?
1990
Stealth Project Begins
  (Patrick Naughton)
1991
    Renamed to Green Project
(+ James Gosling & Mike Sheridan)
1992
Green OS & Oak Language Demoed
1993
Green → FirstPerson project
      (set-top boxes)
1994
1995
Oak renamed to Java
1996
JDK 1.0 Released
1997
                     JDK 1.1
Inner Classes, Java Beans, JDBC, RMI, Reflection
1998
            J2SE 1.2
Swing, JVM gets a JIT, Collections
         JCP established
1998
JDK 1.1 downloads pass 2 million
1999
Java Platform 2 source released
            J2EE 1.2
             J2ME
2000
        Apple support Java
             J2SE 1.3
Hotspot JVM, JavaSound, JNDI, JPDA
2001
 J2EE 1.3
2002
                  J2SE 1.4
Regex, better exceptions, IPV6, logging, JAXP,
         Security, Web Start, Prefs
2003
 J2EE 1.4
2004
                    J2SE 5
 Generics, Annotations, Autoboxing, Enums,
Varargs, ForEach, Static Imports, Concurrency,
2005
2006
                  Java SE 6
Scripting Language, PERFORMANCE + Lots of
             JVM improvements
           Java SE7 Project begins
                    JEE 5
            OpenJDK announced
2007
           JavaFX announced
Compiler and JavaFX Script Open Sourced
2008
JavaFX Platform 1.0
2009
   JavaFX 1.1
   JavaFX 1.2
      JEE 6
Oracle/Sun Merger
2010
  Revised Java roadmap announced
   Lot's of Java 7 features dropped
        JavaFX Script dropped
      Quickly forked into Visage
Oracle sue Google over Dalvik/Android
     Apple deprecate Java in OSX
bad press...then donate it to OpenJDK!
        IBM move to OpenJDK
             JCP Madness!
2011?
                  Java 7
Invoke Dynamic, Project Coin, Concurrency &
        Collections updates, NIO 2
                 Java FX 2
2012?
                  Java 8
Invoke Dynamic, Project Coin, Concurrency &
        Collections updates, NIO 2
???


Steve's confidence level in Java the language
                    low....
Java lang innovation
     just not happening
●
  Generics caused a lot of confusion
●
  Closures in Java 7 fiasco
●
  Meanwhile
  ●
    dotnet moves on
  ●
    Rise of Dynamic languages
  ●
    Functional Programming back with a
    vengeance
???



Why do I develop on this platform?
However, community
   finds a way...
Many Java Language Alternatives on JVM

              Canonical
               Ported
●   Super Java
●   Dynamically Typed
●   Clear migration path
●   Well established
●   Closures, DSLs & Builders
●   Groovy++ makes it static
●   Statically Typed
●   Functional or Imperative (you chose)
●   Concurrency built in (actor model)
●   Twitter and Foursquare big users
●   Lift Framework for web apps
●
              Dynamic
          ●
              Lisp dialect
          ●
              Functional
          ●
              REPL for simple
              interactive
              programming

Clojure       Concurrency baked in
          ●


          ●
              Compojure, Ring,
              Leiningen
Ports
…and many more
                         ●   jaskell
                         ●   jsqueak
                         ●   mirah
                         ●   noop
                         ●   jacl
                         ●   frink

Or even make your own Domain Specific
              Language!
Java the
Community
IDEs




+ vim, emacs, gedit, geany and every other
          editor under the sun
JOSS
Web Frameworks
JOSS in the
“Enterprise”
Java Community
      Process (JCP)
Java Specification Requests (JSR) – over 300

 JSR = Ref Implementation (with Source) +
    Technology Compatibility Kit (TCK)

      JCP Executive Committee Votes
Sounds ok – what's the problem?
So... where are we
         heading?
      JVM is a still rock solid platform
       Toolset is still pretty awesome
     Java community still very strong
Doubts about language – COBOL of our time?
         WTF are Oracle doing???
Steve's Predictions
                   JCP is dead
  Java 7/8 will happen but will anyone care?
  Groovy will replace Java for a lot of tasks
    Scala will do well but not for everyone
      Clojure...niche, but could be HUGE
             Might see some forks
But all depends on dreaded Software Patents.

          Google GO for Android?
http://codingbynumbers.com

               also on iTunes (sorry RMS!)


Attribution:
      http://www.flickr.com/photos/minifig/3186925111/

Contenu connexe

Tendances

02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java iRavi Patki
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolutionAtul Sehdev
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallerynjbartlett
 
Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)smancke
 
Java Presentation
Java PresentationJava Presentation
Java PresentationAmr Salah
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingStephen Chin
 
Simple Pure Java
Simple Pure JavaSimple Pure Java
Simple Pure JavaAnton Keks
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java Hitesh-Java
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
Eclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseEclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseMiles Sabin
 
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
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?Miles Sabin
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programmingbusiness Corporate
 

Tendances (20)

Evolution Of Java
Evolution Of JavaEvolution Of Java
Evolution Of Java
 
Java History
Java HistoryJava History
Java History
 
02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java i
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolution
 
Java 1
Java 1Java 1
Java 1
 
Java (1)
Java (1)Java (1)
Java (1)
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallery
 
Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi Hacking
 
9 cm604.1
9 cm604.19 cm604.1
9 cm604.1
 
Simple Pure Java
Simple Pure JavaSimple Pure Java
Simple Pure Java
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
Java features
Java featuresJava features
Java features
 
Lec 3 01_aug13
Lec 3 01_aug13Lec 3 01_aug13
Lec 3 01_aug13
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
Eclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseEclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in Eclipse
 
Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programming
 

En vedette

Presentation maastricht red eportfolio
Presentation maastricht red eportfolioPresentation maastricht red eportfolio
Presentation maastricht red eportfolioerubio
 
Scrum Failure Modes in Small Business
Scrum Failure Modes in Small BusinessScrum Failure Modes in Small Business
Scrum Failure Modes in Small BusinessSteve Dalton
 
Gold Coast Tech Space
Gold Coast Tech SpaceGold Coast Tech Space
Gold Coast Tech SpaceSteve Dalton
 
"Dinamizadores de la Innovación: eInnovador"
"Dinamizadores de la Innovación: eInnovador""Dinamizadores de la Innovación: eInnovador"
"Dinamizadores de la Innovación: eInnovador"erubio
 
Intro to the_furr_high_school_library (2010)
Intro to the_furr_high_school_library (2010)Intro to the_furr_high_school_library (2010)
Intro to the_furr_high_school_library (2010)furr_librarian
 
Getting started programming on Linux
Getting started programming on LinuxGetting started programming on Linux
Getting started programming on LinuxSteve Dalton
 
C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...
C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...
C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...furr_librarian
 
Fundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_be
Fundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_beFundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_be
Fundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_bedvdpugent
 

En vedette (9)

Presentation maastricht red eportfolio
Presentation maastricht red eportfolioPresentation maastricht red eportfolio
Presentation maastricht red eportfolio
 
Scrum Failure Modes in Small Business
Scrum Failure Modes in Small BusinessScrum Failure Modes in Small Business
Scrum Failure Modes in Small Business
 
Gold Coast Tech Space
Gold Coast Tech SpaceGold Coast Tech Space
Gold Coast Tech Space
 
Cmi modelo gavilan
Cmi modelo gavilanCmi modelo gavilan
Cmi modelo gavilan
 
"Dinamizadores de la Innovación: eInnovador"
"Dinamizadores de la Innovación: eInnovador""Dinamizadores de la Innovación: eInnovador"
"Dinamizadores de la Innovación: eInnovador"
 
Intro to the_furr_high_school_library (2010)
Intro to the_furr_high_school_library (2010)Intro to the_furr_high_school_library (2010)
Intro to the_furr_high_school_library (2010)
 
Getting started programming on Linux
Getting started programming on LinuxGetting started programming on Linux
Getting started programming on Linux
 
C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...
C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...
C:\Documents And Settings\Ggeorge3\Desktop\Library\Intro To The Furr High Sch...
 
Fundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_be
Fundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_beFundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_be
Fundraising presentation griet_verhaert_dirk_van_den_poel_www_crm_ugent_be
 

Similaire à Java: Rumours of my demise are greatly exaggerated

Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themesJava 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themesLucas Jellema
 
20 Years of Java - Story of HER life
20 Years of Java - Story of HER life20 Years of Java - Story of HER life
20 Years of Java - Story of HER lifeStojan Peshov
 
Building MapAttack
Building MapAttackBuilding MapAttack
Building MapAttackKyle Drake
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBrian Sam-Bodden
 
01-Introduction.ppt
01-Introduction.ppt01-Introduction.ppt
01-Introduction.pptEmanAsem4
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Damien Dallimore
 
Java and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystemJava and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystemRafael Winterhalter
 
Introduction to java
Introduction to java Introduction to java
Introduction to java Sandeep Rawat
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastUzairSaeed18
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote presoArtur Alves
 
Why JVM will outlive java?
Why JVM will outlive java?Why JVM will outlive java?
Why JVM will outlive java?Ram Lakshmanan
 
JBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java BoxJBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java BoxTikal Knowledge
 

Similaire à Java: Rumours of my demise are greatly exaggerated (20)

Java8 launch at AMIS Services / First8
Java8 launch at AMIS Services / First8Java8 launch at AMIS Services / First8
Java8 launch at AMIS Services / First8
 
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themesJava 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Why Java
Why JavaWhy Java
Why Java
 
20 Years of Java - Story of HER life
20 Years of Java - Story of HER life20 Years of Java - Story of HER life
20 Years of Java - Story of HER life
 
Java8 launch AMIS Services by Lucas Jellema
Java8 launch AMIS Services by Lucas Jellema Java8 launch AMIS Services by Lucas Jellema
Java8 launch AMIS Services by Lucas Jellema
 
Java Technology Trends
Java Technology TrendsJava Technology Trends
Java Technology Trends
 
Introducing Java 7
Introducing Java 7Introducing Java 7
Introducing Java 7
 
Building MapAttack
Building MapAttackBuilding MapAttack
Building MapAttack
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
01-Introduction.ppt
01-Introduction.ppt01-Introduction.ppt
01-Introduction.ppt
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)
 
Java and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystemJava and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystem
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 Fast
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
 
Why JVM will outlive java?
Why JVM will outlive java?Why JVM will outlive java?
Why JVM will outlive java?
 
Java -lec-1
Java -lec-1Java -lec-1
Java -lec-1
 
JBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java BoxJBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java Box
 

Dernier

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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 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
 
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
 
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
 
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
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Dernier (20)

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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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 ...
 
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
 
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...
 
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...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Java: Rumours of my demise are greatly exaggerated

  • 1. Java….rumours of my demise have been greatly exaggerated Steve Dalton - @spidie refactor.com.au - codingbynumbers.com
  • 2. Java = Java the Language + Java Virtual Machine (JVM) + Java Community Process (JCP)
  • 3. Java is dead, long live Java JVM.... NO! Java the language.... Maybe JCP.... Probably Yes, I know I'm starting with a conclusion here... move along
  • 4. JVM
  • 5. Linux JVM Options For more see: http://en.wikipedia.org/wiki/List_of_Java_virtual_machines
  • 8. First a bit of history... Where did 20 years go?
  • 9. 1990 Stealth Project Begins (Patrick Naughton)
  • 10. 1991 Renamed to Green Project (+ James Gosling & Mike Sheridan)
  • 11. 1992 Green OS & Oak Language Demoed
  • 12. 1993 Green → FirstPerson project (set-top boxes)
  • 13. 1994
  • 16. 1997 JDK 1.1 Inner Classes, Java Beans, JDBC, RMI, Reflection
  • 17. 1998 J2SE 1.2 Swing, JVM gets a JIT, Collections JCP established
  • 18. 1998 JDK 1.1 downloads pass 2 million
  • 19. 1999 Java Platform 2 source released J2EE 1.2 J2ME
  • 20. 2000 Apple support Java J2SE 1.3 Hotspot JVM, JavaSound, JNDI, JPDA
  • 22. 2002 J2SE 1.4 Regex, better exceptions, IPV6, logging, JAXP, Security, Web Start, Prefs
  • 24. 2004 J2SE 5 Generics, Annotations, Autoboxing, Enums, Varargs, ForEach, Static Imports, Concurrency,
  • 25. 2005
  • 26. 2006 Java SE 6 Scripting Language, PERFORMANCE + Lots of JVM improvements Java SE7 Project begins JEE 5 OpenJDK announced
  • 27. 2007 JavaFX announced Compiler and JavaFX Script Open Sourced
  • 29. 2009 JavaFX 1.1 JavaFX 1.2 JEE 6 Oracle/Sun Merger
  • 30. 2010 Revised Java roadmap announced Lot's of Java 7 features dropped JavaFX Script dropped Quickly forked into Visage Oracle sue Google over Dalvik/Android Apple deprecate Java in OSX bad press...then donate it to OpenJDK! IBM move to OpenJDK JCP Madness!
  • 31. 2011? Java 7 Invoke Dynamic, Project Coin, Concurrency & Collections updates, NIO 2 Java FX 2
  • 32. 2012? Java 8 Invoke Dynamic, Project Coin, Concurrency & Collections updates, NIO 2
  • 33. ??? Steve's confidence level in Java the language low....
  • 34. Java lang innovation just not happening ● Generics caused a lot of confusion ● Closures in Java 7 fiasco ● Meanwhile ● dotnet moves on ● Rise of Dynamic languages ● Functional Programming back with a vengeance
  • 35. ??? Why do I develop on this platform?
  • 36. However, community finds a way... Many Java Language Alternatives on JVM Canonical Ported
  • 37. Super Java ● Dynamically Typed ● Clear migration path ● Well established ● Closures, DSLs & Builders ● Groovy++ makes it static
  • 38. Statically Typed ● Functional or Imperative (you chose) ● Concurrency built in (actor model) ● Twitter and Foursquare big users ● Lift Framework for web apps
  • 39. Dynamic ● Lisp dialect ● Functional ● REPL for simple interactive programming Clojure Concurrency baked in ● ● Compojure, Ring, Leiningen
  • 40. Ports
  • 41. …and many more ● jaskell ● jsqueak ● mirah ● noop ● jacl ● frink Or even make your own Domain Specific Language!
  • 43. IDEs + vim, emacs, gedit, geany and every other editor under the sun
  • 44. JOSS
  • 47. Java Community Process (JCP) Java Specification Requests (JSR) – over 300 JSR = Ref Implementation (with Source) + Technology Compatibility Kit (TCK) JCP Executive Committee Votes
  • 48. Sounds ok – what's the problem?
  • 49. So... where are we heading? JVM is a still rock solid platform Toolset is still pretty awesome Java community still very strong Doubts about language – COBOL of our time? WTF are Oracle doing???
  • 50. Steve's Predictions JCP is dead Java 7/8 will happen but will anyone care? Groovy will replace Java for a lot of tasks Scala will do well but not for everyone Clojure...niche, but could be HUGE Might see some forks But all depends on dreaded Software Patents. Google GO for Android?
  • 51. http://codingbynumbers.com also on iTunes (sorry RMS!) Attribution: http://www.flickr.com/photos/minifig/3186925111/