𝖂𝖎ƙ𝖎𝖊

Java (linguagem de programação): mudanças entre as edições

(Adição de referência aos bytecodes)
imported>Claudomiro Jr
(Reorganização e "limpeza" do texto do artigo)
Linha 1: Linha 1:
Linguagem de programação orientada a objetos criada pela empresa [http://www.sun.com Sun Microsystem] em 1991. No inicio tinha a finalidade se ser utilizada em eletrodomésticos, foi projetada e implementada por um pequeno grupo de pessoas, coordenado por [http://www.javasoft.com/people/jag/index.html James Gosling] na Sun. Tornou-se famosa após o seu uso na internet, pela suas facilidades (Prós) Programas dinâmicos e extensíveis, Código Java organizado em unidades modulares orientadas por objeto chamadas classes. Cada classe é armazenada em um arquivo separado e somente descarregadas para o interpretador Java quando necessárias.
Linguagem de programação orientada a objetos projetada e implementada por um pequeno grupo de pessoas coordenado por [[James Gosling]] na empresa [[Sun Microsystems]] em 1991. Criada inicialmente com a finalidade se ser utilizada em eletrodomésticos, se tornou popular pelo seu uso na internet.
O código torna-se uma coleção interativa de componentes independentes de software.
Internacionalização, única linguagem de programação que suporta Unicode.
Eficiência do programador e tempo de comercialização , conjunto de APIs (Application Programming Interface) poderoso e bem projetado.
Por que Java?
Torna as páginas da Web mais interessantes Som, vídeo, animações, relógios, contadores
Nova plataforma, pode-se criar uma grande variedade de aplicações,planilhas eletrônicas, processadores de texto, jogos, salas de bate-papo, programas financeiros, gerência de recursos humanos, etc.
Portabilidade (Independente de plataforma), familiaridade (Similar ao [http://pt.wikipedia.org/wiki/Linguagem_C C], C++), simplicidade (especificação simples – LP e [[JVM]]), distribuição (biblioteca poderosa – recursos p/ programação distribuída e concorrente), segurança (programas via rede com restrições de execução), orientada a objetos (baseada no modelo de Smalltalk e Simula67)
Contras: Desempenho, eficiência (código interpretado: [[bytecodes]]), necessidade de uma máquina virtual, por ser interpretada, torna-se mais lenta. Engenharia Reversa, bytecodes traduzidos facilmente p/ fonte java, bytecodes (programa-fonte praticamente completo - sem comentários), instabilidade, algumas APIs (bibliotecas) ainda instáveis, (In)segurança restrições pesadas ou ainda bem passíveis de serem violadas.
Conceitos Gerais: Carga Dinâmica de Código, programas não monolíticos: cada classe é armazenada independentemente e pode ser carregada somente qdo for utilizada.
Concorrência,permite múltiplas linhas de execução (threads) num mesmo programa e oferece primitivas para sincronizá-las.
Pilha de Execução, idêntica a outras OOPLs (cada thread numa pilha própria), coleta automática de lixo, desalocação de memória (objetos) automática.
Tratamento de Exceções , modelo de Objetos, incorpora todos os principais conceitos 
Recursos de Rede, extensa biblioteca de rotinas que facilitam a cooperação com protocolos [[TCP/IP]], como [[HTTP]] e [[FTP]].
Maior facilidade de criação de conexões de rede do que C ou C++.
Aplicações Java podem abrir e acessar objetos na rede através das [[URL]]s.


==Principais Características==
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
* Orientação a objetos - Baseado no modelo de Smalltalk e Simula67.
* Portabilidade - Independência de plataforma.
* Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos [[TCP/IP]], como [[HTTP]] e [[FTP]].
* Segurança - Pode executar programas via rede com restrições de execução.
Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:
* Sintaxe similar a [[Linguagem 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 [[API]]s).
* Possui facilidades para criação de programas distribuídos e ''multi-thread'' (múltiplas linhas de execução num mesmo programa).
* Desalocação de memória automática por processo de ''garbage collector''.
* Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.
==Máquina Virtual Java e principais críticas==
Programas em Java não são traduzidos para "linguagem de máquina" como outras linguagens compiladas e sim para uma representação intermediária, chamada de ''bytecodes'', que por sua vez são interpretados pelo processador. Os críticos da linguagem afirmam que por causa desse processo, o código ''interpretado'' Java tem baixo desempenho. Porém, sucessivos avanços tornaram a otimização da máquina virtual Java (JVM) bastante eficiente, diminuíndo a diferença de performance entre Java e as linguagens compiladas tradicionais.
Outro "defeito" apontado pelos críticos da linguagem  é de que os ''bytecodes'' produzidos pelos compiladores Java podem ser facilmente usados num processo de "engenharia reversa" para a recuperação do programa-fonte original, mas esta é uma caracteristica que atinge em menor ou maior grau todas as linguagem compiladas.
==Links Externos==
* [http://java.sun.com/ Página oficial da Linguagem]
* [http://today.java.net/jag/ Home-Page de James Gosling]


[[de:Programmiersprache Java]]
[[de:Programmiersprache Java]]

Edição das 01h36min de 25 de abril de 2004

Linguagem de programação orientada a objetos projetada e implementada por um pequeno grupo de pessoas coordenado por James Gosling na empresa Sun Microsystems em 1991. Criada inicialmente com a finalidade se ser utilizada em eletrodomésticos, se tornou popular pelo seu uso na internet.

Principais Características

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

  • Orientação a objetos - Baseado no modelo de Smalltalk e Simula67.
  • Portabilidade - Independência de plataforma.
  • Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP.
  • Segurança - Pode executar programas via rede com restrições de execução.

Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:

  • Sintaxe similar a Linguagem 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).
  • Possui facilidades para criação de programas distribuídos e multi-thread (múltiplas linhas de execução num mesmo programa).
  • Desalocação de memória automática por processo de garbage collector.
  • Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.

Máquina Virtual Java e principais críticas

Programas em Java não são traduzidos para "linguagem de máquina" como outras linguagens compiladas e sim para uma representação intermediária, chamada de bytecodes, que por sua vez são interpretados pelo processador. Os críticos da linguagem afirmam que por causa desse processo, o código interpretado Java tem baixo desempenho. Porém, sucessivos avanços tornaram a otimização da máquina virtual Java (JVM) bastante eficiente, diminuíndo a diferença de performance entre Java e as linguagens compiladas tradicionais.

Outro "defeito" apontado pelos críticos da linguagem é de que os bytecodes produzidos pelos compiladores Java podem ser facilmente usados num processo de "engenharia reversa" para a recuperação do programa-fonte original, mas esta é uma caracteristica que atinge em menor ou maior grau todas as linguagem compiladas.

Links Externos

de:Programmiersprache Java en:Java_programming_language eo:Gxavo fi:Java fr:Langage de programmation Java he:Java ja:Java nl:Programmeertaal Java pl:Java zh:Java编程语言

talvez você goste