0% acharam este documento útil (0 voto)
3 visualizações6 páginas

Vantagens e Desvantagens do Java

Java tem várias vantagens para os desenvolvedores: - É uma linguagem simples, orientada a objetos, que é mais fácil de usar do que C++ e elimina recursos complexos como ponteiros. - Os programas podem ser executados em qualquer dispositivo porque o Java é compilado em bytecode que roda em uma máquina virtual, em vez de código de máquina específico para o alvo. - Recursos de segurança e confiabilidade integrados ajudam a prevenir vulnerabilidades e erros.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações6 páginas

Vantagens e Desvantagens do Java

Java tem várias vantagens para os desenvolvedores: - É uma linguagem simples, orientada a objetos, que é mais fácil de usar do que C++ e elimina recursos complexos como ponteiros. - Os programas podem ser executados em qualquer dispositivo porque o Java é compilado em bytecode que roda em uma máquina virtual, em vez de código de máquina específico para o alvo. - Recursos de segurança e confiabilidade integrados ajudam a prevenir vulnerabilidades e erros.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Java Advantages & Disadvantages

Por Pradnya Choudhari, Voluntário Web Angel


[Link]

Vantagens do JAVA

O Java ganhou uma enorme popularidade desde que apareceu. Sua ascensão rápida e ampla
a aceitação pode ser atribuída às suas características de design e programação, particularmente em sua
promessa de que você pode escrever um programa uma vez e executá-lo em qualquer lugar. Java foi escolhido como o
linguagem de programação para computadores de rede (NC) e tem sido percebida como uma
interface universal para o banco de dados empresarial. Como declarado no documento técnico da linguagem Java por
Sun Microsystems: "Java é uma linguagem simples, orientada a objetos, distribuída, interpretada e robusta,"
seguro, neutro em relação à arquitetura, portátil, multithreading e dinâmico.

Java é simples

Nenhuma língua é simples, mas o Java é considerado um objeto muito mais simples e fácil de usar.
linguagem de programação orientada a objetos quando comparada à linguagem de programação popular,
C++. Parcialmente modelado após C++, o Java substituiu a complexidade de múltiplos
herança em C++ com uma estrutura simples chamada interface, e também eliminou o
uso de ponteiros.

A razão pela qual o Java é muito mais simples que o C++ é porque o Java utiliza a coleta automática.
alocação de memória e coleta de lixo, onde mais o C++ exige que o programador faça
alocar memória e coletar lixo. Além disso, o número de construções de linguagem em Java
é pequeno para uma linguagem tão poderosa. A sintaxe limpa torna os programas Java fáceis de
escrever e ler.

Java é orientado a objetos. A programação orientada a objetos modela o mundo real. Tudo
no mundo pode ser modelado como um objeto. Por exemplo, um círculo é um objeto, uma pessoa é
um objeto, e o ícone de uma janela é um objeto. Mesmo uma hipoteca pode ser percebida como um
objeto. Java é orientado a objetos porque a programação em Java é centrada na criação de
objetos, manipulando objetos e fazendo objetos trabalharem juntos.

Um objeto possui propriedades e comportamentos. As propriedades são descritas usando dados, e


comportamentos são descritos usando métodos. Objetos são definidos usando classes em Java. A
A classe é como um modelo para os objetos. Um objeto é uma realização concreta de uma classe.
descrição. O processo de criação de uma classe de objeto é chamado de instanciação. Java consiste em
uma ou mais classes que estão organizadas em uma hierarquia em formato de árvore, de modo que uma classe filha seja capaz de
herdar propriedades e comportamentos de sua classe pai. Um conjunto extenso de pré-definidos
classes, agrupadas em pacotes que podem ser usadas em programas, são encontradas no Java.

A programação orientada a objetos oferece maior flexibilidade, modularidade e reutilização.


anos, a tecnologia orientada a objetos tem sido percebida como elitista, exigindo substancial
investimentos em treinamento e infraestrutura. Java ajudou a tecnologia orientada a objetos
entrar no campo da computação, com sua estrutura simples e limpa que permite a
programador para escrever programas fáceis de ler e escrever.

Java é distribuído

A computação distribuída envolve vários computadores em uma rede trabalhando juntos. Java é
projetado para tornar a computação distribuída fácil com a capacidade de rede que é
inicialmente integrado a isso. Escrever programas de rede em Java é como enviar e
recebendo dados para e de um arquivo. Por exemplo, o diagrama abaixo mostra três programas
operando em três sistemas diferentes, comunicando-se entre si para realizar uma tarefa conjunta
task.

Portabilidade: Programe uma vez, execute em qualquer lugar (Independência de Plataforma)

Uma das razões mais convincentes para se mudar para o Java é sua independência de plataforma. Java
funciona na maioria das principais plataformas de hardware e software, incluindo Windows 95 e NT, o
Macintosh e várias variedades de UNIX. Applets Java são suportados por todos os Java-
navegadores compatíveis. Ao mover o software existente para Java, você é capaz de torná-lo
imediatamente compatível com estas plataformas de software. Programas JAVA tornam-se mais
portátil. Quaisquer dependências de hardware e sistema operacional são removidas.

O código-fonte Java é um pouco mais portátil do que as linguagens baseadas em C. Em C e C++, cada
a implementação decide a precisão e os requisitos de armazenamento para tipos de dados básicos
(curto, int, flutuar, duplo, etc.). Esta é uma grande fonte de problemas de portabilidade ao mover
de um tipo de sistema para outro, uma vez que mudanças na precisão numérica podem afetar
cálculos e suposições sobre o tamanho de structs podem ser violados. Java define o
tamanho dos tipos básicos para todas as implementações; um int em um sistema tem o mesmo tamanho (e pode
representar a mesma faixa de valores) como em qualquer outro sistema. Não permite o uso de
aritmética de ponteiro arbitrária, portanto suposições sobre o empacotamento e tamanhos de estruturas não podem levar a
práticas de codificação não portáteis.

Embora C e C++ sejam suportados em todas as plataformas que suportam Java, essas linguagens são
não suportados de maneira independente da plataforma. Aplicações em C e C++ que são
implementados em uma plataforma de sistema operacional geralmente estão severamente entrelaçados com o
sistema de janelas nativo e capacidades de rede específicas do SO. Movendo entre SO
as plataformas exigem recompilação, no mínimo, e um redesenho significativo, na maioria dos casos.

Java é Interpretado

An interpreter is needed in order to run Java programs. The programs are compiled into
O código da Máquina Virtual Java é chamado de bytecode. O bytecode é independente de máquina e é
capaz de rodar em qualquer máquina que possua um intérprete Java. Normalmente, um compilador irá
traduzir um programa de linguagem de alto nível para código de máquina e o código só consegue rodar
na máquina nativa. Se o programa for executado em outras máquinas, o programa precisa ser
recompilado na máquina nativa. Por exemplo, se você compilar um programa em C++ em
Windows, o código executável que é gerado pelo compilador só pode ser executado em um
Plataforma Windows. Com Java, o programa só precisa ser compilado uma vez, e o
o bytecode gerado pelo compilador Java pode ser executado em qualquer plataforma.

Segurança

Java é uma das primeiras linguagens de programação a considerar a segurança como parte de seu design.
A linguagem Java, compilador, intérprete e ambiente de execução foram cada um desenvolvido
com a segurança em mente. O compilador, o interpretador e os navegadores compatíveis com Java todos
contêm vários níveis de medidas de segurança que são projetadas para reduzir o risco de segurança
compromisso, perda de dados e integridade do programa, e danos aos usuários do sistema.
Considerando os enormes problemas de segurança associados à execução de potenciais
código não confiável de maneira segura e em múltiplos ambientes de execução, o Java
as medidas de segurança estão muito à frente, até mesmo daquelas desenvolvidas para proteger sistemas militares.
e C++ não possuem nenhuma capacidade de segurança intrínseca. Você pode baixar um arbitrário
programa C ou C++ não confiável e executá-lo de maneira segura?

Confiabilidade

A segurança e a confiabilidade andam lado a lado. Medidas de segurança não podem ser implementadas com
qualquer grau de garantia sem uma estrutura confiável para a execução do programa. Java
provides multiple levels of reliability measures, beginning with the Java language itself.
Muitos dos recursos de C e C++ que são prejudiciais à confiabilidade dos programas, como
ponteiros e conversão automática de tipos são evitados em Java. O compilador Java fornece
vários níveis de verificações adicionais para identificar incompatibilidades de tipo e outras inconsistências.
O sistema de tempo de execução Java duplica muitos dos testes realizados pelo compilador e
realiza verificações adicionais para verificar se os bytecodes executáveis formam um Java válido
programa.

Multimédia: Imagens, Sons e Animação

O fervor do JAVA é MULTIMÍDIA - Sons, Imagens, Gráficos e Vídeo. Neste


na era crescente da multimídia, novos computadores são conhecidos como "prontos para multimídia" com CD-
Discos ROM, placas de som, placas aceleradoras 3D e outras novas placas de som ou gráficos especiais
capacidades tecnológicas. A multimídia exige um poder de computação incrível e apenas
recentemente - nos últimos 5 anos pelo menos, computadores acessíveis desse tipo estão se tornando
generalizado.

Também precisamos de linguagens de programação que facilitem a criação de multimídia. A maioria


as linguagens de programação não têm capacidades multimídia integradas. JAVA, entretanto
através dos pacotes de classes que são uma parte integrante do mundo da programação Java,
fornece amplas instalações multimídia que permitirão a um programador começar a desenvolver
powerful multimedia applications immediately. Among the image formats supported by
Java é o Formato de Intercâmbio Gráfico .GIF e o Grupo Conjunto de Especialistas em Fotografia
.JPEG. Entre os formatos de áudio estão AIFF, AU e WAV. Os formatos de música atualmente
são suportados MIDI Tipo 0, MIDI Tipo 1 e Formato de Música Rico (RMF). Som
os formatos agora permitem dados de áudio de 8 e 16 bits, em mono e estéreo, com taxas de amostragem a partir de 8
kHz para 48 kHz. A capacidade de reproduzir formatos MPEG - Layer 2 e 3 também está disponível. E
a lista continua e continua a crescer.

A Máquina Virtual: JVM Java

Esta VM está, metaforicamente, entre o programa Java e a máquina em que está sendo executado
oferecendo ao programa um "computador abstrato" que executa o código Java e
garante certos comportamentos independentemente da plataforma de hardware ou software subjacente.
Os compiladores Java, assim, transformam programas Java não em linguagem de montagem para um determinado
máquina, mas em um "código byte" neutro em relação à plataforma que a VM específica da máquina interpreta
em tempo real.

A Máquina Virtual Java (JVM) também impõe políticas de segurança, fornecendo um sandbox que limita o que o
Um programa Java pode fazer. Um applet Java não pode, por exemplo, espiar arquivos arbitrários no
máquina em que está rodando. A versão mais recente do Java da Sun, conhecida como Java
O Kit de Desenvolvimento (JDK) 1.1, no entanto, não fornece um método consistente para um applet
solicitar recursos do sistema restritos. Essa capacidade estará disponível no JDK 1.2, previsto para lançamento
mais tarde este ano.

Rede de contatos

JavaBeans

Uma adição importante ao JDK 1.1 é o suporte para JavaBeans, um modelo de componentes para Java.
JavaBeans facilitam a escrita de componentes reutilizáveis que podem ser encadeados com um
mínimo de codificação adicional. Embora o ActiveX da Microsoft ofereça vantagens semelhantes,
Os beans são menos focados em um mundo centrado no Windows e são um pouco mais portáteis.
Ainda assim, o ActiveX tem a vantagem de suportar qualquer programação subjacente.
linguagem, enquanto Beans são projetados exclusivamente para encapsular Java.

JavaBeans oferecem um mecanismo promissor para construir negócios de uso geral


componentes que você pode reutilizar com mínimas modificações.

Outras Características da Língua

A linguagem Java fornece muitos recursos que a tornam preferível ao C ou C++


para o desenvolvimento de software moderno. No topo desta lista está o suporte intrínseco do Java para
multi-threading, que está faltando tanto em C quanto em C++. Outras características são sua exceção-
handling capabilities, which were recently introduced into C++; its strict adherence to
desenvolvimento de software orientado a objetos e classes; e sua coleta de lixo automatizada
suporte. Além dessas características, o Java impõe um estilo de programação comum ao
removendo a capacidade de escapar da programação orientada a classes e objetos
paradigma para desenvolver programas orientados a funções estilo C.

Java é robusto
Robusto significa confiável e nenhuma linguagem de programação pode realmente garantir confiabilidade. Java
coloca muita ênfase na verificação antecipada de possíveis erros, à medida que os compiladores Java são capazes de
detectar muitos problemas que apareceriam primeiro durante o tempo de execução em outras linguagens.
Java elimina certos tipos de estruturas de programação em outras linguagens que são propensas
a erros. Por exemplo, Java não suporta ponteiros, o que elimina a possibilidade de
sobrescrevendo a memória e corrompendo dados. O Java tem um recurso de tratamento de exceções em tempo de execução.
para fornecer suporte de programação para robustez e pode capturar e responder a um
situação excepcional para que o programa possa continuar sua execução normal e terminar
gracefully when a runtime error occurs.

Java é Portável

Uma vantagem do Java é que seus programas podem ser executados em qualquer plataforma sem precisar ser
recompilado. Este é um aspecto positivo da portabilidade. Vai ainda mais longe para garantir
que não há recursos específicos de plataforma na especificação da linguagem Java. Para
exemplo, em algumas línguas, como Ada, o maior inteiro varia em diferentes
plataformas. Em Java, o tamanho do inteiro é o mesmo em todas as plataformas, assim como o comportamento.
da aritmética. Ter um tamanho fixo para os números torna os programas Java portáteis. O Java
o ambiente em si é portátil para novo hardware e sistemas operacionais, e na verdade, o
O compilador Java em si é escrito em Java.

Java is Multithreaded

Multithreaded é a capacidade de um programa para realizar várias tarefas simultaneamente


dentro de um programa. Por exemplo, baixar um arquivo mp3 enquanto toca o arquivo seria
considerado multithreading. Em Java, a programação multithreaded tem sido suave
integrado a ele, enquanto em outras línguas, procedimentos específicos do sistema operacional têm que
ser chamado para possibilitar a multithreading. A multithreading é especialmente útil em
interface gráfica do utilizador (GUI) e programação de rede. Na programação de GUI, muitos
coisas podem ocorrer ao mesmo tempo. Por exemplo, um usuário é capaz de ouvir um arquivo mp3 e
navegar na Web ao mesmo tempo. Na programação de redes, um servidor pode atender a múltiplos
clientes ao mesmo tempo. A multithreading é uma necessidade em visual e rede
programação.

Java é Neutro em Relação à Arquitetura

A característica mais notável do Java é que é neutro em relação à arquitetura. Neutro em relação à arquitetura
significa que é independente de plataforma. Um programa Java pode ser executado em qualquer plataforma com um
Máquina Virtual Java. Muitos grandes fornecedores de sistemas operacionais adotaram o Java.
Máquina Virtual, e em breve o Java poderá ser executado em todas as máquinas. O sucesso inicial do Java
reside em sua capacidade de programação Web. Applets Java podem ser executados a partir de um navegador Web, mas
Java é, na verdade, mais do que um applet da Web. Aplicativos Java independentes também podem ser
executar diretamente de sistemas operacionais usando um intérprete Java. Hoje em dia, fornecedores de software
geralmente desenvolvem várias versões do mesmo produto para que ele possa funcionar em diferentes
plataformas, como Windows, OS/2, Macintosh e vários UNIX, VMS, Open/VMS,
e mainframes da IBM. Usando Java, os desenvolvedores precisam escrever apenas uma versão, e
esta versão poderá ser executada em todas as plataformas.

Java é Dinâmico

A linguagem de programação Java foi projetada para se adaptar a um ambiente em evolução. Novos
métodos e propriedades podem ser adicionados livremente em uma classe sem afetar seus clientes. Também,
Java é capaz de carregar classes conforme necessário em tempo de execução. Como exemplo, você tem uma classe chamada
'Quadrado'. Esta classe tem uma propriedade para indicar a cor do quadrado e um método para
calcule a área do quadrado. Você pode adicionar uma nova propriedade à classe 'Quadrado' para
indicate the length and width of the square, and a new method to calculate the perimeter
do quadrado, e o programa cliente original que usa a classe 'Square' permanece o
mesmo.

Desvantagens do JAVA

A principal desvantagem do Java é a velocidade.

Embora a capacidade do Java de produzir código portátil e arquitetonicamente neutro seja desejável,
o método usado para criar este código é ineficiente. Como mencionado acima, uma vez que o código Java está
compilado em bytecode, um interpretador chamado Máquina Virtual Java, especificamente
projetado para uma arquitetura de computador, executa o programa. Por que isso é um problema? "Java,
sendo um sistema interpretado, atualmente é uma ordem de magnitude mais lento que C.
Java, 302). Ao contrário do código compilado nativamente, que é uma série de instruções que se correlacionam
diretamente para um conjunto de instruções de microprocessadores, um interpretador deve primeiro traduzir o Java
código binário na instrução equivalente do microprocessador. Obviamente, esta tradução
leva algum tempo e, não importa quão curto seja esse tempo, é
inherentemente mais lento do que realizar a mesma operação em código de máquina.

Quão importante é essa diferença de velocidade?

De acordo com a PC Magazine, parece muito significativo: "Comparado com código nativo,
As VMs Java são excrivelmente lentas. ... Java ainda não pode competir com compilados nativamente.
Código C++." (Revista PC, 7 de abril de 1998, 104). A diferença de velocidade entre C++
e Java é muito importante. Mesmo com todos os benefícios do Java, o Java não será amplamente
aceito se não puder desempenhar adequadamente. C++ foi amplamente adotado por desenvolvedores
e eles não estarão dispostos a mudar de idioma se os aplicativos que desenvolvem com
Java não atende aos padrões pessoais e de seus clientes. No entanto, se o
a diferença de velocidade é negligenciável, os desenvolvedores podem estar dispostos a aprender e programar em Java
devido às vantagens significativas que a linguagem oferece. Antes que os desenvolvedores possam fazer
essa decisão, eles precisam de uma imagem precisa sobre quais são os compromissos de velocidade entre os dois
as línguas são.

Você também pode gostar