jump to navigation

Java Coding Pains 19/Sep/2009

Tal como referi num artigo anterior, PolyglotProgramming: Scala, vou neste artigo enumerar as diversas “dores” que tenho sentido ao codificar sistemas em Java.

Ao contrário da minha experiência em C++, muito sustentada no facto de manter aplicações legacy em vez de desenvolver de raíz, a minha experiência com Java é menor na dimensão tempo e sustentada somente no facto de desenvolver aplicações green-field.

O sistema para qual contribuo com o papel e com as responsabilidades de senior developer é um sistema de facturação wholesale que corre em Tru64 e Windows, com base de dados em Oracle, desenvolvido em C++ com Pro*C e PowerBuilder. A sua arquictetura é como que um misto entre as arquitecturas cliente/servidor e 3-tier, se bem que a camada de lógica de negócio está espalhada pelos 3 tiers – que são dados, processos aplicacionais (servidor) e apresentação (cliente). As tecnologias que suportam o sistema, desde o sistema operativo Tru64 até às versões Oracle e PowerBuilder – entre outras situações complicadas de vendor lock-in – estão desde à muito tempo descontinuadas.

Por esse motivo, colocamos à equipa de suporte técnico (nós mesmos) o desafio de “migrar” as funcionalidades do sistema para tecnologias suportadas e modernas, mais adequadas às necessidades do negócio da facturação wholesale. E a tecnologia base de eleição foi Java, graças à soberba JVM e à API JDBC. E aqui fica o registo das vantagens de programar em Java, bem como mais abaixo as “dores” que ainda temos que procurar “curar”:

Mas, após as experiências com Perl e PHP e Ruby, é difícil aceitar estas “dores”:

Apesar destas dores, linguagens mais recentes como a Ruby e a Scala – no meu entender – ainda não estão ao nível da linguagem Java no diz respeito a manter aplicações empresariais.

Comments»

no comments yet - be the first?