Programação
› Algoritmo › C/C++ › Java
Web
› HTML/XHTML › JavaScript › PHP
Sistema Operacional
› Comandos de DOS › Windows › Linux › Mac/BSD
Office
› Word / Writer › Excel / Calc
Áreas do Site
› Download › Fórum › Blog
|
JavaJava é uma linguagem de programaçãoorientada a objeto desenvolvida na década de 90 por umaequipe de programadores chefiada por James Gosling, na empresaSun Microsystems. Diferentemente das linguagens convencionais,que são compiladas para código nativo, a linguagemJava é compilada para um "bytecode" que éexecutado por uma máquina virtual. A linguagem de programaçãoJava é a linguagem convencional da Plataforma Java, masnão sua única linguagem. HistóricoEm 1991, na Sun Microsystems, foi iniciado o GreenProject, o berço do Java, uma linguagem de programaçãoorientada a objetos. Os mentores do projeto eram Patrick Naughton,Mike Sheridan, e James Gosling. O objetivo do projeto nãoera a criação de uma nova linguagem de programação,mas antecipar e planejar a “próxima onda” domundo digital. Eles acreditavam que, em algum tempo, haveria umaconvergência dos computadores com os equipamentos e eletrodomésticoscomumente usados pelas pessoas no seu dia-a-dia. Para provar a viabilidade desta idéia, 13pessoas trabalharam arduamente durante 18 meses. No verãode 1992 eles emergiram de um escritório de Sand Hill Roadno Menlo Park com uma demonstração funcional daidéia inicial. O protótipo se chamava *7 (leia-se“StarSeven”), um controle remoto com uma interfacegráfica touchscreen. Para o *7, foi criado um mascote,hoje amplamente conhecido no mundo Java, o Duke. O trabalho doDuke no *7 era ser um guia virtual ajudando e ensinando o usuárioa utilizar o equipamento. O *7 tinha a habilidade de controlardiversos dispositivos e aplicações. James Goslingespecificou uma nova linguagem de programação parao *7. Gosling decidiu batizá-la de “Oak”, quequer dizer carvalho, uma árvore que ele podia observarquando olhava pela sua janela. O próximo passo era encontrar um mercadopara o *7. A equipe achava que uma boa idéia seria controlartelevisões e vídeo por demanda com o equipamento.Eles construíram um demo chamado MovieWood, mas infelizmenteera muito cedo para que o vídeo por demanda bem como asempresas de TV a cabo pudessem viabilizar o negócio. Aidéia que o *7 tentava vender, hoje já érealidade em programas interativos e também na televisãodigital. Permitir ao telespectador interagir com a emissora ecom a programação em uma grande rede cabos, eraalgo muito visionário e estava muito longe do que as empresasde TV a cabo tinham capacidade de entender e comprar. A idéiacerta, na época errada. Entretanto, o estouro da Internet aconteceu e rapidamenteuma grande rede interativa estava se estabelecendo. Era este tipode rede interativa que a equipe do *7 estava tentando vender paraas empresas de TV a cabo. E, da noite para o dia, não eramais necessário construir a infra-estrutura para a rede,ela simplesmente estava lá. Gosling foi incumbido de adaptaro Oak para a Internet e em janeiro 1995 foi lançada umanova versão do Oak que foi rebatizada para Java. A tecnologiaJava tinha sido projetada para se mover por meio das redes dedispositivos heterogêneos, redes como a Internet. Agoraaplicações poderiam ser executadas dentro dos browsersnos Applets Java e tudo seria disponibilizado pela Internet instantaneamente.Foi o estático HTML dos browsers que promoveu a rápidadisseminação da dinâmica tecnologia Java.A velocidade dos acontecimentos seguintes foi assustadora, o númerode usuários cresceu rapidamente, grandes fornecedores detecnologia, como a IBM anunciaram suporte para a tecnologia Java. Desde seu lançamento, em maio de 1995, aplataforma Java foi adotada mais rapidamente do que qualquer outralinguagem de programação na história da computação.Em 2003 Java atingiu a marca de 4 milhões de desenvolvedoresem todo mundo. Java continuou crescendo e hoje é uma referênciano mercado de desenvolvimento de software. Java tornou-se popularpelo seu uso na Internet e hoje possui seu ambiente de execuçãopresente em web browsers, mainframes, SOs, celulares, palmtopse cartões inteligentes, entre outros. PadronizaçãoEm 1997 a Sun Microsystems tentou submeter a linguagema padronização pelos orgãos ISO/IEC e ECMA,mas acabou desistindo. Java ainda é um standard de fato,que é controlada através da JCP Java Community Process.Em 13 de Novembro de 2006, a Sun lançou a maior parte doJava como Software Livre sob os termos da GNU General Public License(GPL). Em 8 de Maio de 2007 a Sun finalizou o processo, tornandopraticamente todo o código Java como software de códigoaberto, menos uma pequena porção que a Sun nãopossui copyright. Principais Características daLinguagem JavaA linguagem Java foi projetada tendo em vista osseguintes objetivos:
Além disso, podem-se destacar outras vantagensapresentadas pela linguagem:
Máquina Virtual JavaProgramas Java não são traduzidospara a linguagem de máquina,como outras linguagens estaticamentecompiladas e sim para uma representação intermediária,chamada de bytecodes. Os bytecodes são interpretados pela máquinavirtual Java (JVM - Java Virtual Machine). Muitas pessoas acreditamque por causa desse processo, o código interpretado Javatem baixo desempenho. Durante muito tempo esta foi uma afirmaçãoverdadeira. Porém novos avanços têm tornadoo compilador dinâmico (a JVM), em muitos casos, mais eficienteque o compilador estático. Java hoje já possui um desempenho próximodo C++. Isto é possível graças a otimizaçõescomo a compilação especulativa, que aproveita otempo ocioso do processador para pré-compilar bytecodepara código nativo. Outros mecanismos ainda mais elaboradoscomo o HotSpot da Sun, que guarda informações disponíveissomente em tempo de execução (ex.: númerode usuários, processamento usado, memória disponível),para otimizar o funcionamento da JVM, possibilitando que a JVMvá "aprendendo" e melhorando seu desempenho.Isto é uma realidade tão presente que hoje éfácil encontrar programas corporativos e de missãocrítica usando tecnologia Java. No Brasil, por exemplo,a maioria dos Bancos utiliza a tecnologia Java para construirseus home banks, que são acessados por milhares de usuáriosdiariamente. Grandes sítios como o eBay utilizam Java paragarantir alto desempenho. E a cada ano Java tem se tornado maisrápido, na medida que se evolui o compilador dinâmico. Essa implementação no entanto temalgumas intrínsecas. A pré-compilaçãoexige tempo, o que faz com que programas Java demorem um temposignificativamente maior para começarem a funcionar. Soma-sea isso o tempo de carregamento da máquina virtual. Issonão é um grande problema para programas que rodamem servidores e que deveriam ser inicializados apenas uma vez.No entanto isso pode ser bastante indesejável para computadorespessoais onde o usuário deseja que o programa rode logodepois de abri-lo. A próxima versão da máquinavirtual produzida pela Sun promete novos recursos que irãominimizar este fato.1 O Java ainda possui uma outra desvantagem considerávelem programas que usam bastante processamento numérico.O padrão Java tem uma especificação rígidade como devem funcionar os tipos numéricos. Essa especificaçãonão condiz com a implementação de pontosflutuantes na maioria dos processadores o que faz com que o Javaseja significativamente mais lento para estas aplicaçõesquando comparado a outras linguagens. Os bytecodes produzidos pelos compiladores Javapodem ser usados num processo de engenharia reversa para a recuperaçãodo programa-fonte original. Esta é uma característicaque atinge em menor grau todas as linguagens compiladas. No entantojá existem hoje tecnologias que "embaralham"e até mesmo criptografam os bytecodes praticamente impedindoa engenharia reversa. ExtensõesExtensões em Java:
FrameworksÉ possível utilizar frameworks parafacilitar o desenvolvimento de aplicações. Dentreos mais utilizados pode-se destacar:
Ambientes de desenvolvimentoÉ possível desenvolver aplicaçõesem Java através de vários ambientes de desenvolvimentointegrado (IDE's). Dentre as opções mais utilizadaspode-se destacar:
CertificaçõesExistem 8 tipos de certificaçõesda Sun Microsystems para Java:
ComunidadeA comunidade de desenvolvedores Java reúne-seem grupo denominados JUGs (Java User Groups). No Brasil o movimentode grupos de usuários expandiu-se bastante e tem formadoalguns dos maiores grupos de usuários Java do mundo, comopor exemplo o PortalJava e o GUJ. LicençaA Sun disponibiliza a maioriadas distribuições Java gratuitamente e obtémreceita com programas mais especializados como o Java EnterpriseSystem. Em 13 de novembro de 2006, Sun liberou partes de Javacomo software livre, sob a licença GNU General Public License(GPL). A liberação completa dos programas fontesob a GPL é esperada para o primeiro trimestre de 2007.
Páginas Relacionadas |
Enquete
|