java, now and forever
TRANSCRIPT
![Page 1: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/1.jpg)
JAVANOW AND FOREVER
![Page 2: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/2.jpg)
Agenda
• Java Past, Present and Future
• Thought on Java• Java?
![Page 3: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/3.jpg)
JAVAPast, Present & Future
![Page 4: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/4.jpg)
the Past
![Page 5: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/5.jpg)
Before Java
CFortran
PascalPerl
SmalltalkLisp
C++
![Page 6: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/6.jpg)
History – Brief look
![Page 7: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/7.jpg)
Early history 1991-1995
![Page 8: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/8.jpg)
Release - Gaining traction
![Page 9: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/10.jpg)
Stagnation
![Page 11: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/12.jpg)
the Presentleave it for later
![Page 13: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/13.jpg)
the Future
![Page 14: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/15.jpg)
Thoughts onJava
![Page 16: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/16.jpg)
Java is
![Page 17: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/17.jpg)
Java is
dying
![Page 18: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/18.jpg)
don’t have a Future
Java
![Page 19: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/19.jpg)
What do you guys think?
![Page 20: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/22.jpg)
How popular is Java?
![Page 23: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/23.jpg)
Source: http://www.google.com/trends/explore#q=%2Fm%2F07sbkfb%2C%20%2Fm%2F01t6b%2C%20%2Fm%2F07657k%2C%20%2Fm%2F060kv%2C%20%2Fm%2F02p97&cmpt=q&tz=
Google trend
![Page 24: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/25.jpg)
IEEE Spectrum Top programming languages 2014
Source: http://spectrum.ieee.org/computing/software/top-10-programming-languages
![Page 26: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/26.jpg)
![Page 27: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/29.jpg)
EXAMPLE?REAL WORLD
![Page 30: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/30.jpg)
Few big names use Java extensively• IBM• Google• Oracle• Ebay• Amazon• Facebook• Yahoo• Netflix• Linkedin• Tumblr• Square
![Page 31: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/33.jpg)
Conclusion?
![Page 34: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/34.jpg)
Hell no!• Java is awfully healthy!• Extreme popular• Gigantic ecosystem & community
![Page 35: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/35.jpg)
JAVA is so popular?
Why
![Page 36: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/36.jpg)
Here’s Why• Come at right time • Easy to learn • Safe choice
• Maturity• Libraries & Tools• Community• Robust• Stable
![Page 37: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/37.jpg)
Java future is bright!
![Page 38: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/39.jpg)
What is
Java?
![Page 40: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/41.jpg)
But it’s not just a languagealso a platform
Gigantica
one
![Page 42: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/42.jpg)
Language&Platform
![Page 43: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/43.jpg)
Java Platform
OSes
FrameworksLibraries
Languages
Deployment Technologies
APIs IDEsToolsSpecifications
Standards
PCSmart phoneEmbedded devices
Vendors OrganizationCommunity
JVMs
![Page 44: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/44.jpg)
Java Flavors• SE• EE• ME & Card• JavaFX
![Page 45: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/45.jpg)
Where does Java
shine?
![Page 46: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/47.jpg)
Java Universe
What’s at the center?
JVM
![Page 48: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/48.jpg)
JVM
![Page 49: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/50.jpg)
Who
control Java?
![Page 51: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/57.jpg)
HAD ANSWER?
![Page 58: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/58.jpg)
JVM languages• Why?• 50 languages & 250 dialects
![Page 59: Java, now and forever](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58d061481a28ab10448b550d/html5/thumbnails/60.jpg)