☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta PL/I. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta PL/I. Mostrar todas as mensagens

segunda-feira, 7 de setembro de 2026

Guilherme de Baskerville Entra no CPD — O Nome dos Pedreiros na Catedral de 80 Colunas

 

Um Café no Bellacosa Mainframe

Guilherme de Baskerville Entra no CPD — O Nome dos Pedreiros na Catedral de 80 Colunas

Ou: como cartões perfurados, datasets de 80 bytes, COBOL, PL/I, Assembler, Natural, XML, JSON, APIs e décadas de retrocompatibilidade transformaram programas legados em catedrais construídas por gerações de artesãos quase anônimos





Prólogo — O nome estava na pedra

Guilherme de Baskerville não começou examinando o código.

Isso surpreendeu o jovem programador.

Havia milhares de linhas COBOL diante deles, algumas tão antigas que ninguém presente no CPD sabia explicar completamente sua origem. O programa havia sobrevivido a reorganizações, mudanças de hardware, novos compiladores, novas moedas, novas legislações e incontáveis projetos de modernização.

— Mestre, não deveríamos procurar primeiro a PROCEDURE DIVISION?

Guilherme aproximou-se do terminal.

No alto do fonte havia algo aparentemente banal:

*****************************************************************
* J. PEREIRA
* 17/08/1983
* ALTERADA ROTINA DE FATURAMENTO
*****************************************************************
* M. SANTOS
* 04/02/1987
* INCLUIDO NOVO TIPO DE MOVIMENTO
*****************************************************************
* R. ALMEIDA
* 22/09/1994
* ADEQUACAO NOVA REGRA MONETARIA
*****************************************************************

Continuava.

Uma tela.

Duas.

Dez.

Dezenas de nomes.

Guilherme permaneceu em silêncio.

— O que procura? — perguntou o aprendiz.

— Não procuro — respondeu ele. — Estou prestando homenagem.



1. O programa legado possui uma memória

Quando encontramos um programa COBOL, PL/I, Natural ou Assembler com décadas de existência, frequentemente encontramos também algo que os manuais tratam simplesmente como change history.

Nome ou USER-ID.

Data.

Descrição da alteração.

Três ou quatro linhas cercadas por asteriscos.

*****************************************************************
* JCARLOS
* 14/06/1988
* CORRECAO CALCULO DE JUROS
*****************************************************************

Tecnicamente, aquilo é documentação.

Mas depois de quarenta anos transforma-se em algo diferente.

É memória institucional.

Talvez ninguém saiba mais quem foi JCARLOS.

Seu USER-ID provavelmente desapareceu há décadas.

O sistema de chamados usado naquela alteração talvez nem exista.

A documentação funcional pode ter sido perdida.

O departamento pode ter mudado de nome cinco vezes.

JCARLOS pode estar aposentado.

Pode morar do outro lado do mundo.

Pode ter falecido.

Mas alguma coisa permaneceu:

* JCARLOS
* 14/06/1988
* CORRECAO CALCULO DE JUROS

O programa lembra.



2. As assinaturas dos pedreiros

Nas antigas construções europeias podemos encontrar marcas deixadas por pedreiros e artesãos.

Isso oferece uma metáfora extraordinária para software legado.

Imagine uma catedral.

Um homem trabalha numa pedra.

Ele não projetou o edifício inteiro.

Não escolheu necessariamente onde ficaria a torre.

Não decidiu a doutrina representada nos vitrais.

Seu nome provavelmente nunca aparecerá num livro de história.

Mas aquela pedra passou pelas mãos dele.

Então deixa uma marca.

Séculos depois alguém a encontra.

No mainframe fazemos algo assustadoramente parecido:

*****************************************************************
* MFERREIRA
* 11/03/1991
* INCLUIDA VALIDACAO DO MOVIMENTO 07
*****************************************************************

Não significa:

Eu construí este sistema.

Significa:

Esta pedra passou pelas minhas mãos.

E isso muda completamente nossa maneira de olhar um fonte antigo.



3. Nenhum programador construiu a catedral

Um dos grandes erros quando falamos de software é imaginar um programa como criação de uma única pessoa.

Em sistemas corporativos longevos isso frequentemente não existe.

O programa pode ter nascido assim:

1981  JOAO
      criação

Depois:

1984  MARIA
      nova modalidade

Depois:

1987  CARLOS
      novo processamento

Depois:

1994  ANA
      mudança monetária

Depois:

1999  ROBERTO
      adequação Y2K

E continua:

2004
2008
2012
2017
2020
2026

Quando chegamos ao programa em 2026, não estamos diante do trabalho de João.

Estamos diante de:

João + Maria + Carlos + Ana + Roberto + dezenas ou centenas de pessoas.

A criatura nasceu, cresceu e foi modificada.

Algumas partes desapareceram.

Outras sobreviveram.

Outras foram reconstruídas.

O programa tornou-se uma obra coletiva.

Exatamente como uma catedral que atravessou gerações.



4. Guilherme faz a primeira pergunta

O jovem programador apontou para uma rotina.

— Isto está horrível. Podemos remover?

Guilherme respondeu:

— Por que ela existe?

— Não sei.

— Então ainda não sabemos se podemos removê-la.

Essa talvez seja uma das regras mais importantes para quem começa a trabalhar com legado.

Código estranho não significa automaticamente código inútil.

Às vezes é lixo.

Às vezes é dívida técnica.

Às vezes é uma gambiarra histórica.

Mas às vezes é a última manifestação de uma regra de negócio que ninguém mais documentou.

Você encontra:

IF WS-TIPO = 7
   PERFORM 8000-TRATA-ESPECIAL
END-IF

E pensa:

Que porcaria é essa?

Procura no cabeçalho:

*****************************************************************
* MROCHA
* 18/09/1989
* CORRECAO PROCESSAMENTO MOVIMENTO TIPO 7
*****************************************************************

Agora existe uma pista.

Não temos a resposta.

Temos uma evidência.

Guilherme de Baskerville certamente aprovaria a diferença.


5. O programa também possui camadas arqueológicas

Programas legados podem carregar algo ainda mais interessante.

Eles registram a própria evolução da informática.

Imagine um sistema criado no começo dos anos 1980.

Sua primeira versão pode ter sido essencialmente:

arquivo
   |
COBOL
   |
arquivo

Depois apareceu VSAM.

Depois Db2.

Depois CICS.

Depois MQ.

Então alguém precisou conectá-lo ao mundo distribuído.

Chegaram HTML e aplicações Web.

Depois XML.

SOAP.

Java.

JSON.

REST.

APIs.

Cloud.

Containers.

Eventos.

De repente temos:

                    MOBILE
                       |
                    HTTPS
                       |
                 API GATEWAY
                       |
                     JSON
                       |
                     REST
                       |
                z/OS CONNECT
                       |
                     CICS
                       |
                     COBOL
                  /    |    \
                Db2   VSAM   MQ
                              |
                         SISTEMA CLOUD

E em algum lugar no centro dessa arquitetura ainda existe:

       PERFORM 300-CALCULAR-JUROS

escrito originalmente quando ninguém possuía um smartphone.

Frankenstein?

Talvez.

Mas existe uma interpretação mais interessante.

Estratigrafia computacional.


6. Frankenstein entra na catedral

Chamamos esses sistemas de Frankenstein porque encontramos tecnologias de épocas completamente diferentes costuradas umas às outras.

Assembler.

COBOL.

PL/I.

Natural.

JCL.

VSAM.

IMS.

Db2.

CICS.

MQ.

HTML.

XML.

SOAP.

Java.

JSON.

REST.

Cloud.

Mas uma catedral construída durante séculos também pode apresentar estilos diferentes.

Uma parte pertence a determinada época.

Outra foi reconstruída.

Uma capela apareceu posteriormente.

Um órgão foi substituído.

Um vitral é muito mais recente.

Uma restauração contemporânea introduziu outra marca.

O historiador não olha imediatamente para aquilo e diz:

Que arquitetura inconsistente!

Ele pergunta:

O que aconteceu aqui?

Essa é a diferença entre simplesmente programar e fazer arqueologia de software.


7. O astronauta na catedral

Existe um caso delicioso na Catedral Nova de Salamanca.

Durante uma restauração realizada em 1992, foi acrescentada à ornamentação uma figura de astronauta.

A catedral começou a ser construída séculos antes da exploração espacial.

Mas ali está ele.

Um astronauta na pedra.

Não é medieval.

Não tenta fingir que é.

Ele registra a época da intervenção.

E nossos programas fazem exatamente isso.

Imagine:

*****************************************************************
* JPEREIRA
* 1983
* CRIACAO
*****************************************************************

*****************************************************************
* MROCHA
* 1995
* INTEGRACAO DB2
*****************************************************************

*****************************************************************
* CSOUZA
* 2003
* INTERFACE XML
*****************************************************************

*****************************************************************
* AFERREIRA
* 2018
* RETORNO JSON
*****************************************************************

*****************************************************************
* VBELLACOSA
* 2026
* INTEGRACAO API REST
*****************************************************************

REST é o astronauta esculpido na catedral COBOL.

Ele não precisa destruir aquilo que veio antes.

Ele demonstra que a construção chegou viva até outra época.


8. O mistério das 80 colunas

Então Guilherme encontrou outra pista.

RECFM=FB
LRECL=80

O jovem programador riu.

— Outra velharia.

Guilherme olhou para ele.

— Oitenta por quê?

Silêncio.

É exatamente aqui que muita gente conhece apenas um terço da história.

O cartão perfurado IBM que se tornou um símbolo da computação possuía 80 colunas. A própria IBM registra que o cartão de 80 colunas foi introduzido em 1928 e tornou-se extremamente disseminado no processamento de informações.

Depois olhamos para o formato tradicional do fonte COBOL:

1 - 6    Sequence Number Area
7        Indicator Area
8 - 11   Area A
12 - 72  Area B
73 - 80  Comment/Identification Area

A documentação atual da IBM ainda descreve explicitamente uma linha fonte COBOL de 80 caracteres, dividida nessas áreas.

Isso significa que aquele número aparentemente arbitrário possui ancestralidade.


9. O cartão desapareceu; sua sombra permaneceu

Essa é uma das coisas mais fascinantes da computação.

Uma limitação física pode transformar-se em convenção.

A convenção transforma-se em padrão.

O padrão influencia software.

O software cria dependências.

As dependências exigem compatibilidade.

Décadas depois a causa física desapareceu, mas seus descendentes permanecem.

Podemos representar assim:

CARTAO PERFURADO
       |
       v
  80 COLUNAS
       |
       v
FORMATO DE FONTE
       |
       v
 FERRAMENTAS
       |
       v
 DATASETS
       |
       v
 COMPATIBILIDADE
       |
       v
     2026

Inclusive documentação atual de ferramentas IBM continua reconhecendo áreas de numeração nas colunas 1–6 e 73–80 para fontes COBOL.

O cartão morreu.

A geometria sobreviveu.


10. O dataset de 80 bytes é uma rua romana

Imagine caminhar por uma cidade europeia.

Existe uma rua estranhamente curva.

Para um urbanista moderno, aquela curva parece irracional.

Até alguém explicar:

A estrada romana passava aqui.

A cidade desapareceu.

Impérios desapareceram.

Veículos mudaram.

Mas a rua continuou obedecendo a uma decisão tomada dois mil anos antes.

No mainframe:

LRECL=80

pode desempenhar papel semelhante.

Não significa que todo dataset de 80 bytes exista porque era cartão perfurado — seria uma simplificação histórica perigosa.

Significa que 80 tornou-se um número estruturalmente importante em um ecossistema profundamente influenciado pelo cartão e pelos formatos derivados dele.

Essa nuance importa.

O arqueólogo não inventa explicações.

Ele procura evidências.


11. A retrocompatibilidade é a argamassa

Agora chegamos à característica que permitiu que nossa catedral continuasse crescendo:

retrocompatibilidade.

A IBM fez algo extraordinariamente difícil ao longo da evolução do mainframe: preservar caminhos de continuidade enquanto hardware e software avançavam.

A própria IBM descreve os sistemas IBM Z atuais como descendentes diretos da linhagem System/360 e System/370 e afirma que muitas aplicações antigas puderam continuar funcionando em sistemas posteriores.

Isso não significa:

Qualquer programa de 1964 roda magicamente e sem qualquer consideração num z17 de 2026.

Seria falso.

Existem releases suportados, requisitos, PTFs, produtos, dependências, mudanças arquiteturais e processos de migração.

Por exemplo, a matriz atual do z17 estabelece explicitamente quais versões de z/OS são suportadas e quais exigem manutenção apropriada.

Retrocompatibilidade não é magia.

É engenharia.


12. A decisão caríssima de não demolir a cidade

Imagine se toda evolução tecnológica significasse:

NOVO HARDWARE
      |
      v
JOGUE FORA O SOFTWARE
      |
      v
REESCREVA TUDO

Para uma pequena aplicação talvez seja possível.

Agora imagine um banco.

Uma seguradora.

Uma companhia aérea.

Um governo.

Uma indústria.

Décadas de:

  • regras de negócio;

  • cálculos;

  • exceções;

  • layouts;

  • integrações;

  • arquivos;

  • programas;

  • transações;

  • conhecimento operacional.

A retrocompatibilidade protege algo muito maior que o executável.

Ela ajuda a preservar investimento e conhecimento acumulado.

A IBM inclusive descreve historicamente ciclos longos de hardware e caminhos de upgrade entre famílias como mecanismos de proteção do investimento e extensão da vida dos ativos.

Isso explica parte da longevidade dessas catedrais.


13. Manutenção também é construção

Existe uma injustiça profissional curiosa.

Quem cria algo novo é chamado de construtor.

Quem mantém algo antigo frequentemente é tratado como alguém que apenas “faz manutenção”.

Uma catedral demonstra o absurdo dessa distinção.

Sem manutenção:

o telhado infiltra.

A madeira apodrece.

A pedra racha.

O vitral quebra.

A torre fica instável.

Depois de séculos, não existe mais catedral.

Portanto, o restaurador também participa da construção da longevidade.

No software acontece o mesmo.

Quem resolveu o problema em 1991 ajudou o programa a chegar a 1992.

Quem resolveu Y2K ajudou-o a chegar a 2000.

Quem migrou o compilador ajudou-o a continuar.

Quem abriu uma API em 2026 talvez permita que a regra de negócio sobreviva por outra década.

Manter também é construir.


14. Modernização não precisa significar demolição

Aqui mora outra lição importante para o programador COBOL iniciante.

Modernizar não significa necessariamente:

DELETE COBOL.

Pode significar:

                APLICACAO MODERNA
                       |
                     REST
                       |
                     JSON
                       |
                  INTEGRACAO
                       |
                     CICS
                       |
                     COBOL
                       |
                      Db2

Uma parte continua.

Outra é substituída.

Uma interface nasce.

Uma rotina é refatorada.

Uma dependência desaparece.

Outra surge.

A catedral continua em funcionamento durante a reforma.

Isso é muito diferente de demolir o edifício e prometer que construiremos outro antes do próximo fechamento contábil.


15. Mas não transforme história em religião

Guilherme levantaria o dedo aqui.

Respeitar o legado não significa venerar todo código antigo.

Existe código ruim.

Existe redundância.

Existe rotina morta.

Existe tecnologia cujo custo de manutenção deixou de fazer sentido.

Existe vulnerabilidade.

Existe dívida técnica.

Existe arquitetura que precisa desaparecer.

A arqueologia serve justamente para evitar dois extremos:

Tudo antigo é lixo.

e:

Tudo antigo deve ser preservado.

O restaurador competente pergunta:

O que isto sustenta?

Por que existe?

Quem depende disso?

Qual risco existe em removê-lo?

Existe alternativa melhor?

Como provar que o comportamento continuará correto?

Só então pega o martelo.


16. O comentário pode ser a última testemunha

Agora imagine isto:

       IF WS-CODIGO = 47
          MOVE 'S' TO WS-TRATAMENTO
       END-IF

Ninguém sabe explicar.

Git?

O programa é décadas anterior à adoção de Git pela organização.

Ticket?

Desapareceu.

Documento?

Não encontrado.

Analista funcional?

Aposentou-se em 2007.

Então você sobe até o cabeçalho:

*****************************************************************
* ACOSTA
* 23/05/1993
* TRATAMENTO ESPECIAL CLIENTES CONVENIO 47
*****************************************************************

Não solucionamos o mistério.

Mas encontramos uma testemunha.

E talvez seja a última.

Por isso apagar comentários históricos indiscriminadamente durante uma “limpeza” pode equivaler a restaurar uma catedral lixando as inscrições das pedras.


17. O Frankenstein contém conhecimento

Voltemos ao nosso monstro:

Assembler
   |
COBOL
   |
CICS
   |
Db2
   |
MQ
   |
XML
   |
SOAP
   |
Java
   |
JSON
   |
REST
   |
Cloud

Parece absurdo.

Mas cada camada pode representar uma pergunta que a organização precisou responder:

Como processaremos isto?

Como armazenaremos isto?

Como permitiremos transações online?

Como integraremos sistemas?

Como falaremos com aplicações Web?

Como exporemos serviços?

Como integraremos cloud e mainframe?

O Frankenstein deixa então de ser apenas um acidente.

Transforma-se num mapa das necessidades empresariais através do tempo.


18. Easter egg — o sino toca RC=0000

Guilherme terminou sua investigação.

O JOB foi submetido.

O jovem programador observava SDSF.

Esperaram.

Então surgiu:

COND CODE 0000

— Mestre, terminou.

Guilherme sorriu.

— Não. Apenas tocou o sino.

— Sino?

— Toda catedral possui um.

E desde então o aprendiz nunca mais viu um RC=0000 da mesma maneira.


19. O dia em que a catedral fechar

Existe ainda uma cena que raramente imaginamos.

Algum dia um desses programas executará pela última vez.

Talvez depois de quarenta anos.

Talvez cinquenta.

O scheduler deixará de chamá-lo.

O dataset será arquivado.

O load module desaparecerá da biblioteca de produção.

Outro sistema assumirá sua função.

E finalmente teremos:

LAST EXECUTION
RC=0000

Nesse momento seria justo abrir o fonte uma última vez.

Subir até o início.

E ler.

*****************************************************************
* JOAO
* 1981
*****************************************************************

*****************************************************************
* MARIA
* 1985
*****************************************************************

*****************************************************************
* CARLOS
* 1992
*****************************************************************

...

*****************************************************************
* ULTIMO PROGRAMADOR
* 20XX
*****************************************************************

Talvez existam cem nomes.

Talvez duzentos.

Nenhum deles construiu sozinho aquela catedral.

Mas sem eles ela não teria chegado ao último processamento.


20. O programador iniciante precisa aprender a ler pedras

Quando você começar a trabalhar num programa legado, resista à tentação de ir imediatamente para:

PROCEDURE DIVISION.

Leia o cabeçalho.

Leia os comentários.

Observe datas.

Procure padrões.

Veja quando determinadas rotinas apareceram.

Pergunte por que existe determinado layout.

Investigue aquele LRECL=80.

Observe os copybooks.

Descubra quem produz os arquivos.

Descubra quem os consome.

Veja JCL.

Procure dependências CICS, Db2, MQ, VSAM.

Leia antes de julgar.

O primeiro dever do arqueólogo não é cavar.

É compreender o terreno.


Epílogo — O próximo nome

Antes de sair do CPD, Guilherme voltou ao início do programa.

Havia espaço para uma nova inscrição.

O jovem havia terminado sua primeira manutenção importante.

Digitou:

*****************************************************************
* NOVO PROGRAMADOR
* 07/09/2026
* ADEQUACAO DA INTERFACE PARA NOVO SERVICO
*****************************************************************

Ficou olhando.

Acima dele havia nomes de pessoas que trabalharam naquele programa antes mesmo de ele nascer.

— Estranho — disse. — Parece que meu nome não deveria estar junto dos deles.

Guilherme respondeu:

— Agora compreendeu.

— O quê?

— A catedral nunca foi deles.

O jovem esperou.

— Tampouco é sua.

E então veio a lição final:

Você apenas recebeu a chave por algum tempo.

Talvez seja essa a melhor definição de trabalhar com sistemas legados.

Não somos proprietários absolutos deles.

Somos seus guardiões temporários.

Recebemos programas construídos por pessoas que não conhecemos.

Encontramos suas assinaturas entre asteriscos.

Descobrimos decisões tomadas quando computadores, empresas e o próprio mundo eram diferentes.

Preservamos o que ainda possui valor.

Corrigimos aquilo que envelheceu.

Retiramos aquilo que se tornou perigoso.

E acrescentamos as tecnologias da nossa época.

O pedreiro deixou sua marca.

O escultor deixou sua criatura fantástica.

O restaurador deixou um astronauta.

O programador de 1983 deixou COBOL.

O de 2003 deixou XML.

O de 2026 deixou JSON e uma API.

Algum outro, no futuro, acrescentará algo cujo nome ainda nem conhecemos.

E talvez, antes de modificar o programa, ele suba algumas páginas e encontre:

*****************************************************************
* V. BELLACOSA
* 2026
* ...
*****************************************************************

Não saberá exatamente quem foi aquele homem.

Talvez procure.

Talvez não.

Mas durante alguns segundos saberá uma coisa:

outro artesão trabalhou naquela pedra antes dele.

E é isso que torna o legado tão diferente de simplesmente possuir código antigo.

O legado não é aquilo que ficou velho.

Legado é aquilo que alguém construiu bem o bastante para chegar até nós — e que nós cuidamos bem o bastante para entregar ao próximo.

Os cartões desapareceram.

As perfuradoras silenciaram.

Os terminais mudaram.

As máquinas foram substituídas.

As linguagens ganharam companheiras.

Vieram bancos relacionais, mensagens, Web, XML, JSON, APIs, cloud e IA.

Mas em algum dataset ainda encontramos:

RECFM=FB
LRECL=80

E em algum fonte ainda encontramos:

*****************************************************************
* NOME
* DATA
* O QUE FOI FEITO
*****************************************************************

São duas inscrições da mesma civilização.

Uma conta como construíamos.

A outra conta quem construiu.

E enquanto aquela catedral continuar processando transações, calculando valores, movimentando negócios e terminando suas madrugadas com:

RC=0000

o sino continuará tocando.

Para os usuários, será apenas mais um processamento concluído.

Para quem aprendeu a ler as pedras, porém, haverá ali algo muito maior:

cinquenta anos de engenheiros, analistas, operadores e programadores dizendo silenciosamente através do código:

Nós estivemos aqui.



sexta-feira, 9 de outubro de 2020

O Mercado das Linguagens : Quando um Programador Descobre que Wall Street Não Compra Linguagens — Compra Risco, Poder, Escala e Sistemas que Não Podem Parar

 

Bellacosa Mainframe e o mercado das linguagens de programação

☕ Um Café no Bellacosa Mainframe

O Mercado das Linguagens sem Mistérios para Programadores COBOL

Quando um Programador Descobre que Wall Street Não Compra Linguagens — Compra Risco, Poder, Escala e Sistemas que Não Podem Parar

“A linguagem mais valiosa não é necessariamente a mais popular. É aquela que está executando quando alguém aperta o botão ‘transferir’.”

Imagine a manhã começando em Manhattan.

Táxis amarelos brigam por centímetros de asfalto. Executivos atravessam a calçada segurando café, telefone e a certeza temporária de que compreenderam o mercado. Telas verdes e vermelhas piscam nos escritórios. Alguém acaba de ganhar uma fortuna. Outro ainda não descobriu que perdeu a empresa inteira.

No alto de um prédio, um jovem programador observa um gráfico circular sobre linguagens de programação.

De um lado, estão os ativos considerados promissores: Go, Elixir, Swift e TypeScript.

Do outro, aparecem tecnologias classificadas como custo, substituição, obsolescência ou passado industrial: COBOL, PL/I, RPG, Fortran, C e outras sobreviventes de guerras computacionais que já deveriam ter sido encerradas segundo dezenas de consultorias, centenas de palestrantes e aproximadamente quinze mil artigos escritos por pessoas que nunca viram um fechamento bancário.

O jovem aponta para o gráfico e pergunta:

— Então COBOL está morrendo?

O veterano do mainframe olha pela janela, ajeita o paletó e responde:

— Filho, neste mercado há duas maneiras de enriquecer. A primeira é descobrir o futuro. A segunda é cobrar caro para manter funcionando aquilo que todos afirmaram que não teria futuro.

Bem-vindo ao pregão das linguagens.

Aqui, popularidade não é receita.

Quantidade de repositórios não é volume financeiro.

Curtidas não são transações.

E um sistema escrito em uma linguagem considerada “antiga” pode movimentar mais dinheiro antes do almoço do que milhares de aplicativos modernos movimentarão durante toda a existência.


O gráfico original: elegante, sedutor e perigosamente incompleto

O diagrama analisado anteriormente tenta organizar as linguagens em um ciclo de mercado.

Ele apresenta quatro grandes regiões:

  • Advantage, ou vantagem;

  • Choice, ou escolha;

  • Cost, ou custo;

  • Replacement, ou substituição.

Também inclui marcos como:

  • início de mercado;

  • nascimento dos padrões;

  • auge da industrialização;

  • crepúsculo da obsolescência;

  • comoditização.

Como modelo intelectual, é interessante.

Como fotografia absoluta do mercado, é tão confiável quanto um corretor que telefona na sexta-feira à tarde dizendo que determinada ação “não tem como cair”.

O primeiro problema é que o gráfico tenta colocar em uma única circunferência coisas completamente diferentes:

  • idade da linguagem;

  • quantidade de novos projetos;

  • custo de manutenção;

  • popularidade;

  • disponibilidade de profissionais;

  • maturidade de ferramentas;

  • valor econômico;

  • perspectiva de substituição.

Essas dimensões não caminham juntas.

Uma linguagem pode ser antiga e barata.

Outra pode ser moderna e caríssima.

Uma pode ter milhões de programadores e produzir sistemas descartáveis.

Outra pode ter poucos especialistas e sustentar operações que não admitem interrupção.

Portanto, a primeira correção necessária é abandonar a ideia de que todas as linguagens percorrem o mesmo caminho.

Linguagens não são ações negociadas na mesma bolsa.

Rust não compete diretamente com COBOL em processamento de folha salarial.

JavaScript não substitui automaticamente Fortran em simulações científicas.

Python não é obrigatoriamente a melhor escolha para firmware.

COBOL não precisa vencer TypeScript na construção de interfaces web.

Comparar essas tecnologias sem considerar o domínio é como analisar uma companhia ferroviária e uma fabricante de perfumes apenas porque ambas possuem funcionários e pagam impostos.


A verdadeira bolsa de valores das linguagens

O mercado real deveria avaliar uma linguagem em pelo menos seis dimensões:

  1. adoção em novos projetos;

  2. base instalada;

  3. valor dos sistemas existentes;

  4. custo de substituição;

  5. disponibilidade de profissionais;

  6. capacidade de integração com tecnologias modernas.

Uma linguagem pode parecer fraca em uma dimensão e ser praticamente indestrutível nas outras.

É exatamente o caso do COBOL.


1. Adoção em novos projetos

Essa é a métrica preferida dos rankings.

Ela responde:

Quantos sistemas novos estão sendo iniciados nesta linguagem?

Aqui, linguagens como TypeScript, Python, JavaScript, Java, Go, C# e outras tendem a aparecer com força.

No GitHub, por exemplo, TypeScript tornou-se a linguagem mais usada em agosto de 2025, ultrapassando Python e JavaScript. O movimento foi impulsionado pelo crescimento de aplicações web, ferramentas de inteligência artificial e pela preferência crescente por linguagens tipadas em projetos de grande escala. (The GitHub Blog)

Na pesquisa Stack Overflow de 2025, JavaScript apareceu entre as tecnologias mais utilizadas, enquanto Python ganhou participação de forma significativa, associado principalmente a inteligência artificial, ciência de dados, automação e desenvolvimento de backend. (survey.stackoverflow.co)

Se analisarmos somente os novos projetos visíveis na internet, COBOL parecerá pequeno.

Mas esse é apenas o salão da bolsa aberto ao público.

Os cofres estão em outro andar.


Bellacosa Mainframe e a evolução das linguagens de programação

2. Base instalada

A base instalada representa tudo aquilo que já existe, funciona, recebe manutenção e não pode ser desligado por capricho arquitetural.

É aqui que o mapa muda.

Considere dois projetos hipotéticos.

Projeto A

Uma aplicação em TypeScript criada há seis meses:

  • 20 mil linhas de código;

  • 15 microsserviços;

  • 800 usuários;

  • faturamento ainda experimental;

  • possibilidade de substituição relativamente simples.

Projeto B

Um sistema COBOL criado ao longo de quatro décadas:

  • milhões de linhas;

  • centenas de programas;

  • milhares de arquivos e tabelas;

  • integrações com CICS, Db2, IMS e MQ;

  • processamento de milhões de clientes;

  • regras fiscais, contratuais e contábeis acumuladas;

  • funcionamento contínuo há décadas.

O Projeto A é mais novo.

O Projeto B é mais valioso.

A linguagem não recebe valor apenas pelo código que poderá ser escrito amanhã. Recebe valor também pelo patrimônio lógico que representa hoje.

Essa distinção raramente aparece em rankings.


COBOL não é uma ação de crescimento; é infraestrutura soberana

Wall Street adora empresas de crescimento.

Empresas que prometem conquistar novos mercados, multiplicar receitas e transformar o mundo antes da próxima apresentação trimestral.

COBOL não pertence a essa categoria.

COBOL é mais parecido com:

  • uma empresa de energia;

  • uma rede ferroviária;

  • um sistema de compensação;

  • uma usina;

  • um porto;

  • um conjunto de cofres subterrâneos.

Ele não precisa ser excitante.

Precisa estar funcionando.

A própria IBM descreve COBOL como uma linguagem criada especificamente para aplicações empresariais e ainda presente em sistemas essenciais. A modernização desses ambientes não significa simplesmente abandonar COBOL, mas atualizar práticas, ferramentas, integrações, arquitetura e processos em torno das aplicações existentes. (IBM)

Esse é um ponto fundamental para o iniciante:

Modernização não é sinônimo de reescrita.

Muitas empresas modernizam sistemas COBOL por meio de:

  • APIs;

  • integração com Java;

  • serviços REST;

  • mensageria;

  • pipelines de CI/CD;

  • Git;

  • testes automatizados;

  • novos compiladores;

  • análise estática;

  • observabilidade;

  • interfaces web e móveis;

  • inteligência artificial aplicada à compreensão do código.

O programa COBOL permanece no centro porque continua executando a regra de negócio.

O que muda é a forma de acessá-lo, testá-lo, implantá-lo e governá-lo.


O erro da coluna “Cost”

O gráfico coloca COBOL, Java, C++, PHP, JavaScript, Python e outras linguagens próximas da região de custo.

Essa classificação é enganosa porque toda tecnologia possui custo.

A pergunta correta não é:

Quanto custa manter?

A pergunta correta é:

Quanto custa manter em comparação com o valor produzido e com o risco de substituir?

Imagine que um sistema COBOL custe dez milhões por ano para operar.

À primeira vista, parece caro.

Mas suponha que ele processe centenas de bilhões em transações, cobranças, pagamentos, apólices ou benefícios.

O custo representa uma pequena fração do valor protegido.

Agora imagine uma tentativa de reescrever tudo em outra linguagem por 300 milhões, durante cinco anos, sem garantia de equivalência funcional.

O sistema antigo deixa de parecer caro.

Ele passa a parecer o adulto responsável na sala.

O mercado não calcula apenas custo de desenvolvimento.

Calcula:

  • risco operacional;

  • risco regulatório;

  • risco de indisponibilidade;

  • risco de perda de dados;

  • risco reputacional;

  • risco de fraude;

  • risco de interpretação incorreta das regras;

  • risco de migração;

  • risco de dependência de fornecedor;

  • risco de a equipe moderna descobrir tarde demais que o sistema antigo fazia 4.700 coisas que ninguém documentou.

A função do programador COBOL não é apenas escrever código.

É proteger capital operacional.


O programa de 1978 que sabe mais sobre a empresa do que a diretoria

Uma das grandes curiosidades do legado é que o código frequentemente se transforma em documentação executável da organização.

Imagine uma seguradora.

Ao longo de 40 anos, seus programas receberam alterações para:

  • novas leis;

  • novos produtos;

  • decisões judiciais;

  • mudanças de moeda;

  • planos especiais;

  • regras de exceção;

  • fusões empresariais;

  • acordos com clientes;

  • tratamentos para contratos antigos;

  • cálculos atuariais;

  • arredondamentos específicos;

  • datas de corte.

O programa pode conter uma condição como:

IF DATA-ADESAO < 19940701
   COMPUTE TAXA-FINAL = TAXA-ANTIGA * FATOR-TRANSICAO
ELSE
   COMPUTE TAXA-FINAL = TAXA-NOVA
END-IF

O programador iniciante olha e pensa:

— Isso é feio. Vamos simplificar.

O veterano pergunta:

— Você sabe por que julho de 1994 está ali?

Silêncio.

Talvez a data represente:

  • uma mudança monetária;

  • uma norma;

  • um produto encerrado;

  • um contrato coletivo;

  • um ajuste de transição;

  • uma determinação jurídica.

Apagar aquela condição sem compreender o contexto pode gerar milhões em pagamentos incorretos.

Eis a verdadeira mercadoria do programador COBOL:

conhecimento de negócio encapsulado em código.


O que os rankings realmente medem?

Outro erro comum é interpretar índices como se todos medissem a mesma coisa.

Não medem.

TIOBE

O TIOBE mede sinais de popularidade obtidos em mecanismos de busca, cursos, fornecedores e disponibilidade de profissionais. O próprio índice avisa que não mede qual é a melhor linguagem nem quantas linhas de código foram escritas em cada uma. (TIOBE)

Portanto, subir no TIOBE significa ganhar visibilidade relativa naquele método.

Não significa automaticamente:

  • mais vagas;

  • salários maiores;

  • mais sistemas críticos;

  • melhor desempenho;

  • maior faturamento;

  • maior relevância estratégica.

GitHub

O GitHub enxerga principalmente o universo hospedado na plataforma:

  • open source;

  • projetos públicos;

  • empresas que utilizam GitHub;

  • código criado ou espelhado ali.

É uma fonte extremamente importante, mas não enxerga perfeitamente:

  • bibliotecas internas antigas;

  • ambientes isolados;

  • código proprietário;

  • instituições financeiras restritas;

  • sistemas governamentais;

  • aplicações mantidas em ferramentas tradicionais;

  • organizações que ainda não levaram todo o patrimônio para Git.

Se um banco possui dezenas de milhões de linhas COBOL protegidas por controles internos, elas não aparecerão em um ranking público.

Isso não as torna inexistentes.

Torna-as confidenciais.

Stack Overflow

A pesquisa Stack Overflow reflete a comunidade que responde ao levantamento.

Isso ajuda a compreender preferências e práticas contemporâneas, mas profissionais de certos setores podem estar sub-representados.

Um programador de startup provavelmente usa fóruns públicos com frequência.

Um especialista responsável por um sistema financeiro confidencial pode encontrar respostas em:

  • documentação interna;

  • Redbooks;

  • manuais IBM;

  • bases corporativas;

  • colegas;

  • contratos de suporte;

  • comunidades especializadas.

O silêncio público não significa ausência econômica.

Às vezes significa segurança.


A correção realista das principais linguagens do gráfico

COBOL: de “custo” para “ativo crítico de baixa visibilidade”

COBOL deveria ocupar uma categoria própria:

Infraestrutura empresarial consolidada com alto custo de substituição.

Não é a principal escolha para uma nova rede social.

Mas continua excelente para:

  • processamento em lote;

  • transações comerciais;

  • cálculos financeiros;

  • grandes volumes de registros;

  • regras de negócio;

  • integração com bancos de dados empresariais;

  • sistemas que exigem previsibilidade e continuidade.

COBOL não está no “fim da vida”.

Está em um mercado maduro, especializado e menos visível.

A IBM continua promovendo recursos, interoperabilidade, modernização e ferramentas voltadas a aplicações COBOL, inclusive integração com Java e uso de IA para compreender e transformar aplicações. (@ibmdeveloper)


Java: de “custo” para “coluna vertebral empresarial”

Java não é novidade.

Exatamente por isso é valioso.

Ele possui:

  • ecossistema gigantesco;

  • bibliotecas maduras;

  • JVM;

  • frameworks;

  • profissionais;

  • ferramentas;

  • aplicações bancárias;

  • sistemas governamentais;

  • plataformas empresariais;

  • serviços de backend;

  • Android em sua trajetória histórica.

Java talvez não produza a mesma euforia de uma linguagem recém-lançada.

Mas continua sendo uma base fundamental do desenvolvimento corporativo. O próprio GitHub o descreve como uma das fundações de aplicações empresariais escaláveis e seguras. (The GitHub Blog)

No pregão tecnológico, Java não é uma startup exótica.

É uma corporação que possui prédios, clientes, contratos e advogados.


JavaScript e TypeScript: da improvisação ao império

No gráfico antigo, JavaScript aparece em uma posição que já não representa a realidade.

JavaScript deixou de ser apenas uma linguagem de pequenos scripts no navegador.

Hoje está presente em:

  • frontend;

  • backend;

  • aplicações desktop;

  • ferramentas;

  • automação;

  • servidores;

  • plataformas;

  • aplicações móveis;

  • ambientes cloud.

TypeScript adicionou tipagem estática e melhor estrutura para grandes bases de código. Em 2025, ultrapassou JavaScript e Python no GitHub, tornando-se o exemplo perfeito de como um gráfico tecnológico pode envelhecer rapidamente. (The GitHub Blog)

CoffeeScript, que no diagrama aparece perto do “nascimento dos padrões”, perdeu relevância justamente porque TypeScript ocupou seu espaço de maneira mais poderosa.

O mercado não recompensa apenas quem chega primeiro.

Recompensa quem resolve melhor o problema no momento certo.


Python: a moeda preferida da era da IA

Python cresceu porque conseguiu tornar-se simultaneamente:

  • acessível para iniciantes;

  • útil para automação;

  • forte em ciência de dados;

  • dominante em inteligência artificial;

  • presente no backend;

  • adequado para protótipos;

  • cercado por bibliotecas.

A pesquisa Stack Overflow de 2025 registrou aumento expressivo de adoção de Python, associando-o à IA, ciência de dados e backend. (survey.stackoverflow.co)

Isso não significa que Python substituirá todas as linguagens.

Ele é poderoso porque atua como uma espécie de língua franca entre áreas.

Mas não elimina:

  • C em sistemas;

  • COBOL em regras empresariais;

  • Java em plataformas corporativas;

  • JavaScript e TypeScript na web;

  • Fortran em computação científica;

  • Rust em sistemas que exigem segurança de memória.

Wall Street gosta de narrativas absolutas.

A engenharia prefere contexto.


C e C++: petróleo bruto da computação

C e C++ aparecem em muitos discursos como tecnologias antigas.

Entretanto, continuam presentes em:

  • sistemas operacionais;

  • bancos de dados;

  • compiladores;

  • jogos;

  • navegadores;

  • dispositivos;

  • sistemas embarcados;

  • telecomunicações;

  • aplicações de alto desempenho.

Você pode escrever uma interface moderna em uma linguagem recente.

Mas em algum ponto inferior da pilha haverá uma quantidade considerável de C ou C++ fazendo o trabalho pesado.

Eles não desapareceram.

Tornaram-se subterrâneos.

Como cabos, tubulações e cofres.


Fortran: o velho cientista que ainda controla o reator

Fortran não disputa atenção com frameworks web.

Ele disputa precisão, desempenho e décadas de código científico validado.

Permanece relevante em:

  • meteorologia;

  • física;

  • engenharia;

  • modelagem;

  • simulações;

  • supercomputação;

  • pesquisa climática.

Reescrever um modelo científico validado durante décadas não é apenas um projeto de programação.

É uma nova validação científica.

Uma fórmula convertida incorretamente pode continuar compilando e produzindo números aparentemente plausíveis.

Esse é o tipo mais perigoso de erro: o erro elegante.


PL/I e RPG: mercados menores, porém reais

PL/I e RPG não possuem a visibilidade de Python ou JavaScript.

Porém, continuam presentes em ambientes empresariais específicos.

RPG possui forte associação com IBM i.

PL/I continua ligado a sistemas corporativos, inclusive ambientes mainframe.

O número de novos programadores é menor.

Isso cria um paradoxo interessante:

  • menos vagas totais;

  • menos candidatos qualificados;

  • maior dependência de conhecimento especializado;

  • risco de sucessão;

  • oportunidades para quem combina legado e modernização.

Não é um mercado de massa.

É um mercado de nicho com portas pesadas.


Passo a passo para o programador COBOL iniciante ler o mercado

Passo 1 — Não pergunte apenas “qual linguagem está crescendo?”

Pergunte:

  • Em qual setor?

  • Em qual país?

  • Em qual plataforma?

  • Para qual tipo de aplicação?

  • Em empresas de qual tamanho?

  • Em projetos novos ou manutenção?

  • Com qual nível de responsabilidade?

“Python está crescendo” é verdadeiro.

“Python substituirá todo COBOL bancário” é uma aposta muito mais arriscada.


Passo 2 — Aprenda a diferenciar popularidade de valor

Popularidade mede atenção.

Valor mede consequência.

Um aplicativo com milhões de downloads pode falhar por alguns minutos e causar reclamações.

Um sistema de liquidação pode falhar por segundos e gerar impactos financeiros, operacionais e regulatórios.

A criticidade muda o preço da competência.


Passo 3 — Construa uma combinação, não uma prisão

O iniciante não deve aprender apenas COBOL.

Também não deve abandonar COBOL para perseguir toda nova linguagem que aparece no noticiário.

Uma combinação poderosa inclui:

  • COBOL;

  • JCL;

  • Db2;

  • CICS ou IMS;

  • VSAM;

  • Git;

  • APIs;

  • Linux ou Unix;

  • noções de Java ou Python;

  • testes;

  • CI/CD;

  • observabilidade;

  • fundamentos de segurança.

O profissional mais valioso não é aquele que defende uma linguagem como time de futebol.

É aquele que conecta mundos.


Passo 4 — Aprenda negócio

Um programador COBOL que entende apenas sintaxe possui valor limitado.

Um programador que entende:

  • contabilidade;

  • crédito;

  • seguros;

  • pagamentos;

  • previdência;

  • logística;

  • faturamento;

  • tributação;

  • conciliação;

  • processamento batch;

transforma-se em especialista.

No mercado financeiro, código é apenas a camada visível.

A verdadeira riqueza está na compreensão da operação.


Passo 5 — Aprenda a modernizar sem destruir

Modernização responsável começa com perguntas:

  1. O que o sistema faz?

  2. Quais aplicações dependem dele?

  3. Quais dados utiliza?

  4. Qual o volume processado?

  5. Quais regras são críticas?

  6. Quais exceções históricas existem?

  7. Quais interfaces podem ser expostas?

  8. O que pode ser refatorado?

  9. O que deve permanecer?

  10. Como testar equivalência?

Depois vêm as ferramentas.

Nunca o contrário.

Escolher um framework antes de compreender o sistema é como comprar um terno antes de descobrir se você foi convidado para uma reunião ou para um funeral.


Curiosidade: o ativo invisível não aparece no balanço

Empresas costumam registrar servidores, imóveis, licenças e equipamentos como ativos.

Mas raramente conseguem representar adequadamente o valor acumulado de décadas de regras de negócio em código.

Um sistema COBOL pode conter o conhecimento de centenas de:

  • analistas;

  • contadores;

  • especialistas;

  • advogados;

  • operadores;

  • gestores;

  • programadores;

  • auditores.

Muitos já se aposentaram.

Alguns faleceram.

Outros sequer lembram por que determinada regra foi criada.

O código permaneceu.

Nesse sentido, o programa não é apenas software.

É memória institucional compilável.


Easter egg do pregão: GREED IS GOOD, mas integridade referencial é melhor

Em filmes sobre mercados financeiros, a cobiça aparece como motor de ascensão e queda.

Na tecnologia, existe uma versão semelhante:

  • a cobiça pela linguagem nova;

  • a cobiça pelo projeto de migração;

  • a cobiça pelo contrato milionário;

  • a cobiça pela arquitetura com cinquenta produtos;

  • a cobiça por anunciar que “desligamos o legado”.

Mas sistemas empresariais não obedecem ao roteiro de Hollywood.

Quando a música termina, alguém precisa reconciliar os centavos.

Você pode convencer a diretoria a substituir um sistema considerado antigo.

O que não pode fazer é convencer o razão contábil a aceitar uma diferença de três milhões porque a nova arquitetura possui containers elegantes.

No mainframe, o verdadeiro lema não é:

“A cobiça é boa.”

É:

“O fechamento precisa bater.”


O novo mapa realista

Se redesenhássemos o gráfico, não colocaríamos COBOL caminhando simplesmente em direção ao fim.

Criaríamos zonas diferentes.

Zona 1 — Crescimento e experimentação

  • novas linguagens;

  • novos frameworks;

  • alto volume de projetos;

  • mudanças rápidas;

  • risco de desaparecimento.

Zona 2 — Adoção industrial

  • ecossistemas maduros;

  • forte mercado;

  • disponibilidade de profissionais;

  • ampla utilização.

Zona 3 — Infraestrutura consolidada

  • sistemas críticos;

  • grande base instalada;

  • alto custo de substituição;

  • evolução gradual;

  • menor visibilidade pública.

Aqui estariam COBOL, C, Java e outras tecnologias fundamentais, dependendo do domínio.

Zona 4 — Nichos especializados

  • Fortran;

  • PL/I;

  • RPG;

  • Erlang;

  • Haskell;

  • linguagens científicas, funcionais ou empresariais específicas.

Zona 5 — Declínio real

Uma linguagem só deveria entrar aqui quando houvesse combinação de:

  • ausência de manutenção;

  • fim de compiladores;

  • desaparecimento de fornecedores;

  • falta de sistemas relevantes;

  • impossibilidade de integração;

  • abandono completo do ecossistema.

Ser antiga não basta.

Ser pouco comentada também não.


Conclusão: o mercado não é uma enquete de internet

No fim do dia, as telas do pregão se apagam.

Os influenciadores fecham seus rankings.

Os consultores recolhem seus slides.

Os desenvolvedores encerram seus vídeos sobre a “linguagem que acabará com todas as outras”.

Mas, em algum lugar, um job entra no JES.

Um programa COBOL abre arquivos.

Consulta tabelas.

Processa milhões de registros.

Aplica regras criadas durante décadas.

Gera lançamentos.

Atualiza saldos.

Produz relatórios.

Dispara mensagens.

Fecha o movimento.

A empresa acordará no dia seguinte porque esse processamento terminou corretamente.

Essa é a realidade que o gráfico não consegue mostrar.

COBOL não lidera os rankings de entusiasmo.

Não domina os repositórios públicos.

Não produz a maior quantidade de tutoriais coloridos.

Não aparece diariamente nas discussões das startups.

Ainda assim, permanece onde o dinheiro, os contratos, os registros e as obrigações precisam ser processados com consistência.

O iniciante deve abandonar dois medos.

O primeiro é o medo de que COBOL desapareça amanhã.

O segundo é a ilusão de que aprender somente COBOL garantirá o futuro.

A estratégia vencedora está no meio.

Conheça profundamente o legado.

Aprenda os sistemas que o cercam.

Entenda o negócio.

Domine integração.

Use ferramentas modernas.

Estude APIs, Git, automação, testes, cloud, segurança e inteligência artificial.

Transforme-se no profissional capaz de entrar na sala onde o veterano conhece o passado e o arquiteto conhece o futuro — e conversar com ambos.

Porque o mercado não paga apenas por código.

Paga por confiança.

Paga por continuidade.

Paga por alguém que saiba qual programa pode ser alterado, qual regra deve ser preservada e qual processo jamais poderá falhar no último dia útil do mês.

No pregão das linguagens, modas sobem e descem.

Frameworks tornam-se estrelas e desaparecem.

Empresas nascem avaliadas em bilhões e terminam vendendo os móveis.

Enquanto isso, o velho COBOL permanece sentado no fundo da sala, tomando café, processando a folha de pagamento de todos os presentes.

Ele não está preocupado com o gráfico.

Ele é o sistema que imprime o extrato.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...