Translate

terça-feira, 17 de março de 2026

O Que Todo Programador COBOL Padawan Precisa Saber Sobre Como o Java Evoluiu de uma Linguagem Acadêmica para um dos Pilares da Computação Moderna

 

Bellacosa Mainframe e a evolucao do java

☕ Um Café no Bellacosa Mainframe

A Evolução Contínua do Java

O Que Todo Programador COBOL Padawan Precisa Saber Sobre Como o Java Evoluiu de uma Linguagem Acadêmica para um dos Pilares da Computação Moderna

"Você não está apenas aprendendo Java. Está estudando uma linguagem que, assim como o COBOL, sobreviveu às mudanças tecnológicas, reinventou-se diversas vezes e continua sendo uma das plataformas mais importantes do planeta."


Introdução

Existe uma frase muito comum no mundo da tecnologia:

"Java morreu."

Curiosamente, ela é repetida praticamente todos os anos... há mais de vinte anos.

Enquanto isso...

  • Bancos continuam utilizando Java.

  • Empresas aéreas utilizam Java.

  • Amazon utiliza Java.

  • Netflix utiliza Java.

  • Google utiliza Java.

  • IBM utiliza Java.

  • Android nasceu utilizando Java.

  • Bilhões de dispositivos executam código Java diariamente.

Parece familiar?

Quem trabalha com COBOL já ouviu exatamente a mesma história.

Há décadas anunciam a morte do COBOL.

E, décadas depois, ele continua processando trilhões de dólares diariamente.

Java e COBOL compartilham algo muito raro:

São linguagens que aprenderam a evoluir sem abandonar seu passado.

Essa talvez seja sua maior qualidade.


O nascimento do Java

Em 1991, a Sun Microsystems iniciou um projeto chamado Green Project.

O objetivo inicial não era criar uma linguagem para internet.

Era desenvolver software para eletrodomésticos inteligentes.

O líder do projeto era James Gosling.

O primeiro nome da linguagem era...

Oak

(nome inspirado em um carvalho que existia em frente ao escritório.)

Como já existia outra linguagem chamada Oak, escolheram outro nome.

Durante uma reunião, enquanto tomavam café...

Surgiu o nome:

Java

Inspirado no famoso café produzido na ilha de Java, na Indonésia.

Coincidência?

Talvez seja por isso que um Café no Bellacosa Mainframe combina tanto com Java.


O maior acerto da história

Em 1995 surgiu um slogan que mudou a computação.

Write Once, Run Anywhere

Escreva uma vez.

Execute em qualquer lugar.

Na época isso parecia impossível.

Cada sistema operacional utilizava APIs diferentes.

Java resolveu esse problema através da JVM.


Bellacosa Mainframe timeline do java

A JVM

Ao contrário do COBOL, que normalmente gera código nativo para z/OS ou outro sistema operacional, Java gera um arquivo intermediário:

Bytecode

Esse bytecode é executado pela:

Java Virtual Machine

Resultado:

Windows

Linux

Mac

IBM Z

AIX

Cloud

Containers

Tudo executa exatamente o mesmo programa.

Foi uma revolução.


Java 8 — O novo começo (Março/2014)

Muitos especialistas dizem que existem dois Java:

Antes do Java 8.

Depois do Java 8.

E existe um bom motivo para isso.

Lambdas

Antes:

Collections.sort(lista,new Comparator<Pessoa>(){...});

Depois

lista.sort((a,b)->a.nome.compareTo(b.nome));

Muito menos código.

Muito mais legibilidade.


Stream API

Antes

for
if
for
if

Depois

clientes.stream()
.filter(...)
.map(...)
.collect(...)

A programação tornou-se declarativa.


Optional

Acabou boa parte dos famosos:

NullPointerException

Date and Time API

Finalmente uma API moderna para datas.


Curiosidade

O Java 8 ainda é uma das versões mais utilizadas no mundo corporativo.

Muitas empresas migraram diretamente do Java 8 para o Java 17 ou Java 21.


Java 9 — Modularização (Setembro/2017)

Projeto:

Jigsaw

Imagine o Java como um enorme sistema COBOL.

Antes era um único monólito.

Agora tornou-se modular.

Benefícios:

  • aplicações menores

  • inicialização mais rápida

  • segurança

  • encapsulamento


JShell

Pela primeira vez o Java ganhou um REPL.

Como o TSO READY.

Você digita.

Executa.

Vê o resultado.

Sem compilar projetos inteiros.


Java 10 (Março/2018)

Poucas novidades.

Mas uma delas mudou completamente o estilo de programação.

var

Antes

HashMap<String,List<Cliente>> mapa=

Depois

var mapa=

Muito mais simples.


Dica Bellacosa

var não significa linguagem fracamente tipada.

O tipo continua existindo.

O compilador apenas o deduz.


Java 11 LTS (Setembro/2018)

Primeira versão LTS após o Java 8.

Grande parte das empresas migrou diretamente para ela.


HTTP Client

Finalmente uma API moderna.

Sem bibliotecas externas.


TLS melhorado

Mais segurança.


Garbage Collection

Novos algoritmos.


Remoção do JavaFX

Agora distribuído separadamente.


Easter Egg

A Oracle removeu diversas APIs antigas.

Muitos sistemas antigos "pararam de compilar".

Foi um grande choque para empresas.


Java 17 LTS (Setembro/2021)

Talvez a maior evolução desde o Java 8.


Records

Antes

Classe

Construtor

Getter

Setter

Equals

HashCode

ToString

Depois

record Cliente(...)

Fim.


Sealed Classes

Controle rigoroso de herança.

Muito útil para arquiteturas grandes.


Pattern Matching

Menos código.

Mais clareza.


Curiosidade

Os compiladores modernos conseguem otimizar Pattern Matching melhor do que cadeias enormes de if.


Java 21 LTS (Setembro/2023)

Aqui aconteceu algo gigantesco.


Project Loom

Virtual Threads.

Imagine um CICS.

Agora imagine milhões de transações simultâneas.

Era necessário criar milhões de Threads.

Muito caro.

Agora...

Virtual Threads.

Criadas praticamente como objetos.

Muito mais leves.


Analogia Mainframe

No z/OS existe décadas de engenharia para lidar com milhares de usuários simultaneamente.

Java começou a aproximar-se dessa eficiência.


Sequenced Collections

Coleções finalmente ganharam ordenação consistente.


Record Patterns

Mais elegância.


Foreign Function & Memory API

Interoperabilidade sem JNI tradicional.


Java 23

Versão intermediária.

Não LTS.

Seu objetivo principal foi amadurecer recursos que chegariam às versões futuras.

Isso faz parte da estratégia moderna do OpenJDK: lançar inovações em ciclos rápidos para que sejam testadas e refinadas antes de integrarem uma versão LTS.

Entre os destaques estão a continuidade do aperfeiçoamento das Virtual Threads, do Pattern Matching e das APIs em incubação relacionadas à JVM, desempenho e experiência do desenvolvedor.


Java 25 LTS (Setembro/2025)

Mais uma versão de suporte de longo prazo.

O foco esteve em:

  • maior estabilidade

  • otimizações da JVM

  • melhor gerenciamento de memória

  • reforços de segurança

  • consolidação de recursos introduzidos nas versões anteriores

Para empresas, o Java 25 representa uma excelente opção para novos projetos corporativos que buscam longevidade.


Java 26 (Março/2026)

O Java 26 dá continuidade ao ciclo semestral do OpenJDK.

Embora não seja uma versão LTS, ela demonstra o compromisso da plataforma com evolução constante.

Os temas centrais incluem:

  • evolução da JVM

  • melhorias de performance

  • otimizações do compilador JIT

  • avanços em segurança

  • preparação para futuras funcionalidades voltadas à inteligência artificial, computação em nuvem e aplicações distribuídas

Mais do que adicionar recursos isolados, o Java 26 mostra que a plataforma continua refinando sua arquitetura para os desafios da próxima década.


O que um COBOL Padawan pode aprender com Java?

Muito mais do que sintaxe.

Java ensina conceitos modernos que complementam a experiência adquirida no mainframe.

Entre eles:

  • Programação Orientada a Objetos

  • APIs REST

  • Microsserviços

  • Containers

  • Kubernetes

  • Mensageria (Kafka, MQ)

  • Programação Funcional

  • Programação Reativa

  • Virtual Threads

  • Cloud Native

Todos esses conceitos dialogam cada vez mais com ambientes IBM Z modernos.


Curiosidades

☕ O mascote Duke

O mascote oficial do Java chama-se Duke.

Foi criado ainda na Sun Microsystems e continua sendo um dos símbolos mais conhecidos da linguagem.


☕ Java e COBOL convivem

É comum encontrar sistemas onde:

COBOL
↓

CICS

↓

MQ

↓

Java

↓

REST

↓

Angular

↓

Aplicativo

As duas linguagens não competem.

Elas colaboram.


☕ IBM Z executa Java

Muita gente acredita que Java é exclusivo da nuvem.

Na realidade, a IBM investe há décadas em uma JVM altamente otimizada para o IBM Z.

O resultado é a execução de aplicações Java com excelente desempenho, aproveitando recursos avançados do hardware, como criptografia, processamento paralelo e alta disponibilidade.


☕ Java também fala com COBOL

Existem várias formas de integração:

  • CICS Transaction Gateway

  • IBM MQ

  • z/OS Connect

  • JDBC

  • Web Services

  • APIs REST

  • JNI (em cenários específicos)

Essa interoperabilidade permite modernizar aplicações sem reescrever décadas de regras de negócio.


☕ Por que existem versões LTS?

Nem toda empresa pode atualizar seus sistemas a cada seis meses.

As versões Long-Term Support (LTS) recebem suporte prolongado, correções de segurança e estabilidade, tornando-se a escolha ideal para ambientes corporativos.


☕ A cadência de lançamentos

Desde 2018, o Java segue um calendário previsível:

  • Março → versão intermediária

  • Setembro → versão intermediária ou LTS (quando aplicável)

Essa previsibilidade facilita o planejamento de atualizações em grandes organizações.


Easter Eggs

☕ Duke escondido

Diversos exemplos oficiais da Oracle possuem pequenas aparições do Duke.

É quase um "Wally" para desenvolvedores Java.


☕ Café

O logotipo do Java representa uma xícara de café.

Até hoje.

Poucas linguagens possuem uma identidade visual tão reconhecida.


☕ Java e a Ilha de Java

O nome não veio da linguagem.

Veio do café.

E o café veio da ilha indonésia.


☕ O slogan que virou realidade

"Write Once, Run Anywhere" foi alvo de muitas piadas nos anos 1990 ("Write Once, Debug Everywhere"), mas a maturidade da JVM transformou essa promessa em uma das maiores vantagens da plataforma.


Dicas do Bellacosa Mainframe

  • Aprenda conceitos, não apenas sintaxe. Um bom engenheiro entende arquitetura antes de decorar comandos.

  • Mantenha-se em versões LTS para projetos corporativos, salvo quando houver necessidade de testar novidades.

  • Explore a JVM. Entender Garbage Collection, JIT e gerenciamento de memória faz tanta diferença quanto conhecer JCL e parâmetros de execução no mainframe.

  • Experimente o JShell. É uma excelente ferramenta para aprender rapidamente novos recursos da linguagem.

  • Estude integração com IBM Z. Java e COBOL convivem muito bem quando unidos por APIs, mensageria e serviços.


Conclusão

Java não é apenas uma linguagem de programação.

É uma plataforma que evoluiu continuamente por mais de três décadas, mantendo um raro equilíbrio entre inovação e compatibilidade. Assim como o COBOL, ela demonstra que tecnologias sólidas não sobrevivem por acaso: sobrevivem porque conseguem se adaptar às mudanças sem perder a confiança de quem depende delas.

Para um Programador COBOL Padawan, conhecer a evolução do Java significa ampliar sua visão sobre arquitetura de software, computação distribuída e modernização de sistemas. O futuro das aplicações corporativas não será construído escolhendo entre COBOL ou Java, mas integrando o melhor dos dois mundos.

No Bellacosa Mainframe, costumamos dizer que um bom profissional não segue modismos: ele compreende a história da tecnologia para tomar melhores decisões no presente. A trajetória do Java, da versão 8 à 26, é um excelente exemplo de como inovação contínua e estabilidade podem caminhar lado a lado — uma lição que vale tanto para a JVM quanto para o universo do IBM Z. Afinal, as linguagens passam por transformações, mas os princípios da boa engenharia permanecem. E é justamente essa mentalidade que transforma um Padawan em um verdadeiro Mestre da Computação.

Sem comentários:

Enviar um comentário