Java, now and forever

Post on 21-Mar-2017

44 views 2 download

Transcript of Java, now and forever

JAVANOW AND FOREVER

Agenda

• Java Past, Present and Future

• Thought on Java• Java?

JAVAPast, Present & Future

the Past

Before Java

CFortran

PascalPerl

SmalltalkLisp

C++

History – Brief look

Early history 1991-1995

Release - Gaining traction

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

Stagnation

Revival

9M developers97% of Enterprise Desktops Run Java

3 billions devices run Java

5 Billion Java Cards in Use

the Presentleave it for later

the Future

Future

Java 9

Go modularSelf-tuning JVM

Money and Currency API

Java EE8

2015 2016 2017 2018 ....

Java 10

Thoughts onJava

Java is

Java is

dying

don’t have a Future

Java

What do you guys think?

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)

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

How popular is Java?

Gartner Programming Language Index for 2014

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

IEEE Spectrum Top programming languages 2014

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

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

Top 20 languages by book sales

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

EXAMPLE?REAL WORLD

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

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

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

Conclusion?

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

JAVA is so popular?

Why

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

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

Java future is bright!

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

What is

Java?

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

But it’s not just a languagealso a platform

Gigantica

one

Language&Platform

Java Platform

OSes

FrameworksLibraries

Languages

Deployment Technologies

APIs IDEsToolsSpecifications

Standards

PCSmart phoneEmbedded devices

Vendors OrganizationCommunity

JVMs

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

Where does Java

shine?

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

Java Universe

What’s at the center?

JVM

JVM

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

Who

control Java?

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….

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

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

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.

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

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)

HAD ANSWER?

JVM languages• Why?• 50 languages & 250 dialects

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