𝖂𝖎ƙ𝖎𝖊

Java (linguagem de programação)

Histórico

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 “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 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. A sorte é que o bum 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, não era mais necessário construir a infra-estrutura para a rede, em um golpe de sorte, ela simplesmente esta 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 através de 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 dissimilação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes players, 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 2003 Java atingiu a marca de 4 milhões de desenvolvedores em todo mundo. Java continuou e continua crescendo e hoje é com certeza um padrão para o mercado oferecendo qualidade, performance e segurança ainda sem nenhum competidor a altura. 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, cartões inteligentes, …


Principais Características

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

  • Orientação a objeto - Baseado no modelo de Smalltalk e Simula67.
  • Portabilidade - Independência de plataforma - " write once run anywhere! ".
  • 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/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 pela máquina virtual Java (JVM - Java virtual machine). Os críticos da linguagem afirmam que por causa desse processo, o código interpretado Java tem baixo desempenho, tipicamente 800 vezes mais lento que um mesmo código em linguagem C. 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 característica que atinge em menor ou maior grau todas as linguagens compiladas.

Exemplos de código

Olá Mundo

public class OlaMundo {
       public static void main(String args[]) {
           System.out.println("Olá Mundo!");
       }
   }

Classes

public class Fred implements Deleteable {
     //Must include the delete () method to satisfy the Deleteable interface
     public void delete() { //code implementation goes here
     }
     //Can also include other methods
     public void doOtherStuff() {
     }
}
public void deleteAll (Deleteable [] list) {
     for (int i = 0; i < list.length; i++) {
          list[i].delete();
     }
}


Extensões

Extenções em Java:

  • J2EE (Enterprise edition)
  • J2ME (Micro-Edition for PDAs and cellular phones)
  • JMF (Java Media Framework)
  • JNDI (Java Naming and Directory Interface)
  • JSML (Java Speech API Markup Language)
  • JDBC (Java Database Connectivity)
  • JDO (Java Data Objects)
  • JAIN (Java API for Integrated Networks)
  • JDMK (Java Dynamic Management Kit)
  • Jini (a network architecture for the construction of distributed systems)
  • Jiro
  • JXTA (open source-based peer-to-peer infrastructure)
  • Java Card
  • JavaSpaces
  • JMI (Java Metadata Interface)
  • JMX (Java Management Extensions)
  • JSP (JavaServer Pages)
  • JSF (JavaServer Faces)
  • JNI (Java Native Interface)
  • J3D (A high level API for 3D graphics programming)
  • JOGL (A low level API for 3D graphics programming, using OpenGL)
  • OSGi (Dynamic Service Management and Remote Maintenance)
  • SuperWaba (JavaVMs for handhelds)
  • MARF (Modular Audio Recognition Framework)

Comunidade

A comunidade de desenvolvedores java reúne-se em grupo denominados JUGs (Java User Groups). No Brasil o movimento de grupos de usuários expandiu-se bastante e tem formado alguns dos maiores grupos de usuários Java do mundo.

Como desenvolver em Java?

Para ser um desenvolvedor da tecnologia Java, é necessário ter conhecimentos sobre o conceito de Orientação a Objeto. A partir daí, é necessário fazer o download, no site da Sun Microsystems, do JDK (Java Development Kit), um Kit de Desenvolvimento do Java, que contém uma coleção com as principais classes de Java e um compilador que transforma sua programação em bytecodes.

Também existem IDEs para facilitar o desenvolvimento de programas utilizando a tecnlogia Java, como o NetBeans (patrocinado pela Sun Microsystems) e o Eclipse (patrocinado pela IBM). Nessas IDEs, o desenvolvedor já pode definir a interface com o usuário (parecido com o VB). Para desenvolvedores em UML, as dicas são os modeladores Umbrello, DIA e principalmente o Jude.

Links Externos

ar:جافا bg:Java ca:Java cs:Java da:Java (programmeringssprog) de:Java (Programmiersprache) en:Java programming language eo:Java es:Lenguaje de programación Java et:Java fi:Java fr:Java (langage) he:Java hu:Java programozási nyelv is:Java (forritunarmál) it:Java (linguaggio) ja:Java言語 ko:자바 lt:Java (kalba) lv:Java (valoda) nl:Programmeertaal Java pl:Java ru:Java sv:Java (programspråk) th:ภาษาจาวา tr:Java programlama dili uk:Мова програмування Java vi:Java zh:Java

talvez você goste