


 |
A LINGUAGEM
JAVA
O Java foi criado como parte de um grande projeto da Sun Microsystems, Inc.,
cuja missão era desenvolver aplicativos complexos e avançados
para aplicação em pequenos dispositivos eletrônicos.
A primeira tentativa da Sun com esse aplicativos deveria ter sido implementada
em C++. Mas em conseqüência de compilações
horríveis e uma lista cada vez maior de problemas com o C++ -
principalmente vazamentos de memória e vários problemas de
herança - a Sun enterrou o C++ e implementou uma nova linguagem, o
Java. Desde o seu início em 1992, surgiram muitas outras
aplicações para o Java. O Java tem a capacidade de criar programas
auxiliares, que podem ser usados para montar documentos HTML particularmente
interessantes.
O Java é ao mesmo tempo um ambiente e uma linguagem de
programação desenvolvida pela Sun Microsystems, Inc. Trata-se
de mais um representante da nova geração de linguagens orientadas
a objetos e foi projetado para resolver os problemas da área de
programação cliente/servidor.
Os aplicativos em Java são compilados em um código de bytes
independente de arquitetura. Esse código de bytes pode então
ser executado em qualquer plataforma que suporte um interpretador Java. O
Java requer somente uma fonte e um binário e, mesmo assim, é
capaz de funcionar em diversas plataformas, o que faz dele um sonho de todos
os que realizam manutenção em programas.
Hoje em dia, a maior parte do interesse pela linguagem Java está
relacionada com sua habilidade em criar páginas na Web. Este é,
hoje, o principal uso de Java, mas pode-se fazer implementações
mais avançadas, como aplicativos completos de páginas interativas
Web.
As primeiras notícias que se ouviu de Java era que ela possibilitava
colocar animações em uma página Web. Java fazia isso
através de um descritor HTML especial, aceito pelo browser HotJava,
que permitia incluir um programa em uma página, da mesma maneira em
que se coloca uma imagem. O programa era transferido e rodava na máquina
do usuário. A sua aplicação não se limitava a
animações. O que se podia fazer com Java dependia apenas da
imaginação do programador. Esses programas, que rodavam dentro
de páginas Web, foram chamados de Applets. Mais tarde, o Netscape
Navigator - browser usado por 86% da população da Web na
época - passou a suportar também a utilização
das Applets.
O interesse por Java cresceu quando as pessoas começaram a descobrir
que Java era mais que uma simples linguagem para se colocar animações
em páginas. Na verdade, era uma poderosa linguagem que podia ser usada
para desenvolver aplicações, como as que se faz hoje usando
C++. Java é muito mais simples, segura e robusta e possui uma qualidade
que a diferencia de todas as outras: a independência de plataforma.
A partir daí a evolução não parou. As maiores
empresas de software do mundo, inclusive a poderosa Microsoft, licenciaram
Java. Várias já tem projetos para desenvolver aplicativos de
grande porte, em um futuro próximo, usando Java. Já existe
uma interface independente para acesso a bancos de dados suportada pelas
maiores empresas do ramo. O suporte à rede e à Web fazem parte
da linguagem. A facilidade de ler um arquivo local ou uma URL remota é
a mesma. E é uma linguagem que já nasceu poliglota. O seu conjunto
de caracteres de 16 bits suporta, desde o início, todos os idiomas
conhecidos no mundo.
O Java é orientado a objetos: O Java é um membro do paradigma
orientado a objetos (POO) das linguagens de programação, tudo
em Java é objeto. As linguagens que aceitam este paradigma, como Java
e C++, seguem a mesma filosofia básica, mas diferem em sintaxe e estilo.
As linguagens orientadas a objetos oferecem muitas vantagens sobre as linguagens
procedurais tradicionais. Como os objetos encapsulam dados e funções
relacionados em unidades coesas, é fácil localizar
dependências de dados, isolar efeitos de alterações e
realizar outras atividades de manutenção, talvez o mais importante,
as linguagens POO facilitam a reutilização. Não existem
variáveis globais ou funções independentes. Toda
variável ou método pertence a uma classe ou objeto e só
pode ser invocada através dessa classe ou objeto.
O Java é distribuído: Distribuição de
informações para compartilhamento e trabalho conjunto, com
a distribuição de carga de trabalho do processamento, é
uma característica essencial dos aplicativos cliente/servidor. Em
Java, há uma biblioteca de procedimentos TCP/IP incluída nos
códigos-fonte e de distribuição binária do Java.
Isso facilita aos programadores o acesso remoto às
informações, usando protocolos como HTTP e FTP.
O Java é compilado e independente de plataforma: Um programa escrito
em Java precisa ser compilado antes de ser executado. O compilador traduz
o código-fonte e gera arquivos objeto chamados arquivos de classe.
Cada programa Java consiste da implementação de uma única
classe. Depois de compilado, pode ser executado em qualquer plataforma onde
exista um sistema de tempo de execução Java (runtime). A
compilação de um programa em C++ realiza a tradução
do código-fonte da linguagem em instruções que são
interpretadas pelo microprocessador da máquina onde foi compilado.
O programa então só roda em outra máquina que tenha
o mesmo tipo de processador. Já um programa em Java, quando compilado,
gera instruções (chamadas de byte-codes) para um microprocessador
virtual. Existem implementações desse microprocessador virtual
para várias plataformas e o programa então rodará em
qualquer uma delas. Por ter suas instruções interpretadas por
um software (processador virtual), os programas em Java são mais lentos
que os escritos em C ou C++. A igualdade é atingida usando
microprocessadores virtuais com compiladores Just-In-Time (JIT), que já
são bastante comuns. Esse tipo de sistema, converte as
instruções em byte-codes para instruções do
microprocessador na hora da execução, fazendo com que programas
escritos em Java não tenham grandes perdas de desempenho em
relação a programas escritos em C ou C++.
O Java é multitarefa: Os objetos binários de códigos
de bytes do Java são formados por seqüências de
execução múltiplas e simultâneas. Essas
seqüências são conhecidas como contextos de
execução ou processos leves. As linguagens C e C++ são
membros de um paradigma de execução em seqüência
única, por não oferecerem suporte a seqüências no
nível de linguagem. O Java, no entanto, oferece suporte no nível
de linguagem para multitarefa, resultando em uma abordagem de
programação mais poderosa e de múltiplas facetas.
O Java é robusto: Quanto mais robusto um aplicativo, mais confiável
ele será. Isso é desejável tanto para os desenvolvedores
de software quanto aos consumidores. A maioria das linguagens POO, como o
C ++ e Java, possuem tipos bastante fortes. Isso significa que a maior parte
da verificação de tipos de dados é realizada em tempo
de compilação, e não em tempo de execução.
Isso evita muitos erros e condições aleatórias nos
aplicativos.
O Java é seguro: Como o Java foi criado para ambientes de rede, os
recursos de segurança receberam muita atenção. Por exemplo,
se você executar um binário transferido por download da rede,
o mesmo poderá estar infectado por vírus. Os aplicativos Java
apresentam garantia de resistência contra vírus e de que não
são infectados por vírus, pois não são capazes
de acessar heaps, stacks ou memória do sistema. No Java, a
autenticação do usuário é implementada com um
método de chave pública de criptografia. Isso impede de maneira
eficaz que hackers e crackers examinem informações protegidas
como nomes e senhas de contas.
O Java é simples: Um dos principais objetivos do projeto do Java foi
criar uma linguagem o mais próxima possível do C ++, para garantir
sua rápida aceitação no mundo do desenvolvimento POO.
Outro objetivo do seu projeto foi eliminar os recursos obscuros e danosos
do C ++, que fugiam à compreensão e aumentavam a confusão
que poderia ocorrer durante as fases de desenvolvimento,
implementação e manutenção do software.
O Java oferece alto desempenho: O Java proporciona bom desempenho, porque
realiza a tradução dos códigos de bytes para o código
de máquina nativo em tempo de execução. O alto desempenho
permite a implementação de seus aplicativos WEB em Java, na
forma de programas pequenos e velozes, que podem ampliar, de maneira
significativa, os recursos tanto do cliente quanto do servidor.
Em uma rede heterogênea como a Internet, que é formada por
milhões de máquinas diferentes ligadas entre si, as
características da linguagem Java a colocam em posição
confortável como a linguagem ideal para este ambiente.
Os byte-codes compilados são transferidos através da rede e
rodam em qualquer máquina ligada à Internet, seja como uma
applet, através de um browser, seja como uma aplicação
independente. Se o aplicativo foi escrito em Java, não importa a
máquina que está sendo utilizada (Solaris, PC rodando Windows,
Servidor NT ou Macintosh.). Ele roda de forma quase igual em qualquer dessas
máquinas.
Com linguagens tradicionais, era necessário portar e compilar o
código-fonte em cada plataforma diferente, e tratar os bugs que apareciam
em cada uma delas individualmente. Depois, precisava ainda ter
documentação e suporte para a plataforma específica
do usuário, e distribuído em embalagens diferentes para cada
versão. Se o programa for escrito em Java, só haverá
uma compilação, uma documentação e um produto
comercial que poderá ser adquirido por qualquer usuário,
independente de sua plataforma de trabalho.
|