O Excelente post abaixo foi escrito pelo Fábio Mazanatti do Techno Babble

A notícia dessa semana na “comunidade” Java foi a saída do Apache do comitê executivo da JCP, a entidade que define diretrizes e especificações Java, que aparentemente é mais um indício do “fim do Java”. Mas, olhando o passado e mesmo o estado atual de outras linguagens/plataformas, isso tudo parece um tanto exagerado.

Explico: desde muito tempo, sempre tem uma linguagem sendo “morta” – COBOL de mainframe, Visual Basic, etc. Independente do motivo (surgimento de uma plataforma melhor ou mais barata, crescimento de uso de uma determinada linguagem), a plataforma dominante na época com certeza morreria em pouco tempo. E isso aconteceu mesmo?

Vejamos a sequência de tecnologias que acompanhei nesses últimos 20 e tantos anos trabalhando na área, considerando sistemas de maior porte em empresas idem: Assembler/COBOL Mainframe –> Clipper –> Visual Basic –> Java/.Net. Em maior ou menor grau, estão todas aí – até hoje tem terminal de estacionamento e restaurante que roda aplicação em Clipper, e tenho amigos que trabalham em sistemas Assembler em instituições financeiras. Ou seja, o uso pode diminuir, mas acabar, não acaba. Até pelo custo de migração envolvido, que em vários casos seria exorbitante.

Considerando uma hipótese menos radical: a plataforma continua em uso, mas a adoção (por novas empresas ou novos projetos) diminui. Essa possibilidade é mais razoável, considerando só a primeira metade (novas empresas), mas ainda assim, nem tanto – elas tomarão essas decisões considerando a falta de uma comunidade mais ampla guiando a linguagem ou analisando a disponibilidade de mão-de-obra no mercado, por exemplo? Diria que critérios de adoção são mais práticos, supondo que existam.

Ser uma especificação comunitária é interessante, mas não quer dizer que seja essencial, nem que gere (ou alcance) melhores resultados. Um exemplo: Linux (que uso 100% do tempo, aliás). É uma abordagem aberta, comunidades trabalham nele, mas até hoje não bateu Windows, que é uma especificação fechada, mantida por apenas uma empresa. Como isso, se projetos abertos são inerentemente melhores?

Voltando na progressão que coloquei (Mainframe, Clipper, etc.), quais ali eram abertos? Nenhum. Certo, COBOL é uma especificação pública (ISO), mas foi implementada e vendida pela IBM junto com 1) equipamento, 2) sistema operacional (/370, /390, etc.), e 3) compilador mais ferramentas auxiliares (JCL, bibliotecas). Ou seja, você não está preso à linguagem, mas todo o resto tornava inviável mudar.
Clipper? Especificação fechada. Visual Basic? Também. .Net? Idem.

O ponto é: as empresas não parecem dar tanta atenção a esse ponto, que pra comunidade parece tão importante. TCO (custo total de propriedade), suporte e disponibilidade de mão-de-obra são itens bem mais considerados…

Portanto, Java estará por perto por um bom tempo ainda. Pra ajudar, as maiores fornecedoras de software do planeta – IBM, Oracle e SAP, em nenhuma ordem específica – usam Java como base para boa parte de seus portfólios, que não serão convertidos tão cedo.

O que parece existir é um ciclo de renovação, e Java (e .Net) estão no topo já tem algum tempo. Será que estamos vivendo outro momento desses? Se estamos, qual será a nova plataforma/linguagem que terá preferência? Isso é assunto para outro post 😉