Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
LINGUAGEM DE PROGRAMAÇÃO JAVA, SUAS EDIÇÕES E ALGUMAS DE SUAS CARACTERÍSTICAS Emerson do Nascimento Pereira 1 , Késsia Rita da Costa Marchi 1 ¹Universidade Paranaense (UNIPAR) Paranavaí – PR – Brasil emersonnp_vip@globo.com, kessia@unipar.br Resumo: Este artigo apresenta uma breve descrição da linguagem de programação Java. Esclarecendo aos leitores e usuários de forma geral o seu processo de evolução, suas características, sua aplicação, edições, sua relação com a internet. As informações aqui apresentadas baseiam-se em outros artigos, bem como autores desta área de conhecimento. 1. Introdução Quando a linguagem de programação Java foi elaborada, era usada em processadores de aparelhos domésticos, e como os meios eletrônicos e tecnológicos evoluem muito rapidamente essa nova linguagem precisava adaptar-se aos novos aparelhos e não ser dependentes, este era o principal objetivo desta linguagem. Contudo Java se tornou uma linguagem de alto nível com muitas características positivas, que conquistou seu espaço chegando até à internet. O objetivo deste artigo é apresentar de modo geral o que é a linguagem de programação Java, destacando suas edições, suas características e seus objetivos, abordando ainda a compilação de um programa em Java e a relação entre linguagem e a internet. 2. O que é Java? Atualmente muito tem se falado da linguagem Java em meios de programadores, analistas e internautas. Java é uma linguagem de programação orientada à objetos, que segundo seu histórico, em abril de 1991 um grupo de funcionários da Sun Microsystems. Inicialmente elaborada para ser uma linguagem para projetos de softwares de produtos eletrônicos. Na época havia um descontentamento por parte de projetistas de sistemas nesta área, propuseram então, a criação de uma linguagem específica para uso em processadores de aparelhos domésticos, como geladeiras e torradeiras. Pois as linguagens convencionais eram totalmente dependentes da plataforma para a qual foram desenvolvidas. Porém como o ramo de eletrônicos evolui rapidamente, houve então a necessidade de uma nova linguagem que funcionasse adaptando-se aos novos surgimentos do mercado e não dependentes como as convencionais. Inicialmente o grupo de funcionários foi visto como um meio de vender modernas tecnologias de software a empresas de eletrônica de consumo, porém logo percebeu-se que um ambiente independente da plataforma seria necessário. E o produto final, que é o público consumidor não se interessa em saber qual processador está no interior de suas máquinas, basta que funcione. O processo de evolução da Java precisou de quatro anos para conquistar uma importância central na Internet com a Netscape Comunications, que incorporou Java em seu software de navegação. No dia 23 de maio de 1995, o Ambiente Java foi formalmente anunciado pela Sun no SunWorld’95. E Java estourou no mundo, a Sun contabilizava inúmeros downloads de seu JDK, diversas empresas desenvolveram IDEs para a programação em Java. Em 1994 surge à internet, a Sun vê uma nova possibilidade para o Green Project e cria uma linguagem para construir aplicativos Web baseada na Oak, a Java. Em 23 de maio de 1995 a linguagem Java é oficialmente lançada na SunWorld Expo 95 com a versão JDK 1.0 alpha. A Netscape aposta na idéia e inicia a implementação de interpretadores Java em seu navegador, possibilitando a criação de Java applets. A partir desta etapa o Java começa a crescer muito. De 1998 até hoje a tecnologia evoluiu muito possuindo um dos maiores repositórios de projetos livres do mundo, o java.net. Em 1999 surgiu a plataforma para desenvolvimento e distribuição corporativa batizado de Java 2 Enterprise Edition (J2EE) e a plataforma Java 2 Mobile Edition (J2ME) para dispositivos móveis, celulares, PDAs e outros aparelhos limitados. Atualmente Java é uma das linguagens mais usadas e serve para qualquer tipo de aplicação, entre elas: web, desktop, servidores, mainframes, jogos, aplicações móveis, chips de identificação. 2.1. As edições da linguagem Java Java se divide em três grandes edições: Java 2 Standard Edition (J2SE): É a tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de processamento e memória consideráveis. Várias APIs acompanham esta versão e tantas outras podem ser baixadas opcionalmente no site da Sun. É com elas que a maioria das aplicações são construídas e executadas. O J2SE possui duas divisões: o Java Development Kit (JDK) ou Standard Development Kit (SDK): um conjunto para desenvolvimento em Java e deveria ser instalado apenas pelos desenvolvedores por possuir ferramentas para tal tarefa; Java Runtime Edition JRE: uma versão mais leve da JDK pois é preparada para o ambiente de execução, ou seja, é esta versão que executará os sistemas construídos com a SDK [Pamplona 2009]; Java 2 Mobile Edition (J2ME): É a tecnologia Java para dispositivos móveis com limitações de memória ou processamento. Possui APIs bem simples e leves para economizar espaço, memória e processamento. São utilizadas para sistemas em celulares, palm tops, pocket pcs, smartphones, javacards e demais dispositivos. O J2ME se divide em dois grupos de bibliotecas. É dividida em dois grupos: Connected Limited Device Configuration (CLDC): Para celulares e smartphones, que são mais limitados; Connected Device Configuration (CDC): Para Palmtops e Pocket pcs e alguns dispositívos mais poderosos [Pamplona 2009]; Java 2 Enterprise Edition (J2EE): É a tecnologia Java para aplicações corporativas que podem estar na internet ou não. Possui um grande número de APIs onde a segurança é a principal preocupação. É ideal para a construção de servidores de aplicação, integração de sistemas ou distribuição de serviços para terceiros [Pamplona 2009]. 2.2. Características da linguagem Java Java é uma linguagem de alto nível, com sintaxe extremamente similar à do C++, e com diversas características herdadas de outras linguagens, como Smalltalk e Modulo-3. É antes de tudo uma linguagem simples, fortemente tipada, independente de arquitetura, robusta, segura, extensível, bem estruturada, distribuída, multithreaded e com garbage collection [Ritchey 1996] Conforme RITCHEY (1996), Java modifica a natureza pacífica da Internet e da Teia Mundial ao permitir que códigos de arquiteturas neurais sejam carregados dinamicamente e executados em uma rede heterogênea de máquinas como a Internet, tudo isso devido às suas características; sendo portável, ou seja, pode ser executado em qualquer máquina, desde que possua interpretador Java; robusta, suas características e seu ambiente, de run-time, o instante da execução, asseguram que o código seja bem comportado; segura, pois além de proteger o cliente contra ataques não intencionais, o ambiente Java protege-o contra ataques intencionais também; a linguagem é orientada a objetos em seus fundamentos e permite a descendência e reutilização de código de maneira estática e dinâmica Ao contrário de C++, que é uma linguagem híbrida, Java é uma linguagem orientada a objetos que segue a linha purista iniciada por Smalltalk. Com a exceção dos tipos básicos da linguagem (int, float, etc.), a maior parte dos elementos de um programa Java são objetos. O código é organizado em classes, que podem estabelecer relacionamentos de herança simples entre si. Somente a herança simples é permitida em Java.; possui um alto desempenho, pois suporta multientrelaçamento, compilação Just-in-time e uso de código nativo; e também é fácil, pois é derivada da própria linguagem C e de C++. Segundo Silveira (2003), uma das características de Java que a tornou ideal para seu uso na elaboração de aplicativos distribuídos foi a sua independência de plataforma, motivo para o qual foi criada. Como sabemos a Internet é uma grande "salada" de computadores de todos os tipos, dotados dos mais diversos sistemas operacionais e ambientes gráficos que se possa imaginar. O ambiente Java consegue essa independência devido ao fato de que o compilador Java não gera instruções específicas a uma plataforma, mas sim um programa em um código intermediário, denominado bytecode, que pode ser descrito como uma linguagem de máquina destinada a um processador virtual que não existe fisicamente. O código Java compilado pode então ser executado por um interpretador de bytecodes, a JVM - Java Virtual Machine, que é um emulador de processador. 2.3. Objetivos do Java O Java foi desenvolvido tendo em vista certos objetivos, tais como: Orientação a objetos, baseado no modelo de Smalltalk e Simula67 [Castela 2001]; Portabilidade e independência de plataforma [Castela 2001]; Recursos de Rede com extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP [Castela 2001]; Segurança que permite executar programas via rede com restrições de execução [Castela 2001]. 3. A compilação de um programa Java Já o processo de compilação de um programa Java é feito de acordo com os seguintes passos: o código fonte (extensão Java) é compilado e armazenado em um arquivo de extensão class. Não é possível se utilizar de DOS como sistema operacional para a elaboração de aplicativos Java, uma vez que o mesmo tem um suporte limitado a nomes de arquivos. Mas essa limitação quanto ao nome dos arquivos é somente a razão aparente da não-portabilidade de Java para DOS. A grande razão reside no fato de que Java foi projetada para sistemas de 32 bits, e só foram escritas Máquinas Virtuais Java para ambientes de 32 bits [Silveira 2003]. “A portabilidade de Java depende fortemente da existência de JVMs que rodem em diversas plataformas. Um programa Java rodará em um computador se existir uma JVM que nele rode. Ao contrário de programas Java, as JVMs devem ser programas feitos e compilados para máquinas específicas, de forma que serão as JVMs as responsáveis pela tradução de bytecodes Java para as linguagens nativas das máquinas. O compilador mais utilizado para a transformação de arquivos-fonte java (java) em arquivos de bytecodes é o javac da Sun” [Silveira 2003]. 4. A relação entre Java e a Internet A Internet é uma gigantesca "rede" que liga computadores entre si. É uma rede heterogênea, já que diversos tipos de computadores estão ligados a ela. Todos esses computadores utilizam-se do protocolo TCP/IP para comunicarem-se. Como eles são distintos, eles precisam de uma linguagem que não esteja necessariamente amarrada a uma plataforma de hardware/software específica. Uma vez que os programas Java são transmitidos como bytecodes, eles podem rodar em qualquer computador sem necessitar uma nova recopilação, independente da plataforma na qual ele será executado. Programas Java sempre são carregados no computador cliente e nele executado. Há dois tipos básicos de programas Java: Aplicativos: são programas como outros quaisquer, e [Silveira 2003]; Applets: programas especialmente confeccionados para executarem dentro de uma página HTML [Silveira 2003]. Ao abrir uma página HTML que tenha inserida em si uma applet Java, esta é automaticamente descarregada para seu computador e executada. Daí surge à pergunta, há riscos de um vírus infectar o seu computador cliente? Isso não ocorre, devido a uma série de limitações que os projetistas de Java impuseram às applets, por razões de segurança puramente, de forma que nenhuma applet Java seja capaz de "roubar" informações ou danificar dados do computador. A razão de toda essa segurança reside no fato de que programas Java são compilados em bytecodes que são verificados. Instruções bytecode são muito similares a outros conjuntos de instruções projetados para plataformas específicas, com a diferença de que bytecodes são conferidos através de informações adicionais que eles carregam em si informando a legitimidade ou não do arquivo. Métodos e variáveis não são acessados por endereço, mas sim por nomes. É a esse processo de verificar quais métodos e variáveis que serão realmente usados, e que chamamos verificação, que é necessário para garantir que os bytecodes não sofram qualquer adulteração e que continuem obedecendo às restrições de Java. Uma vez verificado o bytecode, a JVM irá traduzir enfim os nomes de funções para endereços [Silveira 2003]. 5. Metodologia Para este artigo, foi realizada uma pesquisa bibliográfica baseada em outros artigos que, em livros e sites da internet. 6. Conclusão A linguagem de programação Java tem contribuído significativamente para os ambientes de programação, melhorando o desempenho dos programas e sistemas que adotam esta linguagem. Este artigo abordou de modo geral os fundamentos e o histórico da linguagem de programação Java, a fim de esclarecer aos leitores e usuários como funciona e para que serve esta linguagem no ambiente Java. Referências CASTELA, Rodrigo Tenedini. Introdução à linguagem Java. Disponível em: <http://www.dotsharp.com.br/programacao/java/introducao-a-linguagem-java.html> acesso em 14/06/2001. Silveira, F. (2003). “Java, das torradeiras à internet”. Disponível em: <http://www.infowester.com/lingjava.php> acesso em 14/06/11. RITCHEY, Tim. Programando Java & JavaScript para Netscape 2.0. São Paulo, p. 18-27, 1996. Ed. Quark. PAMPLONA, Vitor Fernando. Tutorial Java: O que é Java? Disponível em: < http://javafree.uol.com.br/artigo/871498/Tutorial-Java-O-que-e-Java.html> acesso em: 14/06/2011.