|
Acadêmico(a): Júlio Vilmar Gesser |
Título: Compilador Java 5.0 para Gerar Código C++ para Plataforma Palm Os |
|
Introdução: |
Bachmann e Foster (2005, p. XXIII) afirmam que a conveniência, o poder e a facilidade de utilização de handhelds com Sistema Operacional (SO) Palm OS tornam os mesmos atrativos para uma grande variedade de usuários. Mais de 35 milhões de handhelds com Palm OS encontraram seu lugar nos bolsos da camisa dos médicos, dos advogados, do pessoal de vendas, dos profissionais de negócio e dos outros segmentos da sociedade não acostumados a utilizar este tipo de equipamento eletrônico. Com mais de 320.000 desenvolvedores registrados e 20.000 aplicativos de terceiros, o Palm OS também provou ser popular entre os desenvolvedores de software. As Linguagens de Programação (LPs) nativas do Palm OS são o C e C++. A Access, empresa que mantém o Palm OS, disponibiliza um ambiente de programação compatível com estas linguagens. No entanto, apesar de C e C++ serem LPs de alto nível e C++ trabalhar com o paradigma de orientação a objetos, desenvolver aplicativos para Palm OS utilizando estas linguagens pode ser uma tarefa complicada. Segundo Sebesta (2000, p. 89), a linguagem C não possui verificação de tipos, tornando-a flexível e ao mesmo tempo insegura. Além disso, não possui o conceito de orientação a objetos, conceito este que segundo Varejão (2004, p. 18), torna a linguagem mais rápida e confiável para o desenvolvimento de sistemas. Varejão (2004, p. 22) afirma ainda que C++ foi projetada para ser uma extensão de C com orientação a objetos, mas tornou-se uma LP muito complexa. Como alternativa, pode-se desenvolver aplicativos para Palm OS utilizando o Java Micro Edition (Java ME) que é uma versão reduzida do Java Standard Edition (Java SE), voltada para dispositivos móveis. Conforme Wilding-McBride (2003, p. 1), o Java ME é dividido em configurações, perfis e pacotes opcionais. Esta divisão permite que o Java ME possa ser suportado por diferentes tipos de dispositivos móveis, com diferentes características e limitações. Desta forma, a máquina virtual de cada aparelho pode implementar o que for possível para sua capacidade. Porém, a máquina virtual disponível para o Palm OS não implementa todas as configurações possíveis do Java ME, apesar de existirem poderosos palmtops com o SO, alguns possuindo inclusive capacidade de processamento superior aos primeiros computadores que executaram Java SE. Neste sentido, é proposto o desenvolvimento de um compilador para Palm OS para uma linguagem robusta e ao mesmo tempo simples, com orientação a objetos, que aproveite os recursos nativos do SO, tenha boa performance e seja produtiva. Varejão (2004, p. 22) afirma que Java é uma LP fortemente baseada em C++, mas é bem mais simples. É orientada a objetos, não utiliza explicitamente o conceito de ponteiros e tem se tornado amplamente utilizada por causa da sua confiabilidade e portabilidade. Desta maneira, utilizar a LP Java 5.0 para desenvolver programas nativos para Palm OS demonstra ser uma solução viável e adequada, podendo tornar prático e produtivo o desenvolvimento de aplicativos para Palm OS, tirando do desenvolvedor uma série de formalismos necessários para desenvolver um programa nativo em C ou C++ e oferecendo a segurança e a confiabilidade do Java. Para tornar mais simples a geração de código executável nativo, o compilador deve gerar código intermediário C++. Este código intermediário poderá ser facilmente portado para outras arquiteturas. Considerando que a maioria dos computadores possui compilador C++ para sua arquitetura, será possível, com pequenas implementações, a compilação de programas Java para execução nativa em outros computadores. |
|
|