Linguagem de
Programação
Prof. Leandro Martins Dallanora
[Link]@[Link]
História
⚫ A História da Linguagem Java se inicia em 1990, quando a
Sun Microsystems criou uma equipe chamada Green
Team, liderada por James Gosling.
História
⚫ Até o momento, as Linguagens de Programação como
Pascal e C, precisavam de compiladores específicos para
cada plataforma.
⚫ Sem isso, os programas só seriam executáveis para um
único sistema.
⚫ Foi aí que o grupo criou o projeto GreenTalk, que se
transformou a Linguagem Oak, capaz de ligar dispositivos
diferentes e fazer com que eles pudessem se comunicar.
História
⚫ Em 1991, surge o Star Seven (*7), que era um aparelho
multimídia capaz de controlar vários dispositivos da sua
casa. Infelizmente o projeto não foi aceito na época e tudo
foi engavetado em 1992.
História
⚫ Para o *7, foi criado um mascote, muito conhecido no
mundo Java, o Duke.
⚫ O trabalho do Duke no *7 era ser um guia virtual ajudando
e ensinando o usuário a utilizar o equipamento.
História
⚫ Em 1994, com o advento da World Wide Web (www) e do
HTML, o projeto da Sun foi reestabelecido com o objetivo
de criar um Navegador Web capaz de rodar aplicativos em
Oak.
⚫ Infelizmente o nome "Oak” (carvalho) não poderia ser
utilizado por questões de direitos relacionados.
História
⚫ O nome Java foi dado à linguagem depois que a equipe de
James Gosling visitou uma cafeteria local.
⚫ Java é o nome da cidade de origem de um café importado.
História
⚫ A linguagem Java ficou famosa por conta de matérias
veiculadas pela imprensa da época. A partir daí, vários
projetos surgiram para usar Java em todo lugar.
⚫ O Java Ring e Sondas Espaciais da NASA são exemplos
disso.
História
⚫ Em 2006 a Linguagem Java se tornou Open Source, que
tem seu código livre para consultas, pesquisas e
personalizações.
⚫ Em 2009 a Sun Microsystems foi vendida para a Oracle
por US$7,4 bilhões.
História
⚫ Atualmente, a Linguagem Java pode ser encontrada em:
– chips de cartão de crédito,
– discos de blu-ray,
– video games (PS4 roda Java),
– leitores de e-books (Kindle roda Java),
– smartphones (Android roda Java),
– TV digital,
– relógios inteligentes (Moto 360 roda Java)
– e até mesmo no programa para a Declaração de Imposto de Renda.
A plataforma Java
⚫ Java é um ecosistema de objetos, todos definidos pela
comunidade Java Community Process (JCP).
A plataforma Java
Java Standard Edition (JSE)
⚫ Edição base da plataforma Java, onde encontramos os
recursos mais comuns usados na programação com Java,
usados em aplicações desktop.
Java Enterprise Edition (JEE)
⚫ Edição que contém o JSE e mais recursos usados para
desenvolvimento de aplicações coorporativas e para
Internet, como portais e sistemas distribuídos.
A plataforma Java
Java Micro Edition (JME)
⚫ Edição desenvolvida para aplicações usadas em
dispositivos móveis ou embarcados.
Java Card
⚫ Edição também desenvolvida para aplicações usadas em
dispositivos embarcados, com baixo poder de
processamento e memória.
⚫ Exemplo: smart cards.
A plataforma Java
JavaFX
⚫ É uma plataforma de desenvolvimento de aplicações
gráficas para Java.
⚫ Ele permite criar interfaces de usuário interativas e
atraentes para aplicações tanto desktop, TV, web e móvel.
Compilação vs Interpretação
⚫ A característica de portabilidade de Java é realmente
marcante.
⚫ Um programa é portável se ele pode ser executado em
diferentes plataformas de software e hardware.
⚫ Exemplos de plataformas de software são os ambientes
Windows e Linux.
Compilação vs Interpretação
⚫ Ao escrever um programa, dizemos que o programador
escreveu o código-fonte do programa.
⚫ Para rodar esse programa, precisamos compilá-lo ou
interpretá-lo.
Compilação vs Interpretação
⚫ Interpretar é entrar com o código-fonte em um programa
chamado de interpretador.
⚫ Já no caso do compilador, essa ferramenta lê o código-
fonte, realiza várias verificações e, por fim, gera um código-
fonte de saída equivalente ao programa de entrada, porém
escrito na linguagem que a máquina compreende.
⚫ Qual o melhor processo a ser utilizado?
⚫ Compilação ou interpretação?
– Cada um deles tem suas vantagens e desvantagens.
Portabilidade Java
⚫ Muito bem, vejamos agora como um código-fonte Java
pode ser trabalhado para poder ser executado em uma
determinada máquina.
⚫ Em Java, o código-fonte dos programas é escrito em
arquivos com extensão ".java”.
Portabilidade Java
⚫ Em uma primeira etapa, os arquivos Java são passados
para um compilador Java, o qual é responsável por
analisar o código-fonte em busca de erros.
⚫ Caso existam, eles serão apresentados para o
programador. Caso contrário, um programa equivalente
(código-objeto) será gerado, agora em arquivos com
mesmo nome, mas com extensão ".class".
Portabilidade Java
⚫ Os arquivos ".class" são escritos pelo compilador em uma
linguagem que não é de máquina, mas que também não é
legível pelos seres humanos.
⚫ Essa linguagem é chamada de bytecode e não é
dependente de nenhuma plataforma de hardware ou de
software. Sendo assim, consideramos teoricamente
portáveis os programas escritos em bytecode.
Portabilidade Java
⚫ Em uma segunda etapa, quando queremos efetivamente
rodar um programa Java, pegamos o código objeto
(arquivos ".class") e passamos para o interpretador Java,
mais conhecido como máquina virtual Java (JVM – Java
Virtual Machine).
Portabilidade Java
“Write Once, Run Anywhere.”
“Escreva uma vez, rode em qualquer lugar.”
Portabilidade Java
⚫ Dessa forma, podemos dizer que Java é tanto compilado
(etapa 1) como interpretado (etapa 2).
⚫ A portabilidade de Java se dá então como o apresentado
na figura anterior.
⚫ Temos o programa Java (código-fonte), um único
compilador e várias JVMs, uma para cada plataforma de
execução diferente.