Java, now and forever

60
JAVA NOW AND FOREVER

Transcript of Java, now and forever

Page 1: Java, now and forever

JAVANOW AND FOREVER

Page 2: Java, now and forever

Agenda

• Java Past, Present and Future

• Thought on Java• Java?

Page 3: Java, now and forever

JAVAPast, Present & Future

Page 4: Java, now and forever

the Past

Page 5: Java, now and forever

Before Java

CFortran

PascalPerl

SmalltalkLisp

C++

Page 6: Java, now and forever

History – Brief look

Page 7: Java, now and forever

Early history 1991-1995

Page 8: Java, now and forever

Release - Gaining traction

Page 9: Java, now and forever

Steady Growth

Number of Java Web Framework blooms (Spring, Struts, Hibernate, Tapestry, etc )

April 2004: 250 Million mobile phones support J2MEOctober 2004: 1.7 Billion mobile phones support J2ME

Page 10: Java, now and forever

Stagnation

Page 11: Java, now and forever

Revival

9M developers97% of Enterprise Desktops Run Java

3 billions devices run Java

5 Billion Java Cards in Use

Page 12: Java, now and forever

the Presentleave it for later

Page 13: Java, now and forever

the Future

Page 14: Java, now and forever

Future

Java 9

Go modularSelf-tuning JVM

Money and Currency API

Java EE8

2015 2016 2017 2018 ....

Java 10

Page 15: Java, now and forever

Thoughts onJava

Page 16: Java, now and forever

Java is

Page 17: Java, now and forever

Java is

dying

Page 18: Java, now and forever

don’t have a Future

Java

Page 19: Java, now and forever

What do you guys think?

Page 20: Java, now and forever

Arguments• COBOL of 21st century• Legacy syntax (verbose, etc.)• Productivity is limited• Insecure• Slow• No one use it anymore• The rise of alternatives (C#, Ruby, Python, Node.js)

Page 21: Java, now and forever

Counter-arguments• COBOL of 21st

century • Legacy syntax• Productivity is limited• Insecure • Slow • No one use it

anymore• The rise of

alternatives

• Want to start a project in Java?• It has its reason, especially code

readability• Partly true• Big misunderstanding• It’s history, ever heard of JIT• are you f**king kidding me?• see later

Page 22: Java, now and forever

How popular is Java?

Page 24: Java, now and forever

Gartner Programming Language Index for 2014

Source: http://blogs.gartner.com/mark_driver/2014/10/02/gartner-programming-language-index-for-2014/

Page 25: Java, now and forever

IEEE Spectrum Top programming languages 2014

Source: http://spectrum.ieee.org/computing/software/top-10-programming-languages

Page 26: Java, now and forever
Page 27: Java, now and forever

Dice.com Job listing

Java JavaScript HTML C# XML Objective C C++ PHP 0

2000

4000

6000

8000

10000

12000

14000

16000

18000

16489

11969

8318 78346735 6194

48712982

Number of job a day

Source: www.Dice.com

Page 28: Java, now and forever

Top 20 languages by book sales

Source: http://radar.oreilly.com/2012/04/computer-book-market-2011-part4.html

Page 29: Java, now and forever

EXAMPLE?REAL WORLD

Page 30: Java, now and forever

Few big names use Java extensively• IBM• Google• Oracle• Ebay• Amazon• Facebook• Yahoo• Netflix• Linkedin• Tumblr• Square

Page 31: Java, now and forever

Example comeback to Java again• Linkedin from Scala Java• Twitter from Ruby Java : performance• Yammer from Scala Java: complexity & performance

Page 32: Java, now and forever

Statistics

500 million page views a day 15B+ page views month Peak rate of ~40k requests per second 1+ TB/day into Hadoop cluster

Tweets (peak) ~25'000/secondTweets (avg) ~250 million/day (1000/second) API calls 6 billion/day (70'000/second) New data ~8 TB/day (80MB/second)

1B page views / day26 billion SQL/day

>270 million active user 191 million unique visit/month

Page 33: Java, now and forever

Conclusion?

Page 34: Java, now and forever

Hell no!• Java is awfully healthy!• Extreme popular• Gigantic ecosystem & community

Page 35: Java, now and forever

JAVA is so popular?

Why

Page 36: Java, now and forever

Here’s Why• Come at right time • Easy to learn • Safe choice

• Maturity• Libraries & Tools• Community• Robust• Stable

Page 37: Java, now and forever

Java future is bright!

Page 38: Java, now and forever

Java future is bright!• Actively developed, continuous to evolve • Back by giant corporation• Mobile development:

• Android • Cross-platform mobile development

• Internet of Thing: embedded-Java• Big data

Page 39: Java, now and forever

What is

Java?

Page 40: Java, now and forever

Java programming language• “A simple, object oriented, distributed, interpreted, robust, secure,

architecture- ‐ neutral, portable, high performance, multi-threaded, dynamic language”

Sun Microsystem

• “Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible”

Wikipedia

Page 41: Java, now and forever

But it’s not just a languagealso a platform

Gigantica

one

Page 42: Java, now and forever

Language&Platform

Page 43: Java, now and forever

Java Platform

OSes

FrameworksLibraries

Languages

Deployment Technologies

APIs IDEsToolsSpecifications

Standards

PCSmart phoneEmbedded devices

Vendors OrganizationCommunity

JVMs

Page 44: Java, now and forever

Java Flavors• SE• EE• ME & Card• JavaFX

Page 45: Java, now and forever

Where does Java

shine?

Page 46: Java, now and forever

Everywhere• Enterprise• Mobile: ~80% (Android + BlackBerry)• Web• Software Tools: Eclipse, Jenkins, JIRA, etc.• Embedded: 12-15% behind C, C++, Assembly• Big Data : ~50%• ScientifiC

Page 47: Java, now and forever

Java Universe

What’s at the center?

JVM

Page 48: Java, now and forever

JVM

Page 49: Java, now and forever

JVM implementation

Total 73 implementation44 FOS20 Proprietary 9 Other

Sun/OracleHotSpot OpenJDKKVM Maxine VM

Foundation and major implementations

Apache Harmony KaffeExcelsior JET IKVM.NETGCJ IBM J9JamVM JRockit (BEA/Oracle)Jikes RVM Azul Zing JVM

Azul Zulu

EmbeddedExcelsior JET Embedded MysaifuJamaicaVM Squawk (Sun) Mika VM

Android Dalvik ART Other CACAO JX

Discontinued

Microsoft JVM JupiterSableVM JaosWonka VM Mac OS Runtime for JavaJC virtual machine Juice (JVM)SuperWaba AegisVM

Page 50: Java, now and forever

Who

control Java?

Page 51: Java, now and forever

JCP - Java Community Process• Official organization to oversee development of Java platform• Oracle, IBM, Red Hat, Eclipse Foundation, the London Java

Community (LJC), SouJava, Cloudbees, Goldman Sachs, Credit Suisse, Fujitsu, Intel, Nokia and Twitter, etc….

Page 52: Java, now and forever

Java Specification Requests (JSRs) • Specification• Expert Group• Reference implementation• Technology Compatibility Kit• >300 JSRs

JSR # Specification152 JavaServer Pages (JSP) 2.0153 Enterprise JavaBeans (EJB) 2.1154 Java Servlet 2.4 and 2.5 Specifications[7]

168 Portlet specification 1.0170 Content repository API for Java (JCR) 1.0199 Java Compiler API205 Wireless Messaging API 2.0 (WMA) 2.0221 Java Database Connectivity (JDBC) 4.0222 Java Architecture for XML Binding (JAXB) 2.0244 Java Platform, Enterprise Edition (Java EE) 5

Page 53: Java, now and forever

Java User Groups (JUGs)• better connect Java professionals & fans share

knowledge, advice, the latest news & trends in the Java world

• Virtual JUG: internet community• 3000-5000 each group• Adopt a JSR program

Page 54: Java, now and forever

Java Champion• great people from Java ecosystem • opinion is essential in determining the direction for Java

Platform • first to provide feedback, generate ideas and evaluate

possible solutions regarding anything in Java• 386 members.

Page 55: Java, now and forever

Apache Software Foundation• non-profit corporation support

Apache projects• ~3000 volunteer• 113 active project

Struts Cassandra Cordova Tomcat Solr OpenOfficeMaven Subversion HttpdAnt Jmeter LucenceHadoop OpenJPA logging

Page 56: Java, now and forever

Eclipse Foundation• non-profit corporation support build a open source development platform • members : 10 strategic, 125 solution, 93 associate• strategic: Oracle, IBM, Red Hat, Fujitsu, Intel, Nokia and Twitter• 180 active project & sub project

Eclipse Platform Java development tools (JDT) Hudson

BIRTPlug-in Development Environment (PDE)

Graphical Modeling Framework (GMF)

Mylyn Jetty Standard Widget ToolkitEquinox AspectJ EclipseLinkeGit Rich client platform (RCP)

Page 57: Java, now and forever

HAD ANSWER?

Page 58: Java, now and forever

JVM languages• Why?• 50 languages & 250 dialects

Page 59: Java, now and forever

Summary• Top choice • Should happy because we are working on Java• A lot of thing to explore in Java world

Page 60: Java, now and forever