Vous êtes sur la page 1sur 5

História do Java

Entender uma tecnologia precisamos saber de onde ela veio.

Vamos voltar lá para os primeiros computadores...

Esse que esta aparecendo é o eniac que era da Universidade da Pensilvania, ocupava um andar
inteiro.

Eles não tinham uma linguagem de programação especifica, eles não tinham uma forma de
programar digitando os comandos. A forma de programar eles é esse jeito que você ta vendo ai
a mulher girando o botão e fazendo a programação dele. Essa programação era através de
plugues e botões. Então você tinha uma pré definição das posições dos botões, onde cada
botão deveria ficar e essa fazia a pre programação da maquina.

O que aparecendo ai são as válvulas, os primeiros computadores eram valvulados o ENIAC uma
curiosidade não funcionava na base binaria, ele funcionava diretamente na base decimal. Isso
facia com que a quantidade necessária de válvula fosse muito grande. Então o que quero dizer
sobre esses primeiro computadores é que eles não tinham uma linguagem de programação
especifica, não tinham programar ele digitando comandos, ate por que eles não tinham
teclados, o painel de entrada é esse que você viu ai no vídeo.

Com a evolução do computador, a partir do momento que o computador ganhou a mesa, o


desktop começou ate para ele um mercado pra ele de software, as linguagens evoluíram e
começaram a surgir o que chamamos de linguagem de alto nível.

Por exemplo:

A linguagem pascal... é uma linguagem de programação bem antiga.

Temos ai um programa “olá alunos do EMIEP “ em pascal

Então criou uma variável msg do tipo string, ai coloque ola alunos do emiep. Temos write o
comando para escrever ola alunos do emiep na tela.

Interessante é que você não precisa conhecer a linguagem programação pascal, so de você
olhar os comandos você já teve noção do que estava acontecendo ali.

Nota que essa linguagem esta muito próxima de você, ou seja você consegue entender sem
saber a linguagem de fato.

Esse código é o que a gnt chama de código fonte em pascal, para escrever olá alunos do emiep
na tela. Então eu vou dizer que esse código fonte esta em uma linguagem de alto nível, isso é
uma linguagem que está próxima de vc usuário.

Aqui em cima é vc aqui pra baixo esta a linguagem de maquina as microinstruções. Então uma
linguagem de alto nível esta muito longe das microinstruçoes que uma maquina vai exigir.
Então a linguagem pascal é uma linguagem dita de alto nível, e o código que vc digitou é dito
de código fonte.

O grande problema que um código fonte se for submetido a uma maquina ela não vai entender
nada, o computador ele so entende as microinstruções, aquilo que ele é programado para
entender.
vc precisa de um processo, basicamente esse processo vai ter o seguinte:

de uma maneira bem básica, eu vou ter um componente de software que vamos chamar de
compilador, e eu vou submeter esse meu código fonte não ao computador mas sim ao meu
compilador, esse compilador vai transformar seu código fonte em algo que seja compreensível
ao computador, o que chamamos de código executável.

Note que o código executável esta na linguagem que o computador entende e você não
entende mais, eu precisei desse compilador para transformar o código fonte em código
executável.

Esse código que foi gerado sem problema nenhum posso submeter ele ao meu computador e
ele vai ser executado na tela.

Então as linguagens que surgiram la no inicio aconteciam desse jeito, o programador sentava
no computador digitava o código fonte, passava por um processo de compilação, gerava o
código executável, e esse código funcionaria no computador.

(linker, montador, interpretador, tem uma serie de coisas que faz parte desse compilador).

Parece ser bem simples, mas o grande problema é que esse código executável ele somente ira
funcionar em uma determinada plataforma, que foi a plataforma no qual ele foi compilado.

Se eu tiver outro sistema como por exemplo o Linux, mac os, free bsd eles vao ficar de fora
dessa execução isso porque ele foi compilado em uma plataforma especifica que no meu caso
aqui eu exemplifique como ms dos.

Se eu quezer que execute em outras plataformas vou usar mecanismo pouco diferente. Vou
usar como exemplo a linguagem C, é uma linguagem bem antiga, mas de estrema importância
pq esta ate hj no mercado. A linguagem c funciona da seguinte maneira eu também tenho um
código fonte, esse é um programa para escrever “olá alunos do emiep na tela”, a pecularidade
da linguagem c, é que ela tem compiladores para as diversas plataformas. Então se eu pegar
código fonte da linguagem C e passar no compilador de outros computadores, ou outras
plataformas, esses compiladores vao gerar resultados diferentes códigos executáveis especifico
para cada plataforma, pegando esses códigos executáveis enviando para suas respectivas
plataformas cada uma delas vai entender seu programa em C. Isso por muitos anos foi
considerado algo revolucionário, por isso de sua importância.

Por essa característica a linguagem C é conhecida como linguagem multiplataforma, isso é uma
vez usando o compilador correto, ele irá funcionar para multiplataformas.

Observação, que em alguns casos, na maioria deles você teria que pegar esse código em c e
fazer pequenas adaptações, pq plataformas diferentes funcionam com micro instruções
diferentes.

Por causa da sua características de multiplataformas, o c foi muito utilizado e ainda é , foi
usado para criar software conhecidos como Firefox, Firefox é um navegador de
multiplataformas, vc tem ele para Windows, Linux, mac, dispositivos moveis e muitos outros.

A chave para Firefox funcionar nessas plataformas é a multiplataforma da linguagem C, o


Windows que vc usa é feito em c, Linux feito em c, mac os é feito em c.
O C evoluiu e faz parte das linguagens modernas, evolução do C é o C++, diz respeito ao
acréscimo da orientação ao objeto, que é conceito totalmente moderno. Quer dizer C + alguma
coisa, mais algum incremento. Mas vamos entender como C++ foi importante na historia do
Java.

Em 1990 uma empresa chamada sun Microsystems tinha um projeto usando a linguagem c++,
eles queriam interligar varias interfaces e fazer diversos dispositivos diferentes trabalharem
entre si.

Uma equipe liderada por James Gosling ( lembrando que esse cara foi o desenvolveu o
primeiro sistema operacional – UNIX) seria responsável por realizar esse feito. Em 1990 os
computadores não eram autômatos como temos hj, então usando so a linguagem C++, não
seria suficiente. Ai o que eles pensaram, vamos criar nossa própria linguagem.

Essa equipe ficou conhecida como green team, eles criaram uma linguagem para substituir o c+
+ nessa tarefa e batizou ela de green talk, basicamente seria uma linguagem de
intercomunicação, fazer com que dispositivos diferentes falassem entre si.

Em pouco tempo o green talk se tornou um dos maiores projetos da sun Microsystems e
rapidamente foi rebatizado de oak, que significa carvalho, isso pq conta a lenda que da sala de
gosling dava pra ver um frondoso carvalho.

Logo foi criado um aparelho conhecido como star seven, o projeto do star seven era
revulocionario para época, basicamente esse aparelho que esta aparecendo ai na sua tela,
parece um gps, ele tinha uma tela de 6 ou 7 polegadas com alguns dispositivos como, antena
de comunicação, microchip integrado e já tinha cartões inteligentes e entrada para fone de
ouvido, dispositivos para tramissão infravermelho, sistema integrado e uma tela sensível ao
toque.

Essa é tela de bot do start seven da época, mostrava que além de aperta você poderia arrastar,
e para fazer a coisa mais interativa foi criado um pequeno mascote o duke, basicamente vc ia
controlar sua casa inteira através do star seven, controlava os eletrodomésticos e as lâmpadas
da sua casa essa era a ideia do star seven. So fizeram 6 desse projeto, ofereceram para as
grandes empresas, mas infelizmente nenhuma empresa se interessou e em 1992 o projeto do
green team foi engavetado.

Como na vida nem tudo acontece como a gente quer.

1994... Aparece um cara chamado tim bernees lee, ele estava criando o HTML, todas as
tecnologias envolvidas. Os inventos de Tim bernees Lee foram muito importante,
principalmente para surgimento da linguagem java.

Tim bernees lee estava criando o a html, uma linguagem para ser interativa na web. O star
seven era interativo, a linguagem oak permitia interatividade, ai eles pensaram porque não
pegamos tudo isso e unimos em uma tecnologia só. Surge então o projeto web runner, seria
um navegador paracido com internet explorer ou Firefox, mas so 1994 não existia nada disso.

A ideia principal do web runner era criar interatividade para web. Tudo muito lindo, tudo muito
perfeito, mas surge um problema. Por mais incrível que seja já existia uma linguagem chamada
oak. Que eles descobriram na hora de registrar, foi um pequeno problema para equipe de
gosling. Gosling então se reuni com sua equipe, segundo relatos ele perguntou a sua equipe o
que deixava eles animados e os programadores respoderam café, então eles pensaram que se
fosse chamar a linguagem de coffe ficaria estranho. Mas ai eles pensaram que o café bom tem
que ser forte, e o café forte existe são os grãos cultivados na ilha de java era café que eles
consumiam quando precisavam ficar animadíssimos. Em alguns lugares dos Estados Unidos
tem uma gíria quando vc vai pedir um café, vc diz java coffe.

Assim foi escolhido o novo nome da linguagem, linguagem java, é por isso que ate hj o símbolo
da linguagem é uma xicara de café quente.

Batizada a linguagem java, o projeto web runner muda o nome agora passa a ser chamado
hotjava. Como houve grande alvoroço na época, pq todos diziam que java era a linguagem do
futuro. Uma empresa Netscape cria o javascript como jogada de markting, mas java e javascript
são linguagens totalmente diferente. Com propostas e funcionalidades diferentes.

Em 2009 a empresa sun deixou de existir, ela foi vendida para gigante oracle

Exe

Sistema bancário, celulalar todos software são java, bluy ray, tv digital criada em java,

Como java funciona:

Eu pego meus comandos da linguagem java e compilo em compilador javac e vai gerar um
código binário, o código executável em java nos não chamamos de código executável e sim de
bytecode, porem se eu mandar para o computador ele ainda não entenderar eu preciso de
mais um software o java virtual machine (JVM). Que vai transformar o meu bytecode
linguagem que a maquina entenda.

O JavaC (Java Compiler) vai transformar o Código Fonte Java em Bytecode, um código
específico que vai executar em uma Máquina Virtual Java (Java Virtual Machine - JVM). Uma
JVM é uma solução de software capaz de executar bytecode em qualquer máquina,
independente da plataforma que o Código Fonte foi compilado. Java é multiplataforma sem a
necessidade de recompilação. A JVM é composta por várias partes internas, como por exemplo
Loader, Verificador, Interpretador, Gerenciador de Memória e Compilador JIT (Just in Time).
Atualmente existem JVMs em várias plataformas, como Computadores Pessoais (Windows,
Linux, MacOS), dispositivos móveis (Android) e até mesmo os modernos wearables (relógios
inteligentes, óculos inteligentes). O princípio de funcionamento desse mecanismo explicado
acima é conhecido pela sigla WORA (Write Once Run Anywhere) que significa “Escreva uma
vez, execute em qualquer lugar”. JRE (Java Runtime Environment) é um conjunto de software
que forma um ambiente para a execução de bytecodes feitos em Java. Ela é composta da JVM e
bibliotecas adicionais. JDK (Java Development Kit) é um conjunto de programas que todo
programador Java deve ter. Ele é um kit de desenvolvimento Java composto pela JRE (item
acima), o JavaLang, o JavaTools (JavaC, Debugger, APIs). Além disso, você ainda pode adicionar
uma IDE para facilitar o desenvolvimento Java. As IDEs mais conhecidas são o Eclipse, o IntelliJ
e o NetBeans.