Вы находитесь на странице: 1из 36

Linguagem de Programao

Gabriel de Albuquerque Veloso Azuirson


Objetivos
Compreender a importncia das linguagens de programao
Identificar as formas de classificao das linguagens de programao
Conhecer a diferena de entre interpretador e compilador
Identificar as caractersticas da linguagem Java
Construir um pequeno exemplo de programa em Java
Consideraes
Para a parte final da aula, ser importante
que o aluno esteja de posse de um
computador.

Caso no esteja, realizar o exerccio em
casa.
Roteiro da Aula
1 parte O que linguagem de programao e para
que serve.

2 parte - formas de classificar as linguagens de
programao

3 parte conceitos bsicos da linguagem java.
Linguagem de Programao
Problema Algoritmo Programa
Soluo do problema
como uma sequncia de
aes algortmicas
Implementao da soluo
algortmica em uma
linguagem de programao
Algoritmo: uma sequencia finita de aes para resolver um problema:
Ex: Trocar uma lmpada
1. pegar a escada
2. subir na escada
3.retirar a lmpada velha
4. colocar lmpada nova.
...
...

Linguagem de Programao
Programa uma implementao de uma
soluo algortmica em linguagem de
programao.
Como iremos nos comunicar com o
computador se a mquina s entende
linguagem de 0s e 1s ?
Linguagem de Programao
Linguagem de programao: uma linguagem
que est entre a linguagem natural dos humanos
(portugus, ingles, etc) e a linguagem das
mquinas.
Conjunto de regras sintticas e semnticas.
A linguagem de programao precisa ser
traduzida para a linguagem de mquina atravs
de softwares tradutores.
Compilador
Interpretador

Linguagem de Programao
Podemos classifica-las de acordo com :
O Paradigma de programao
Grau de Abstrao
Linguagens Compiladas ou interpretadas

Paradigma de Programao
Representa a ideia central em que se baseia a linguagem.
Paradigma Imperativo: Baseado em comandos e
procedimentos.
Ex: Pascal, C, Fortran
Paradigma Orientado a Objetos: Baseados em
Objetos e Classes.
Ex: Java e Smaltalk
Paradigma Funcional: Baseado em Funes.
Ex: Lisp e Haskel
Grau de Abstraes
Linguagem de Mquina

Linguagem de Baixo Nvel

Linguagem de Alto Nvel
Linguagem de Mquina
Linguagem compreendida pelo processador, formada
por uma sequencia de 0s e 1s. mais rpida por estar
mais prxima do hardware e mais difcil de utiliza,
tambm est muito sujeita a erros.

Exemplo de uma pequena poro do cdigo mquina do
processador desenhado por Von Neumman em 1946:
000000101011110010100000001011111100100000000
011001110101000

Linguagem de Baixo Nvel
So chamadas de linguagens Assembly ou montagem.
So bastante prximas das linguagens de mquina,
mantendo a mesma estrutura e conjunto de instrues,
mas permite que o programador utilize smbolos em
lugar dos 0s e 1s.
O Montador Assembly o programa responsvel por
converter os mnemnicos para codgo de mquina.
O Montador e a linguagem Assembly especfico do
tipo de processador. ARM, MIPS, PowerPC, x86.
Linguagens de Alto Nvel
So as mais prximas linguagem humana e mais
distantes das linguagens de mquina, o que torna mais
fcil a sua compreenso.
necessrio compiladores ou interpretadores para
gerar instrues do microprocessador.
Java, C, Pascal, Fortran e as demais linguagens.
Exemplos de cdigo nos trs nveis
de abstrao
Instruo em linguagem de alto nvel
X = A+B-C
Linguagem assembly equivalente ao comando acima.
LDA A
ADD B
SUB C
STR X
Linguagem de mquina equivalente ao cdigo assembly acima.
000100100011
001100100100
010000100101
001000100110

Diferena entre linguagem
interpretada e compilada
Compilador traduz do cdigo fonte (ex: Pascal ou C++) para um
executvel (linguagem de mquina)
Compilador
Programa
fonte
Programa
objeto
Simulam uma mquina real atravs de mquina virtual
Programa fonte lido sequencialmente e as instrues so
executadas imediatamenten (tempo de execuo)
Interpretador
Programa
fonte
Entrada

Sada
Introduo ao Java
Linguagem de programao orientada a objetos desenvolvida por uma
equipe de programadores, liderados por Patrick Naughton, Mike Sheridan
e James Gosling, na empresa Sun Microsystems.

Linguagem de alto desempenho, suporta multithreading, e recursos de
comunicao em rede.

uma linguagem compilada e interpretada ao mesmo tempo.
O cdigo fonte compilado para um "bytecode", que interpretado por uma
mquina virtual (JVM).
16
Principais Caractersticas do Java
Portabilidade: O Java pode ser executado em qualquer
plataforma ou equipamento que possua um interpretador Java
(JVM). Do celular a sua geladeira.

Orientada a Objetos: Contm a sintaxe similar linguagem C++,
mas baseada no modelo Simula67.

Recursos de redes: Possui extensa biblioteca de rotinas que
facilitam a cooperao com protocolos TCP/IP, como HTTP e FTP

Segurana: Pode ser executado via rede, com restries de
segurana
17
Por que estudar Java?
Orientao a Objetos: Totalmente orientada a objetos,
permitindo herana e reutilizao de cdigo.

Dinamismo: Classes armazenas que podem ser carregadas em
tempo de execuo

Facilidade: Derivada do C/C++, bem familiar. O ambiente retira
do programador a responsabilidade de gerenciar a memria.
18
Utilizaes e Aplicaes do Java
Desenvolvimento de aplicativos corporativos de grande porte.

Desenvolvimento de aplicativos Web.

Fornecimento de aplicativos para dispositivos voltados para o
consumo popular (celulares, pagers, PDAs, etc.).

Muitos outros propsitos.
19
Funcionamento de um Programa em
Java
Editor
a escrita ou desenvolvimento do
programa (cdigo-fonte). Se faz necessrio
um editor de texto simples como o Bloco
de Notas (Windows) ou o Vi (Linux).
Existem ambientes de desenvolvimento
integrado (IDE Integrated Development
Environment) que fornecem muitas
ferramentas de suporte ao processo de
desenvolvimento de software em Java e
outras linguagens.
NetBeans;
Eclipse;
JCreator;
BlueJ.
20
Funcionamento de um Programa em
Java
Compilador
O compilador Java converte o cdigo-fonte
Java em "bytecodes", que representam as
tarefas a serem realizadas durante a fase de
execuo. Os bytecode so executados pela
Java Virtual Machine (JVM) uma parte do
JDK e a base da plataforma Java.
21
Funcionamento de um Programa em
Java
Carregador
Todo programa deve ser colocado na
memria antes de poder executar. O
carregador de classe transfere os arquivos
.class contendo os bytecode do programa
para a memria principal. O carregador de
classe tambm carrega qualquer arquivo
.class fornecido pelo Java que seu programa
utiliza. Os arquivos .class podem ser
carregados a partir de um disco em seu
sistema ou em uma rede.
22
Funcionamento de um Programa em
Java
Verificador
Aps as classes serem carregadas, o
verificador de bytecode examina os cdigos
para assegurar que eles so vlidos e no
violam restries de segurana do Java.
23
Funcionamento de um Programa em
Java
Interpretador
A JVM executa o programa interpretando
os bytecodes gerados na fase de
compilao. Com isso, sequncias de aes
especificadas pelo programador so, enfim,
executadas.
A mquina virtual Java (JVM) um aplicativo
de software que simula um computador,
mas oculta o sistema operacional e o
hardware subjacentes dos programas que
interagem com a VM.

24
Ambiente de Programao em Java
O ambiente de desenvolvimento de software Java, Java Development Kit
(JDK), formado, essencialmente, por um conjunto de aplicativos que permite,
entre outras tarefas, realizar a compilao e a execuo de programas escritos
na linguagem Java.

Este ambiente pode ser baixado gratuitamente a partir do site da Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/

As ferramentas bsicas do kit de desenvolvimento Java so:
javac - O compilador Java,.
java - O interpretador de aplicaes Java (mquina virtual).
appletviewer - O interpretador de applets Java.
25
Entendendo as Siglas dos Ambientes
Java
J2SE (Java2 Standard Edition): Fornece as principais APIs
(Application Programming Interface Interface de Programao de
Aplicaes) e enfoca o desenvolvimento de aplicaes para PCs ou
Servidores. No permite distribuio de objetos nem oferece
suporte a tecnologias para Internet.
J2EE (Java2 Enterprise Edition): Fornece um conjunto de APIs
para o desenvolvimento corporativo e enfoca na integrao entre
sistemas. Disponibiliza alta distribuio de objetos e oferece total
suporte a tecnologias para Internet.
J2ME (Java2 Micro Edition): Fornece as APIs para o
desenvolvimento de aplicaes para computao mvel, em
pequenos dispositivos ou tecnologias embarcadas.
26
Construindo um Ambiente para
Programao em Java
Para desenvolver programas em Java, precisamos obter o Kit de
Desenvolvimento Java, que gratuito e disponvel para download no
seguinte endereo: http://www.oracle.com/technetwork/java/javase/downloads/
Neste link, a Oracle disponibiliza uma srie de kit's para cada perfil. Sugerimos
baixar o JDK. necessrio, ainda, que o usurio escolha a plataforma (o
computador e o sistema operacional) onde o kit ser instalado (32 ou 64 bits;
Windows, Mac ou Linux...).
Para instalar, clique no arquivo baixado e siga as instrues do site para efetuar
a correta instalao. No link abaixo, existe um artigo que auxilia o usurio na
instalao do J2SE no Windows.
http://www.guj.com.br/article.show.logic?id=163
27
Escrevendo e Executando o
Primeiro Programa
1. Abra o Bloco de Notas e digite o cdigo a seguir:
28
Escrevendo e Executando o
Primeiro Programa
2. Em Java, uma classe pblica deve ser salva em um arquivo com o mesmo nome,
com a extenso .java. Como nossa classe se chama PrimeiroPrograma,
devemos salvar este arquivo como PrimeiroPrograma.java. Muita ateno
com a caixa da letra, pois o Java "case sensitive" (faz diferena entre letras
maisculas e minsculas).
29
Escrevendo e Executando o
Primeiro Programa
3. Abra o prompt do DOS. Para compilar o cdigo, iremos usar uma
ferramenta SDK, o compilador javac. Isso faz com que o bytecode seja
gerado. Este processo faz com que o arquivo PrimeiroPrograma.class
seja gerado.
30
Escrevendo e Executando o
Primeiro Programa
4. Observe na figura abaixo que estamos na pasta onde salvamos o nosso arquivo
PrimeiroPrograma.java. O comando javac foi executado, nenhum erro foi
encontrado e foi gerado o arquivo PrimeiroPrograma.class.
31
Escrevendo e Executando o
Primeiro Programa
5. Para executar este cdigo, temos que chamar a mquina virtual. Para isso, basta
digitar: java PrimeiroPrograma.
Observe que no h necessidade de colocar a extenso neste passo.
E finalmente executamos o nosso primeiro programa!
32
Introduo Linguagem de
Programao
Exerccios de Fixao
33
Exerccios de Fixao
1. Explique com suas palavras a diferena
entre linguagem de mquina, linguagem
de baixo nvel e linguagem de alto nvel.
34
Exerccios de Fixao
2. Escolha a opo que no uma
caracterstica do Java.
a) Portabilidade
b) Orientada a objetos
c) Linguagem de baixo nvel
d) Segurana
35
Introduo Linguagem de
Programao

Proxima Aula:
Paradigma Orientado a Objetos
36
Duvidas: gabrielveloso2@gmail.com

Вам также может понравиться