Slides da aula 1, parte 2

Propaganda
02/04/2015
Material elaborado pelo prof. Leandro A. F. Fernandes
com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage
Programação de Computadores II
TCC-00.309 | Turma A-1
Conteúdo
Introdução ao Ambiente de Desenvolvimento
Professor Leandro Augusto Frata Fernandes
[email protected]
Material disponível em
http://www.ic.uff.br/~laffernandes/teaching/2015.1/tcc-00.309
Histórico
1991
Início em 1991 com um pequeno grupo de projeto da
Sun Microsystems, denominado Green Team
O projeto visava o desenvolvimento de software para uma ampla
variedade de dispositivos de rede e sistemas embutidos
James Gosling decide pela criação de uma nova linguagem de programação que
fosse simples, portátil e fácil de ser programada
Surge a linguagem interpretada Oak (carvalho em inglês), mais tarde
rebatizada como Java devido a problemas de direitos autorais
Duke é o mascote do Java
TCC-00.309 Programação de Computadores II
2
1
02/04/2015
Histórico
1991
1994
Mudança de foco para aplicação na Internet
(visão: um meio popular de transmissão de texto, som, vídeo)
Projetada para transferência de conteúdo de mídia em redes
com dispositivos heterogêneos
Também possui capacidade de transferir “comportamentos”, junto com o
conteúdo (HTML por si só não faz isso)
Em 1994, Jonathan Payne e Patrick Naughton desenvolveram o programa
navegador WebRunner
TCC-00.309 Programação de Computadores II
3
Histórico
1991
1994 1995
No SunWorld’95 a Sun apresenta formalmente o navegador HotJava e a
linguagem Java
Poucos meses depois a Netscape Corporation lança o seu navegador capaz de
fazer download e executar pequenos códigos Java chamados de Applets
Imediatamente a Sun decide disponibilizar o Java gratuitamente para a
comunidade de desenvolvimento de softwares e assim surge o
Java Developer’s Kit 1.0 (JDK 1.0)
Inicialmente disponível para Sun Solaris e Microsoft Windows 95/NT
Progressivamente surgiram kits para plataformas como Linux e Apple Macintosh
TCC-00.309 Programação de Computadores II
4
2
02/04/2015
Histórico
1991
1994 1995
2010
Oracle adquire a Sun Microsystems e passa a ser a “dona” do Java
Java Platform (JDK), Standard Edition está disponível para download em
http://www.oracle.com/technetwork/java/javase/downloads
A Integrated Development Environment (IDE) mantida pela Oracle é o NetBeans,
também disponível em http://www.oracle.com/technetwork/java/javase/downloads
Eclipse é uma das IDEs mais utilizadas
http://www.eclipse.org/downloads/moreinfo/java.php
Outra opção é o BlueJ, disponível em http://www.bluej.org/
TCC-00.309 Programação de Computadores II
5
Características da Linguagem Java
•
•
•
•
•
•
•
Simples
•
Coletor de lixo (garbage collector) para desalocar recursos
Orientada a objetos
Interpretada, neutra e portável
Alta performance
Robusta
Segura
Facilidades para criação de programas distribuídos e
multitarefas
TCC-00.309 Programação de Computadores II
6
3
02/04/2015
Características da Linguagem Java
Simples e Orientada a Objetos
•
•
É de fácil aprendizado
Puramente orientado a objetos
Permite o desenvolvimento de sistemas de
uma forma mais natural
TCC-00.309 Programação de Computadores II
7
Características da Linguagem Java
Interpretada, Neutra e Portável
•
Permitindo que o código em Java possa ser escrito
independente da plataforma
•
Bytecodes executam em qualquer máquina que
possua uma Java Virtual Machine (JVM)
•
Neutra em relação à arquitetura
Característica que permite uma grande portabilidade
TCC-00.309 Programação de Computadores II
8
4
02/04/2015
Características da Linguagem Java
Interpretada, Neutra e Portável
•
Em java:
1. Todo o código é inicialmente escrito em arquivos de texto .java
2. Esses arquivos fonte são compilados para arquivos .class pelo
compilador javac
3. A ferramenta “lançadora” java roda a aplicação em uma instancia
da Java Virtual Machine
•
Um arquivo .class contém bytecodes
TCC-00.309 Programação de Computadores II
9
Características da Linguagem Java
Interpretada, Neutra e Portável
MyProgram.java
Java API
Java Virtual Machine
Hardware-Based Plataform
** Java API: Java Application Programming Interface
TCC-00.309 Programação de Computadores II
10
5
02/04/2015
Características da Linguagem Java
Interpretada, Neutra e Portável
TCC-00.309 Programação de Computadores II
11
Características da Linguagem Java
Interpretada, Neutra e Portável
Bytecodes
J
V
M
J
C
Win95/98
J
V
M
J
C
WinNT
J
V
M
J
C
Linux
TCC-00.309 Programação de Computadores II
J
V
M
J
C
Solaris
12
6
02/04/2015
Características da Linguagem Java
Interpretada, Neutra e Portável
Editor
.java
.class
Carregador
Bytecodes
verificados
Compilador
Bytecodes
não verificados
Verificador
Interpretador
TCC-00.309 Programação de Computadores II
13
Características da Linguagem Java
Alta Performance
•
É uma linguagem interpretada
Existe uma grande discussão quanto a sua performance.
•
Fato: As melhorias na tecnologia
de compilação, tem aproximado
o desempenho ao de
linguagens como C e C++
•
Ex.: Benchmarks mostram
melhor desempenho em
alguns casos e pior em outros,
caracterizando “empate técnico”
http://blog.cfelde.com/2010/06/c-vs-javaperformance/
TCC-00.309 Programação de Computadores II
14
7
02/04/2015
Características da Linguagem Java
Robusta e Segura
•
As seguintes características contribuem para tornar a
linguagem mais robusta e segura:
É fortemente tipada
Não possui aritmética de ponteiros
Possui mecanismo de coleta de lixo
Possui verificação rigorosa em tempo de compilação
Possui mecanismos para verificação em tempo de execução
Possui gerenciador de segurança
Possui mecanismos de segurança que evitam operações no
sistema de arquivos da máquina alvo
TCC-00.309 Programação de Computadores II
15
Características da Linguagem Java
Distribuída
•
•
Projetada para trabalhar em ambiente de redes
Não é uma linguagem para
programação distribuída
Oferece bibliotecas para facilitar o processo de
comunicação
TCC-00.309 Programação de Computadores II
16
8
02/04/2015
Características da Linguagem Java
Dinâmica e Multithread
•
•
Resolução de referências em tempo de execução
Suporte para múltiplas threads de execução
Threads podem tratar diferentes tarefas
concorrentemente
TCC-00.309 Programação de Computadores II
17
O Ambiente de Desenvolvimento Java SDK
•
Ambiente de desenvolvimento de software Java
Antigamente denominado JDK
(Software Development Kit)
•
•
Contém um amplo conjunto de APIs
Java SDK não é um ambiente integrado de
desenvolvimento
Não oferecendo editores ou ambiente de programação
TCC-00.309 Programação de Computadores II
18
9
02/04/2015
Algumas Ferramentas do Java SDK
•
•
•
•
•
javac: compilador Java
•
•
jdb: depurador de programas Java
java: interpretador de aplicações Java
appletsviewer: interpretador de applets Java
javadoc: gerador de documentação para código Java
jar: manipulador de arquivos comprimidos no formato
Java Archive
etc.
TCC-00.309 Programação de Computadores II
19
Exercício
•
Baixe e instale o Java SDK e o NetBeans em sua
máquina
•
Crie um projeto no NetBeans, adicione o código
abaixo, compile e execute a seguinte classe:
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Olá mundo!”);
}
}
TCC-00.309 Programação de Computadores II
20
10
Download