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

História

Em 1991, na Sun Microsystems, foi iniciado o Green Project, o berço do Java, uma linguagem de programação orientada a objetos.
Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. O objetivo do projeto não era a criação de uma
nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum
tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas
no seu dia-a-dia.
Para provar a viabilidade desta idéia, 13 pessoas trabalharam arduamente durante 18 meses. No verão de 1992 eles emergiram de
um escritório de Sand Hill Road no Menlo Park com uma demonstração funcional da idéia inicial. O protótipo se chamava *7 (leia-
se “StarSeven”), um controle remoto com uma interface gráfica touchscreen. Para o *7, foi criado um mascote, hoje amplamente
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. O *7 tinha a habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou uma nova
linguagem de programação para o *7. Gosling decidiu batizá-la de “Oak”, que quer dizer carvalho, uma árvore que ele podia
observar quando olhava pela sua janela.
O próximo passo era encontrar um mercado para o *7. A equipe achava que uma boa idéia seria controlar televisões e vídeo por
demanda com o equipamento. Eles construíram um demo chamado MovieWood, mas infelizmente era muito cedo para que o vídeo
por demanda bem como as empresas de TV a cabo pudessem viabilizar o negócio. A idéia que o *7 tentava vender, hoje já é
realidade em programas interativos e também na televisão digital. Permitir ao telespectador interagir com a emissora e com a
programação em uma grande rede de cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo
tinham capacidade de entender e comprar. A idéia certa, na época errada.
Entretanto, o estouro da Internet aconteceu e rapidamente uma grande rede interativa estava se estabelecendo. Era este tipo de
rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. E, da noite para o dia, não era mais
necessário construir a infra-estrutura para a rede, ela simplesmente estava lá. Gosling foi incumbido de adaptar o Oak para a
Internet e em janeiro 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. A tecnologia Java tinha sido
projetada para se mover por meio das redes de dispositivos heterogêneos, redes como a Internet. Agora aplicações poderiam ser
executadas dentro dos browsers nos Applets Java e tudo seria disponibilizado pela Internet instantaneamente. Foi o estático HTML
dos browsers que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi
assustadora, o número de usuários cresceu rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte
para a tecnologia Java.
Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de
programação na história da computação. Em 2004 Java atingiu a marca de 3 milhões de desenvolvedores em todo mundo[1]. Java
continuou crescendo e hoje é uma referência no mercado de desenvolvimento de software. Java tornou-se popular pelo seu uso na
Internet e hoje possui seu ambiente de execução presente em web browsers, mainframes, SOs, celulares, palmtops e cartões
inteligentes, entre outros.
Características da linguagem

A linguagem Java foi projetada tendo em vista os • Possui facilidades para criação de programas
seguintes objetivos: distribuídos e multitarefa (múltiplas linhas de execução
num mesmo programa);
• Orientação a objeto - Baseado no modelo de Smalltalk • Desalocação de memória automática por processo de
e Simula67; coletor de lixo (garbage collector);
• Portabilidade - Independência de plataforma - "write • Carga Dinâmica de Código - Programas em Java são
once, run anywhere"; formados por uma coleção de classes armazenadas
• Recursos de Rede - Possui extensa biblioteca de independentemente e que podem ser carregadas no
rotinas que facilitam a cooperação com protocolos momento de utilização.
TCP/IP, como HTTP e FTP;
• Segurança - Pode executar programas via rede com
restrições de execução;
• Sintaxe similar a Linguagem C/C++ e principalmente, a
C#.
• Facilidades de Internacionalização - Suporta
nativamente caracteres Unicode;
• Simplicidade na especificação, tanto da linguagem
como do "ambiente" de execução (JVM);
• É distribuída com um vasto conjunto de bibliotecas (ou
APIs);
Ambientes de desenvolvimento

É possível desenvolver aplicações em Java através de vários ambientes de desenvolvimento integrado (IDEs). Dentre as opções
mais utilizadas pode-se destacar:
• jEdit (recomendado para programadores iniciantes)
• JCreator (gratuito/shareware) — um ambiente desenvolvido pela Xinox (recomendado para programadores iniciantes);
• BlueJ — um ambiente desenvolvido por uma faculdade australiana (considerado muito bom para iniciantes);
IDEs completas (recomendado para programadores profissionais):
• Eclipse (software livre) — um projeto aberto iniciado pela IBM;
• NetBeans (software livre) — um ambiente criado pela empresa Sun Microsystems;
• JBuilder — um ambiente desenvolvido pela empresa Borland;
• JDeveloper (gratuito OTN) — uma IDE desenvolvida pela empresa Oracle;
• IntelliJ IDEA (comercial) — uma IDE desenvolvida pela JetBrains (considerada por muitos a melhor IDE do mercado).
Outras IDEs (menos populares):
• Gel (gratuito)
• Greenfoot — bem parecido com o BlueJ;
• JGRASP — bom para intermediários, feito pela equipe do Projeto GRASP;
• Java Studio Creator/Enterprise (gratuito SDN) um ambiente criado pela empresa Sun Microsystems;
• Workshop for WebLogic (comercial/desenvolvedor) um ambiente criado pela empresa Oracle
• WebSphere Studio Application Developer um ambiente criado pela empresa IBM
Máquina Virtual
Java é multiplataforma. Quando um programa Java é compilado um código intermediário é gerado, chamado de bytecode. Este
bytecode é interpretado pelas máquinas virtuais java (JVMs) para a maioria dos sistemas operacionais. A máquina virtual é a
responsável por criar um ambiente multiplataforma, ou seja, se alguém construir um sistema operacional novo, basta criar uma
máquina virtual java que traduza os bytecodes para código nativo e pronto! Todas as aplicações java estarão rodando sem
problemas.

Entre outras funções, a máquina virtual java também é responsável por carregar de forma segura todas as classes do programa,
verificar se os bytecodes aderem a especificação JVM e se eles não violam a integridade e a segurança do sistema.

A figura 1.1 mostra como acontece a compilação e a execução de um programa Java. De um código Java, que está em um
arquivo. java, o compilador javac gera o bytecode: um arquivo. class. Após isso uma máquina virtual java executa o bytecode e
roda o programa.

Figura 1.1: Compilador e Interpretador Java

Como existe um programa traduzindo um código a cada execução do sistema, poderia-se dizer que Java sempre será mais lenta
que as linguagens que geram código nativo do sistema operacional como Delphi, VB ou C + +. Isso era fato até 1996 quando a Sun
criou o compilador Just-in-time (JIT) que analisa e retira códigos desnecessários aumentando consideravelmente a velocidade da
execução. Atualmente o Java é mais rápido que o próprio C em vários aspectos.

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