Sie sind auf Seite 1von 15

JAVA

Evoluo do Java
Prof. M. Sc. Edgar Gurgel

Linguagem Java - Conceito


Java o nome da linguagem de programao usada para
desenvolver programas.
programas Java multiplataforma.
multiplataforma Isto
quer dizer que no necessrio usar um tipo especifico
de computador, no importa se voc usa Windows, Mac,
ou Unix. Na internet encontramos pequenas aplicaes
em Java(Applets), que so carregadas e executadas no
browser do usurio. Esta caracterstica causa muita
p
em relao

ao Java,, p
pois espera-se
p
que no
q
espectativa
futuro no precisaremos mais instalar aplicativos no
computador. Basta estar conectado Internet e acessar
o programa desejado.

POOII

Linguagem Java - Histrico


A linguagem JAVA foi projetada e implementada
por um pequeno grupo de pessoas(Green),
coordenado por James Gosling, na Sun
Microsystems em Mountain View, Califrnia, em
1991.
http://www.javasoft.com/people/jag/index.html

POOII

Linguagem Java - Histrico


Equipe trabalhava no projeto de software para
produtos eletrnicos de consumo (software
para eletrodomsticos)
Nova gerao de microcomputadores portteis, TVs
interativas, lmpadas interativas, etc.
Todos interconectados e com mesma interface.

PROJETO GREEN
POOII

Linguagem Java - Histrico


1a TENTATIVA
Idia de um prottipo de dispositivo para comunicao,
tipo controle remoto, para o controle de aparelhos
eletrodomsticos.
Sugesto inicial: C++
Orientada a objetos.
Extremamente popular.
popular

Tentativa de desenvolver o sistema operacional Star7


em C++.

POOII

Linguagem Java - Histrico

Problema com LP
LPs
s existentes
C++ (e outras linguagens) no estava
desempenhando
a
tarefa
satisfatoriamente.

POOII

Linguagem Java - Histrico


2a TENTATIVA
James Gosling (Sun) e equipe projetou uma nova
linguagem para manipular o Star7.
Linguagem denominada de OAK (precursora de Java)

OAK significa CARVALHO em ingls

POOII

Linguagem Java - Histrico


2a TENTATIVA
PROJETO GREEN
Propsito de testar um novo tipo de interface do usurio para
controlar um ambiente domstico (casa inteligente).
Videocassete,TV, luzes,telefone,etc.

*7 (St
(Star S
Seven))
Computador experimental porttil, tipo controle remoto, com
interface grfica e interativa.
Nova linguagem de programao: OAK
POOII

Linguagem Java - Histrico


2a TENTATIVA
PROJETO GREEN

*7 (Star Seven)
*7 utilizava uma interface grfica bastante
atraente para controlar os
eletrodomsticos.

DUKE figura
animada do
prottipo *7

POOII

Linguagem Java - Histrico


Prottipo do Gream Team
Dispositivo porttil, sem teclado, botes e
com uma pequena tela.
Controle se dava por toques na tela.
Interface grfica - uma casa animada com
guia de turismo, o mascote DUKE.
um g

POOII

10

Linguagem Java - Histrico


A Sun descobriu que o nome Oak j estava sendo
usado.
usado
Decidem chamar esta nova linguagem de

Java
http://www.javasoft.com/hooked/language-ref.html

POOII

11

Por que o nome Java?


JAVA ( Just
J t Another
A th Vague
V
A
Acronym)
) ?!
NO. Inspirao na hora do cafezinho:

Caf da Ilha de Java

POOII

12

Por que o nome Java?


Java o nome de uma ilha do Pacfico, onde se
produz uma certa variedade de caf homnimo.
homnimo
A inspirao bateu equipe de desenvolvimento ao
saborear esse caf em uma lanchonete local.
Era extremamente apreciado por profissionais da rea
de software (ainda o ).
)

POOII

13

Linguagem Java - Histrico


1994: Criao do HotJava
Feito totalmente em Java.
Navegador da Web que podia efetuar Downloads e
executar applets Java.

Java mostrou-se
mostrou se ideal para ser usada na
Internet.

POOII

Prof. Edgar Gurgel

14

Linguagem Java - Histrico


1995: Netscape Navigator 2.0 suporta Java, que incorpora as
capacidades de efetuar o download e realizar a execuo de pequenas
aplicaes Java, ento chamadas de applets.
A Sun amplia esforos para o desenvolvimento de Java.
Criao da JavaSoft.

1996: Lanamento oficial de Java 1.02


Download gratuito pela Internet (http://www.javasoft.com)
Sun decide disponibilizar um conjunto de ferramentas de
desenvolvimento Java (JDK) gratuitamente para a comunidade de
software.

1997: Java toma conta da Internet


Netscape, Internet Explorer, HotJava, ...
POOII

15

Linguagem Java - Histrico


Em 2002, desenvolvedores do mundo todo preferiro a linguagem Java
C/C++ e Visual Basic. Quem confirma esse dado a Evans Data
Corporation instituto norte-americano
Corporation,
norte americano de pesquisas de mercado.
mercado Janel
Garvin, vice-presidente da empresa, afirma que mais da metade da
populao dos Estados Unidos usa Java e calcula-se que esse nmero
cresa mais 10% at o prximo ano.
A pesquisa do Evans Data Corporation tambm mostra que o uso da
tecnologia tem se fortalecido fora da Amrica do Norte, onde
aproximadamente 60% dos desenvolvedores a utilizam para suas
programaes.
programaes
Dados da Sun Microsystems do Brasil apontam que a procura por
cursos de Java cresceu 674%, de 2000 para 2001, com um aumento de
30% para os cursos voltados a pessoas com pouca ou nenhuma
experincia em programao e 50% para os cursos bsicos de Java.
POOII

16

Linguagem Java - Histrico


Utilizada em empresas como:
IBM, Kaiser NASA, ESPN, Museu de Arte Moderna
de NY, diversos bancos, etc.

Mais de 2000 livros escritos.


Contagem recente da Java World Magazine.

POOII

17

Quem est usando Java?


Grande disseminao na Europa e EUA.
EUA
No Brasil, grandes empresas j adotam JAVA,
principalmente em aplicaes de Comrcio
Eletrnico.

POOII

18

Quem est usando Java?


Servios financeiros
Home Banking, comrcio seguro

M k ti
Marketing
e propaganda
d
Loja interativa, animaes, multimdia

Diverso e entretenimento
Jogos multi-usurio, chat

Educao
Ensino distncia,
distncia simulaes interativas

Outros
Astronomia (telescpios orbitais).
Telefonia.
Aparelhos eletroeletrnicos.
POOII

19

Quem est usando Java?


British Telecom (empresa de telefonia inglesa) - ServiceView;
MountSinai (hospital de Nova York) emite certificados de bitos
usando JAVA;
VISA Internacional ir substituir as tarjas magnticas de seus
cartes por chips com tecnologia JAVA;
American Express (servios financeiros);
CSX (maior companhia ferroviria dos EUA) montou rede JAVA;

POOII

20

10

Quem est usando Java?


J.P.

Morgan

(banco

de

investimentos);

Hong Kong Telecom (operaes de rede de TV interativa);


Fannie Mac (maior empresa americana de hipotecas);
Banco Ita usando JAVA em sua Intranet;
Banco do Brasil anunciou migrao para JAVA;
UNIVERSIDADES (no Brasil: UNB, UNICAMP, UFPE, entre
outras).

POOII

21

Por que Java?


Vantagens
Escreva uma vez,
vez execute em qualquer lugar
Escrever somente para a plataforma JAVA
Suporte nos browsers da Web, TVs, PDAs e celulares.

Segurana
Permite que usurios descarreguem cdigo no confivel em uma
rede e o executem em um ambiente seguro:
a inexistncia de ponteiros evita o acesso direto a memria

P
Programao
centrada
t d em rede
d
Slogan corporativo da Sun: A rede o computador
Suporte a arquitetura cliente/servidor e multicamadas.

POOII

22

11

Por que Java?


Vantagens
Programas
g
dinmicos e extensveis
Cdigo Java organizado em unidades modulares orientadas por objeto
chamadas classes.
Cada classe armazenada em um arquivo separado e somente
descarregadas para o interpretador Java quando necessrias.
O cdigo torna-se uma coleo interativa de componentes independentes
de software.

Internacionalizao
nica linguagem
g g
de p
programao
g
q
que suporta
p
Unicode.

Eficincia do programador e tempo de comercializao


Conjunto de APIs (Application Programming Interface) poderoso e bem
projetado.

POOII

23

Por que Java?


Torna as pginas da Web mais interessantes
S
Som,
vdeo,
d
animaes,
i

relgios,
l i
contadores
t d

Nova plataforma
Pode-se criar uma grande variedade de aplicaes.
planilhas eletrnicas, processadores de texto, jogos, salas
de bate
papo, programas financeiros,
bate-papo
financeiros gerncia de recursos
humanos, etc.

POOII

24

12

Por que Java?


Desvantagens
Desempenho
Eficincia (cdigo interpretado: bytecode)
Necessidade de uma mquina virtual
Por ser interpretada, torna-se mais lenta, no podendo
ser comparada velocidade de execuo de cdigo
nativo.

Garbage Collection
A rotina para manter o controle dos objetos que esto
sendo referenciados durante a execuo, exige mais do
processador hospedeiro.
POOII

25

Por que Java?


Caractersticas Importantes
p
Portabilidade

(Independente de plataforma Os programas Java


so compilados para uma forma intermediaria de cdigo denominada
Bytecodes)

Familiaridade (Similar ao C, C++)


Sem Ponteiros (O Java no permite

a manipulao direta de
endereos na memria nem exige que os objetos criados sejam
destrudos livrando o programador de uma tarefa complexa)

POOII

26

13

Por que Java?


Caractersticas Importantes
Distribuio

(No caso dos applets, os bytecodes da Java so


tranferidos em tempo de execuo, ento o usurio sempre estar
utilizando o cdigo mais recente. Isto resolve todo tipo de pesadelo de
distribuio que tradicionalmente as empresas tem de enfrentar)

Segurana

(Java foi planejada para verificar e executar programas


binrios em um ambiente controlado. Isto protege o usurio final de
vrus e violaes de segurana. Toda vez que um applet Java
transferido para o browser do usurio recebe um verificao de seu
byte-code.
y
Isto significa
g
que se o tamanho do p
q
pacote de cdigo
g for
alterado pelo caminho, o programa ser abortado. Esta checagem
protege contra Cavalos de Tria e outras viroses que forem
adicionadas aos Java bytecodes.)

Orientada a objetos

(baseada no modelo de Smalltalk e

Simula67)

POOII

27

Conceitos Gerais
Carga Dinmica de Cdigo
Programas no monolticos: cada classe armazenada
independentemente e pode ser carregada somente quando for
utilizada.

Concorrncia
Permite mltiplas linhas de execuo (threads) num mesmo
programa e oferece primitivas para sincroniz-las.

Pilha de Execuo
Idntica a outras OOPLs (cada thread numa pilha prpria)

Coleta Automtica de Lixo


Desalocao de memria (objetos) automtica.

POOII

28

14

Conceitos Gerais
Tratamento de Excees
Java institui um mtodo de deteco de erros conhecido com tratamento de
excees.
objetivo tratar erros de software ou hardware
como separando o cdigo de tratamento de erros do cdigo normal da
aplicao

Modelo de Objetos
Incorpora todos os principais conceitos

R
Recursos
d Rede
de
R d
Extensa biblioteca de rotinas que facilitam a cooperao com protocolos
TCP/IP, como HTTP e FTP.
Maior facilidade de criao de conexes de rede do que C ou C++.
Aplicaes Java podem abrir e acessar objetos na rede atravs das URLs.
POOII

29

A pilha Java
A concepo da Mquina Virtual Java fortemente
orientada a pilhas. As principais funes da pilha
Java so:
Armazenar parmetros para os bytecodes e guardar os
resultados decorrentes da execuo dos mesmos;
Passar parmetros para os mtodos e armazenar os
valores retornados pelos mesmos;
Manter o estado dos mtodos que foram invocados.

POOII

30

15

Das könnte Ihnen auch gefallen