SlideShare a Scribd company logo
1 of 37
Download to read offline
Java
> where we were?
> where we are?
> where we’re going?
& know how
About me:
se.linkedin.com/in/hamidsamadi/
Java developer since 1995
CEO Solid Beans AB www.solidbeans.com
CEO Matchup AB www.matchup.se
Java Instructor for www.informator.se
PrimeFaces Nordic agent www.primefaces.org
Event organizer jDays www.jdays.se
Event organizer Android Forum Göteborg
Where we were?
In June 1991:
James Gosling starts working
on an interpreter (called "Oak"),
which, several years later is
renamed "Java."
Source
File

Compiler

Executable
File
Where we were?
In August 1991:
- A small group of Sun engineers called the
"Green Team“, led by James Gosling,
demonstrates basic user interface ideas and
graphics system to Suns co-founders
- They believed that the
next wave in computing
was the union of digital
consumer devices and
computers
Where we were?
From 1991 to 1995:
Events & evolution such as:
- Mosaic 1.0, the first graphical browser for
the Internet, is released
- Interactive Cable TV
- Java compiler in Java has been
implemented (James had previously
implemented it in C)
- Java compatible browsers (Netscape)
Where we were?
From 1991 to 1995:
This concept was too much advanced for the
industry at the time BUT it was just right for
the Internet, which was just starting to take
off. In 1995, the team announced that the
Netscape Navigator Internet browser would
integrate with Java technology.
Where we were?
So:
- The first programming language was created,
a cross-platform computing environment NOT
tied to any particular operating system or
microprocessor!
- Applications written in Java will run anywhere
- Eliminating incompatibility between operating
systems and versions of operating systems.
Where we were?
Java Iterpreter
Java Virtual
Machine
Compiler
Operating System
Interpreter

Windows

Interpreter

Unix

Interpreter

MacOS
Where we were?
Java Technology consists of:
- Java Language: used to develop software
for mobile devices, browser-run applets,
games, desktop, enterprise (server-side), and
scientific applications
- Java Platform: consists of Java Virtual
Machine (JVM) responsible for hardware
abstraction
- Java Tools: like java compiler
Where we were?
Java Development Kit 1.0 was released on
January 23, 1996
JDK API
Where we were?
JDK releases:
- 1995 Alpha & Beta
- 1996 JDK 1.0 > Basic support for AWT
- 1997 JDK 1.1 > JavaBeans, RMI, AWT,
JDBC, servlets, JNDI, EJB
- 1998 Java 1.2 > Reflection, Swing, Java
Collections Framework, plug-in, …
Becomes known as Java 2, Port to Linux.
Where we were?
- 1999 XML support, JavaServer Pages,
Java Editions (J2ME, J2SE, J2EE) …
- 2000 J2SE 1.3 RMI/CORBA, JavaSound, …
- 2002 J2SE 1.4 …
- 2004 J2SE 5 New languages futures, @ …
- 2006 Java SE 6
- 2011 Java SE 7
- 2014/01/23 Java SE 8 Final Release
Candidate
Where we are?
- 9 Million Java Developers Worldwide
- #1 Choice for Developers
- #1 Development Platform
- 3 Billion Mobile Phones Run Java
- 100 Percent of Blu-ray Disc Players Ship with Java
- 97 Percent of Enterprise Desktops Run Java
- 5 Billion Java Cards in use
- 7 Billion Java Cards sold
- 89% of desktops run java
- 125 million TV devices run java
Source: JavaOne 2013 Strategy Keynote
Where we are?
Also Many embedded devices are based on Java:
set-top boxes, printers, web cams, games, car
navigation systems, lottery terminals, medical
devices, parking payment stations, etc
Where we are?
- Java is not a new programming language any more.
- From early 1995 until now we have seen how it has
developed from a JDK (Java Development Kit) to
Java EE (Enterprise Edition) and new Java Open
Source frameworks and technologies.
- At the beginning, Java was about a few packages
and APIs you could use to solve small problems. But,
what about now, when Java has branched out into
several technologies and Open Source frameworks?
Where we are?
There are four Java Platforms:
1) Java Standard Edition (Java SE)
2) Java Enterprise Edition (Java EE)
3) Java Micro Edition (Java ME)
4) JavaFX

ME

SE

EE

JavaFX
Where we are?
Where we are? Java SE
Where we are? Java EE
Built on top of the Java SE
platform, for developing
and running large-scale,
multi-tiered, scalable,
reliable, and secure
network applications
Where we are? Java ME
- APIs & small virtual machine for running
java programming language applications on
small devices, like mobile phones.
- A subset of the JavaSE
API
- Java ME applications
are often clients of Java
EE platform services
Where we are?
Java FX: a platform for creating rich internet
applications using a lightweight user-interface
API
Where we’re going? Open Source
Many APIs & tools
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o

Ajax
AOP
Bloggers
Build system
Business Intelligent
ByteCode Libraries
CMS (Content Management
System)
Cache Solutions
Charting & Reporting Tools
Chat servers
Code analyzer
Code Coverage Tools
Collection Libraries
Command line interpreters
Database Connection Pools
ERP & CRM Software
Eclipse plugins
Expressions language

Spring
Primefaces
Hibernate
...

OPEN SOURCE
Where we’re going? Open Source
Many APIs & tools
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o

Financial Software
Forum Software
HTML parsers
IDEs
Tracking software
JEE frameworks
JDBC drivers
JMS
JMX tools
scheduler
Localization &
Internationalization Tools
Logging tools
Mail clients
Network clients/servers
NoSQL Databases
PDF Libraries
Parser Generators
Persistence Frameworks
Portals
Where we’re going? Open Source
Many APIs & tools
o
o
o
o
o
o
o
o
o
o
o
o

Project management tools
SQL clients
Scripting Languages
Search engine
Security & Cryptography tools
Control Tools
Swing Frameworks & Components
Template Engines
Testing tools
Text processing
UML & Modeling
Validation frameworks

o Web frameworks
o
o
o
o
o
o
o

Web mail clients
Web servers
Web services tools
Web testing tools
Wiki engines
XML parser
XML UI Toolkits

o
o
o
o
o
o
o

...
....
......
........
..........
...........
............
Where we’re going? Open Source
Many APIs & tools
Open Source Web frameworks
Struts
JPublish
Turbine
Jucas
Tapestry
MyFaces
WebWork (Struts 2)
WebOnSwing
Cocoon
VRaptor
Spring MVC
IceFaces (JSF library)
Maverick
RichFaces (JSF library)
Echo
PrimeFaces (JSF library)
Play!
Swinglets
SOFIA
Wicket
Verge
Swingweb
Where we’re going? Open Source
Many APIs & tools
Open Source Web frameworks
Trimpath Junction
Brill
Macaw
jZeno
Makumba
ztemplates
Calyxo
Aranea Web Framework
RIFE
Google Web Toolkit
DWR
Hamlets
JOSSO
Aurora
JAT
ThinWire
OpenXava
Pustefix
Click
RSF
Stripes
Roma Meta Framework
Where we’re going? Open Source
Many APIs & tools
Open Source Web frameworks
Mentawai
wingS
fleXive
Helma
jWic
Vaadin
Flower framework
Wro4j
Vroom
Anvil
Induction
Japple
Sombrero
...
AribaWeb
JVx
Pandora
SK
Where we’re going? Open Source
New languages build on JVM
Where we’re going? Open Source
New languages build on JVM
Why Scala over Java:
- Increased productivity due to reduced
verbosity
- Developers can mix and match
imperative and functional programming
paradigms as needed
- Built-in functionality for parallelism and
concurrency
Where we’re going? Open Source
New languages build on JVM
Where we’re going? Open Source
New languages build on JVM
Opportunity or concerns
Now, we have a problem to solve:
“there are too many choices”

How do we select now?
- Opportunity?
- Concern?
SW Engineering
Many factors are involved in SW engineering!
Know how!
- Usability: focusing on end users
- Focusing on problems: not technologies, tools
and platforms, select the easiest ones
- Be realistic: obtainable competence
- Make a list of what is important for your
Software lifecycle. Identify/prioritize them &
then select
- You can change your mind: most of your
technology choices can change
Know how!
- Easy & Quick: select a SW that you know to
be easier and quicker to prototype.
- Standard vs. Open Source: check the open
source products licenses.
Open Source != Free Software
- Start with capabilities, not implementations
- Cost: consider the total cost
- Involve your team early
- Testing and deployment: software that makes
testing difficult should be avoided
Know how!
- Avoid Lock-in: e.g. if SW has limitation, runs
on a certain Operative System or environment
- New versus existing software: reuse
Thank you for listening
contact@solidbeans.com
More Java? visit www.jdays.se
November, 26-27, Gothenburg

More Related Content

What's hot (20)

JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David DelabasseeJavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
Java withrealworldtechnology
Java withrealworldtechnologyJava withrealworldtechnology
Java withrealworldtechnology
 
Java (1)
Java (1)Java (1)
Java (1)
 
Better Career with Java
Better Career with JavaBetter Career with Java
Better Career with Java
 
From Java to Ruby...and Back
From Java to Ruby...and BackFrom Java to Ruby...and Back
From Java to Ruby...and Back
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Features of java
Features of javaFeatures of java
Features of java
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed TamanJavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
 
Scala
ScalaScala
Scala
 
Java (Part 2) unit 1
Java (Part 2) unit 1Java (Part 2) unit 1
Java (Part 2) unit 1
 
Java 1
Java 1Java 1
Java 1
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
 
Top 10 Dying Programming Languages in 2020 | Edureka
Top 10 Dying Programming Languages in 2020 | EdurekaTop 10 Dying Programming Languages in 2020 | Edureka
Top 10 Dying Programming Languages in 2020 | Edureka
 
Java Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,CoimbatoreJava Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,Coimbatore
 
Ch2
Ch2Ch2
Ch2
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
 

Viewers also liked

Advanced Pay Per Click
Advanced Pay Per ClickAdvanced Pay Per Click
Advanced Pay Per ClickShushant Jha
 
Why add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveWhy add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveEmpire Medical Training
 
Front Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeFront Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeEmpire Medical Training
 
2481 Barrington Rd
2481 Barrington Rd2481 Barrington Rd
2481 Barrington RdMike Scott
 
The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014Roberto Fuso Nerini
 
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone BordetHTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordethamidsamadi
 
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...hamidsamadi
 
The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014Roberto Fuso Nerini
 
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Roberto Fuso Nerini
 
The Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleThe Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleRoberto Fuso Nerini
 
Home Staging Seminar Slide Share
Home Staging Seminar Slide ShareHome Staging Seminar Slide Share
Home Staging Seminar Slide ShareMike Scott
 

Viewers also liked (15)

Advanced Pay Per Click
Advanced Pay Per ClickAdvanced Pay Per Click
Advanced Pay Per Click
 
Why add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveWhy add new Procedures to my Medical Practive
Why add new Procedures to my Medical Practive
 
Presentazione taff projects
Presentazione taff projectsPresentazione taff projects
Presentazione taff projects
 
Front Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeFront Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic Practice
 
2481 Barrington Rd
2481 Barrington Rd2481 Barrington Rd
2481 Barrington Rd
 
The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014
 
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone BordetHTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
 
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
 
The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014
 
#2 4 ps of marketing
#2 4 ps of marketing#2 4 ps of marketing
#2 4 ps of marketing
 
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
 
app-eventi-verona
app-eventi-veronaapp-eventi-verona
app-eventi-verona
 
The Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleThe Vortex - Presentazione Istituzionale
The Vortex - Presentazione Istituzionale
 
Easy Tools for Expo 2015
Easy Tools for Expo 2015Easy Tools for Expo 2015
Easy Tools for Expo 2015
 
Home Staging Seminar Slide Share
Home Staging Seminar Slide ShareHome Staging Seminar Slide Share
Home Staging Seminar Slide Share
 

Similar to Java overview 20131022 (20)

Introduction of java
Introduction  of javaIntroduction  of java
Introduction of java
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdf
 
TechSearchWeb.pdf
TechSearchWeb.pdfTechSearchWeb.pdf
TechSearchWeb.pdf
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdf
 
Java Basic.pdf
Java Basic.pdfJava Basic.pdf
Java Basic.pdf
 
Basics of Java
Basics of JavaBasics of Java
Basics of Java
 
Java 2 computer science.pptx
Java 2 computer science.pptxJava 2 computer science.pptx
Java 2 computer science.pptx
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
 
Open Source and java
Open Source and javaOpen Source and java
Open Source and java
 
S L S
S L SS L S
S L S
 
what is java.pdf
what is java.pdfwhat is java.pdf
what is java.pdf
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java Notes .pdf
Java Notes .pdfJava Notes .pdf
Java Notes .pdf
 
Java application-development
Java application-developmentJava application-development
Java application-development
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programming
 

Recently uploaded

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Java overview 20131022

  • 1. Java > where we were? > where we are? > where we’re going? & know how
  • 2. About me: se.linkedin.com/in/hamidsamadi/ Java developer since 1995 CEO Solid Beans AB www.solidbeans.com CEO Matchup AB www.matchup.se Java Instructor for www.informator.se PrimeFaces Nordic agent www.primefaces.org Event organizer jDays www.jdays.se Event organizer Android Forum Göteborg
  • 3. Where we were? In June 1991: James Gosling starts working on an interpreter (called "Oak"), which, several years later is renamed "Java." Source File Compiler Executable File
  • 4. Where we were? In August 1991: - A small group of Sun engineers called the "Green Team“, led by James Gosling, demonstrates basic user interface ideas and graphics system to Suns co-founders - They believed that the next wave in computing was the union of digital consumer devices and computers
  • 5. Where we were? From 1991 to 1995: Events & evolution such as: - Mosaic 1.0, the first graphical browser for the Internet, is released - Interactive Cable TV - Java compiler in Java has been implemented (James had previously implemented it in C) - Java compatible browsers (Netscape)
  • 6. Where we were? From 1991 to 1995: This concept was too much advanced for the industry at the time BUT it was just right for the Internet, which was just starting to take off. In 1995, the team announced that the Netscape Navigator Internet browser would integrate with Java technology.
  • 7. Where we were? So: - The first programming language was created, a cross-platform computing environment NOT tied to any particular operating system or microprocessor! - Applications written in Java will run anywhere - Eliminating incompatibility between operating systems and versions of operating systems.
  • 8. Where we were? Java Iterpreter Java Virtual Machine Compiler Operating System Interpreter Windows Interpreter Unix Interpreter MacOS
  • 9. Where we were? Java Technology consists of: - Java Language: used to develop software for mobile devices, browser-run applets, games, desktop, enterprise (server-side), and scientific applications - Java Platform: consists of Java Virtual Machine (JVM) responsible for hardware abstraction - Java Tools: like java compiler
  • 10. Where we were? Java Development Kit 1.0 was released on January 23, 1996 JDK API
  • 11. Where we were? JDK releases: - 1995 Alpha & Beta - 1996 JDK 1.0 > Basic support for AWT - 1997 JDK 1.1 > JavaBeans, RMI, AWT, JDBC, servlets, JNDI, EJB - 1998 Java 1.2 > Reflection, Swing, Java Collections Framework, plug-in, … Becomes known as Java 2, Port to Linux.
  • 12. Where we were? - 1999 XML support, JavaServer Pages, Java Editions (J2ME, J2SE, J2EE) … - 2000 J2SE 1.3 RMI/CORBA, JavaSound, … - 2002 J2SE 1.4 … - 2004 J2SE 5 New languages futures, @ … - 2006 Java SE 6 - 2011 Java SE 7 - 2014/01/23 Java SE 8 Final Release Candidate
  • 13. Where we are? - 9 Million Java Developers Worldwide - #1 Choice for Developers - #1 Development Platform - 3 Billion Mobile Phones Run Java - 100 Percent of Blu-ray Disc Players Ship with Java - 97 Percent of Enterprise Desktops Run Java - 5 Billion Java Cards in use - 7 Billion Java Cards sold - 89% of desktops run java - 125 million TV devices run java Source: JavaOne 2013 Strategy Keynote
  • 14. Where we are? Also Many embedded devices are based on Java: set-top boxes, printers, web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, etc
  • 15. Where we are? - Java is not a new programming language any more. - From early 1995 until now we have seen how it has developed from a JDK (Java Development Kit) to Java EE (Enterprise Edition) and new Java Open Source frameworks and technologies. - At the beginning, Java was about a few packages and APIs you could use to solve small problems. But, what about now, when Java has branched out into several technologies and Open Source frameworks?
  • 16. Where we are? There are four Java Platforms: 1) Java Standard Edition (Java SE) 2) Java Enterprise Edition (Java EE) 3) Java Micro Edition (Java ME) 4) JavaFX ME SE EE JavaFX
  • 18. Where we are? Java SE
  • 19. Where we are? Java EE Built on top of the Java SE platform, for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications
  • 20. Where we are? Java ME - APIs & small virtual machine for running java programming language applications on small devices, like mobile phones. - A subset of the JavaSE API - Java ME applications are often clients of Java EE platform services
  • 21. Where we are? Java FX: a platform for creating rich internet applications using a lightweight user-interface API
  • 22. Where we’re going? Open Source Many APIs & tools o o o o o o o o o o o o o o o o o o Ajax AOP Bloggers Build system Business Intelligent ByteCode Libraries CMS (Content Management System) Cache Solutions Charting & Reporting Tools Chat servers Code analyzer Code Coverage Tools Collection Libraries Command line interpreters Database Connection Pools ERP & CRM Software Eclipse plugins Expressions language Spring Primefaces Hibernate ... OPEN SOURCE
  • 23. Where we’re going? Open Source Many APIs & tools o o o o o o o o o o o o o o o o o o Financial Software Forum Software HTML parsers IDEs Tracking software JEE frameworks JDBC drivers JMS JMX tools scheduler Localization & Internationalization Tools Logging tools Mail clients Network clients/servers NoSQL Databases PDF Libraries Parser Generators Persistence Frameworks Portals
  • 24. Where we’re going? Open Source Many APIs & tools o o o o o o o o o o o o Project management tools SQL clients Scripting Languages Search engine Security & Cryptography tools Control Tools Swing Frameworks & Components Template Engines Testing tools Text processing UML & Modeling Validation frameworks o Web frameworks o o o o o o o Web mail clients Web servers Web services tools Web testing tools Wiki engines XML parser XML UI Toolkits o o o o o o o ... .... ...... ........ .......... ........... ............
  • 25. Where we’re going? Open Source Many APIs & tools Open Source Web frameworks Struts JPublish Turbine Jucas Tapestry MyFaces WebWork (Struts 2) WebOnSwing Cocoon VRaptor Spring MVC IceFaces (JSF library) Maverick RichFaces (JSF library) Echo PrimeFaces (JSF library) Play! Swinglets SOFIA Wicket Verge Swingweb
  • 26. Where we’re going? Open Source Many APIs & tools Open Source Web frameworks Trimpath Junction Brill Macaw jZeno Makumba ztemplates Calyxo Aranea Web Framework RIFE Google Web Toolkit DWR Hamlets JOSSO Aurora JAT ThinWire OpenXava Pustefix Click RSF Stripes Roma Meta Framework
  • 27. Where we’re going? Open Source Many APIs & tools Open Source Web frameworks Mentawai wingS fleXive Helma jWic Vaadin Flower framework Wro4j Vroom Anvil Induction Japple Sombrero ... AribaWeb JVx Pandora SK
  • 28. Where we’re going? Open Source New languages build on JVM
  • 29. Where we’re going? Open Source New languages build on JVM Why Scala over Java: - Increased productivity due to reduced verbosity - Developers can mix and match imperative and functional programming paradigms as needed - Built-in functionality for parallelism and concurrency
  • 30. Where we’re going? Open Source New languages build on JVM
  • 31. Where we’re going? Open Source New languages build on JVM
  • 32. Opportunity or concerns Now, we have a problem to solve: “there are too many choices” How do we select now? - Opportunity? - Concern?
  • 33. SW Engineering Many factors are involved in SW engineering!
  • 34. Know how! - Usability: focusing on end users - Focusing on problems: not technologies, tools and platforms, select the easiest ones - Be realistic: obtainable competence - Make a list of what is important for your Software lifecycle. Identify/prioritize them & then select - You can change your mind: most of your technology choices can change
  • 35. Know how! - Easy & Quick: select a SW that you know to be easier and quicker to prototype. - Standard vs. Open Source: check the open source products licenses. Open Source != Free Software - Start with capabilities, not implementations - Cost: consider the total cost - Involve your team early - Testing and deployment: software that makes testing difficult should be avoided
  • 36. Know how! - Avoid Lock-in: e.g. if SW has limitation, runs on a certain Operative System or environment - New versus existing software: reuse
  • 37. Thank you for listening contact@solidbeans.com More Java? visit www.jdays.se November, 26-27, Gothenburg