Translate

sexta-feira, 13 de junho de 2025

☕💣 FUNÇÕES SEM SUBPROGRAMAS? O DIA EM QUE O COBOL APRENDEU A CRIAR SUAS PRÓPRIAS APIs — E QUASE NINGUÉM PERCEBEU

 

Bellacosa Mainframe apresenta as funçoes criadas em cobol modo api on

☕💣 FUNÇÕES SEM SUBPROGRAMAS? O DIA EM QUE O COBOL APRENDEU A CRIAR SUAS PRÓPRIAS APIs — E QUASE NINGUÉM PERCEBEU

Existe um momento na carreira de todo profissional de Mainframe em que ele descobre algo e pensa:

"Como ninguém me contou isso antes?"

Foi exatamente essa sensação que muitos desenvolvedores tiveram quando conheceram as User Defined Functions (UDFs) introduzidas nas versões modernas do COBOL Enterprise da IBM.

Durante décadas, quando precisávamos reutilizar lógica em COBOL, a solução era sempre a mesma:

  • CALL de subprograma

  • COPYBOOK

  • Macro

  • Módulos compartilhados

Funcionava.

Ainda funciona.

Mas o COBOL evoluiu.

E hoje o programador pode criar suas próprias funções, utilizá-las dentro de expressões e fazer chamadas tão elegantes quanto as funções nativas do compilador.

Sim.

Da mesma forma que você usa:

FUNCTION CURRENT-DATE

ou

FUNCTION UPPER-CASE(...)

você pode criar:

FUNCTION CALCULA-IR(...)

ou

FUNCTION VALIDA-CPF(...)

ou qualquer outra regra de negócio.

Para quem passou décadas trabalhando apenas com programas e subprogramas, isso parece quase magia.

Mas não é.

É apenas COBOL moderno.


Um Pouco de História

Nas versões clássicas do COBOL:

  • COBOL VS COBOL II

  • COBOL/370

  • COBOL for MVS

não existia conceito de função definida pelo usuário.

Tudo precisava ser feito através de:

CALL "ROTINA01"

O compilador não conhecia o conceito de retorno funcional.

Quando surgiram:

  • Enterprise COBOL V5

  • Enterprise COBOL V6

a IBM passou a suportar recursos alinhados ao padrão ISO COBOL moderno.

Entre eles:

User Defined Functions

ou simplesmente:

Funções Definidas pelo Usuário


O Que é Uma User Defined Function?

É um módulo COBOL especial que:

  • recebe parâmetros

  • processa dados

  • retorna um único valor

exatamente como uma função matemática.

Exemplo:

RESULTADO =
    FUNCTION DOBRO(VALOR)

Ao invés de:

CALL "DOBRO"

Quando Vale a Pena Utilizar?

Imagine uma regra utilizada em centenas de programas.

Por exemplo:

  • cálculo de imposto

  • cálculo de juros

  • validação de CPF

  • mascaramento de dados LGPD

  • formatação de código interno

Criar uma função centralizada reduz:

  • duplicação

  • manutenção

  • erros

e aumenta a legibilidade.


Estrutura de Uma Função COBOL

O segredo está na identificação.

Observe:

IDENTIFICATION DIVISION.

FUNCTION-ID. DOBRO.

Perceba:

Não usamos:

PROGRAM-ID

Usamos:

FUNCTION-ID

Isso transforma o módulo em uma função.


Exemplo Completo

Função DOBRO

       IDENTIFICATION DIVISION.
       FUNCTION-ID. DOBRO.

       DATA DIVISION.

       LINKAGE SECTION.

       01 LK-VALOR      PIC S9(9) COMP-5.

       01 RESULTADO     PIC S9(9) COMP-5.

       PROCEDURE DIVISION
            USING LK-VALOR
            RETURNING RESULTADO.

           COMPUTE RESULTADO =
                   LK-VALOR * 2

           GOBACK.

Simples.

Recebe:

LK-VALOR

Retorna:

RESULTADO

O RETURNING

A palavra-chave fundamental é:

RETURNING

Ela define o valor devolvido pela função.

Exemplo:

PROCEDURE DIVISION
    USING ENTRADA
    RETURNING SAIDA

Sem RETURNING não existe função.


Como Chamar a Função

Agora imagine um programa principal.

IDENTIFICATION DIVISION.
PROGRAM-ID. TESTE.

Working Storage

01 WS-NUMERO       PIC 9(4).
01 WS-RESULTADO    PIC 9(5).

Chamada

MOVE 10 TO WS-NUMERO

COMPUTE WS-RESULTADO =
        FUNCTION DOBRO(WS-NUMERO)

DISPLAY WS-RESULTADO

Resultado:

20

O Que o Compilador Faz?

Quando encontra:

FUNCTION DOBRO(...)

o compilador procura um módulo com:

FUNCTION-ID. DOBRO

e gera a ligação automaticamente.

É semelhante ao que acontece com:

FUNCTION CURRENT-DATE

Em Qual Biblioteca Deve Ser Gravado?

Aqui existe uma dúvida muito comum.

A função compilada gera um módulo objeto exatamente como qualquer outro programa COBOL.

Normalmente:

OBJETO

Vai para:

&&OBJ
SYSLIN

durante a compilação.


LOAD MODULE

Após o Link Edit:

LOADLIB

ou

STEPLIB

ou

USER.LOADLIB

dependendo dos padrões da empresa.

Exemplo:

PROD.COBOL.LOAD

ou

DEV.COBOL.LOAD

Que Tipo de Objeto é Criado?

Fisicamente o compilador gera:

Object Deck

OBJETO

e depois:

Program Object

ou

Load Module

dependendo da configuração do Binder.

Ou seja:

não existe um tipo especial de dataset para funções.

A função é armazenada como um módulo executável normal.

O diferencial está no:

FUNCTION-ID

Passo a Passo Completo

Passo 1

Criar o fonte.

Exemplo:

USER.COBOL(FDOBRO)

Passo 2

Codificar:

FUNCTION-ID. DOBRO.

Passo 3

Compilar.

Exemplo de JCL:

//COBOL EXEC IGYWCL

ou

//COB EXEC PROC=IGYWCLG

Dependendo do ambiente.


Passo 4

Gerar módulo em LOADLIB.

Exemplo:

USER.LOADLIB

Passo 5

Adicionar a LOADLIB na STEPLIB.

//STEPLIB DD DSN=USER.LOADLIB,

Passo 6

Compilar os programas consumidores.

O compilador localizará a função.


Funções Com Múltiplos Parâmetros

Exemplo:

FUNCTION-ID. SOMA2.

Linkage:

01 LK-N1 PIC S9(9).
01 LK-N2 PIC S9(9).

01 RETORNO PIC S9(9).

Procedure:

PROCEDURE DIVISION
    USING LK-N1 LK-N2
    RETURNING RETORNO.

    COMPUTE RETORNO =
        LK-N1 + LK-N2

    GOBACK.

Uso:

COMPUTE TOTAL =
        FUNCTION SOMA2(10,20)

Resultado:

30

Funções Podem Chamar Outras Funções

Sim.

Exemplo:

FUNCTION DOBRO(
    FUNCTION SOMA2(5,5))

Primeiro:

SOMA2 = 10

Depois:

DOBRO = 20

Muito parecido com linguagens modernas.


Funções Podem Ser Recursivas?

Sim.

Desde que o compilador permita:

RECURSIVE

e que a lógica esteja preparada.

Mas normalmente regras de negócio não exigem isso.


Diferença Entre CALL e FUNCTION

CALL

CALL "CALCULO"

Características:

  • múltiplos parâmetros

  • sem retorno obrigatório

  • paradigma tradicional


FUNCTION

FUNCTION CALCULO(...)

Características:

  • retorno explícito

  • pode participar de expressões

  • sintaxe mais elegante


Exemplo Real de Negócio

Imagine validar CPF.

Em vez de:

CALL "CPFVAL"

você pode escrever:

IF FUNCTION CPF-VALIDO(CPF)

Muito mais legível.

A regra passa a parecer uma instrução nativa da linguagem.


Opções de Compilação Recomendadas

Nas versões atuais do Enterprise COBOL V6.x é comum utilizar:

OPT(2)
ARCH(13)
RENT
LIST
MAP
XREF
SSRANGE

Em desenvolvimento:

SSRANGE

ajuda bastante na identificação de erros.

Em produção:

NOSSRANGE

para melhor desempenho.


Compatibilidade

As User Defined Functions fazem parte das versões modernas do COBOL Enterprise.

São suportadas nas famílias atuais:

  • Enterprise COBOL V5

  • Enterprise COBOL V6

  • z/OS modernos

Sempre confirme a versão instalada junto ao time de sistemas.


Ganho Arquitetural

O maior benefício não é técnico.

É arquitetural.

Você passa a criar uma verdadeira biblioteca corporativa de regras.

Imagine uma empresa com funções:

CALCULA-IR
CALCULA-IOF
VALIDA-CPF
VALIDA-CNPJ
FORMATA-CEP

Todas reutilizadas por centenas de programas.

O resultado é:

  • menos código duplicado

  • manutenção centralizada

  • maior padronização

  • menor risco operacional


A Grande Sacada

Durante quarenta anos aprendemos que reutilização em COBOL significava:

CALL

Mas o COBOL moderno adicionou uma camada muito mais elegante.

Hoje podemos construir verdadeiras APIs corporativas diretamente dentro da linguagem usando:

FUNCTION-ID

e consumi-las com:

FUNCTION nome-da-funcao(...)

Para o desenvolvedor que ainda programa como em 1995, isso parece um detalhe.

Para quem projeta sistemas corporativos gigantescos, isso é uma mudança de paradigma.

Porque, pela primeira vez, o COBOL permite encapsular regras de negócio reutilizáveis com a mesma simplicidade com que usamos CURRENT-DATE, UPPER-CASE ou LENGTH.

E é justamente aí que mora a ironia: milhares de profissionais continuam criando subprogramas para tudo, enquanto o compilador moderno já oferece uma forma muito mais elegante de transformar regras de negócio em funções reutilizáveis.

Em outras palavras, o COBOL não virou uma linguagem nova.

Mas aprendeu um truque que muitos veteranos ainda não descobriram. ☕💣🚀


☕💀📋 O JOB QUE SOFREU ABEND, VOLTOU COMO ZUMBI E SE TORNOU MELHOR QUE A VERSÃO ORIGINAL — A INCRÍVEL LIÇÃO DE NOZOMANU FUSHI NO BOUKENSHA

 

Bellacosa Mainframe e o morto vivo em Nozomanu Fushi no Boukensha

☕💀📋 O JOB QUE SOFREU ABEND, VOLTOU COMO ZUMBI E SE TORNOU MELHOR QUE A VERSÃO ORIGINAL — A INCRÍVEL LIÇÃO DE NOZOMANU FUSHI NO BOUKENSHA


📚 FICHA TÉCNICA

Título Original: Nozomanu Fushi no Boukensha (望まぬ不死の冒険者)

Título em Inglês: The Unwanted Undead Adventurer

Autor da Light Novel: Yu Okano

Ilustrações da Novel: Jaian

Mangá: Haiji Nakasone

Estúdio de Animação: Connect

Diretor: Noriaki Akitaya

Lançamento do Anime: Janeiro de 2024

Episódios: 12

Gêneros:

  • Fantasia

  • Aventura

  • Dungeon Fantasy

  • RPG

  • Mistério

  • Sobrevivência

  • Progressão de Poder

Classificação Indicativa:
14 a 16 anos dependendo da região, devido à violência moderada e temas sombrios.


☕ O QUE ACONTECE QUANDO UM JOB MORRE... MAS CONTINUA EXECUTANDO?

Imagine um programador COBOL que passou dez anos trabalhando sem reconhecimento.

Nenhuma promoção.

Nenhum prêmio.

Nenhuma fama.

Apenas trabalho duro.

Esse é Rentt Faina.

Ele não é o herói lendário.

Não é o escolhido.

Não possui arma divina.

Não recebeu privilégios administrativos do sistema.

É apenas mais um aventureiro tentando sobreviver.

Até que um dia encontra um dragão em uma área desconhecida da dungeon.

O resultado?

ABEND S0C4 definitivo.

Fim do processo.

Mas quando o IPL termina...

Rentt continua existindo.

Só que agora como um morto-vivo.


💣 SINOPSE

Após ser devorado por um poderoso dragão, o aventureiro Rentt Faina desperta como um simples esqueleto.

Sem identidade.

Sem status.

Sem humanidade.

Sem poder.

Agora ele precisa sobreviver em um mundo que elimina monstros sem fazer perguntas.

Sua única esperança é continuar evoluindo até recuperar uma aparência humana e descobrir o verdadeiro significado da transformação que sofreu.


📖 RESUMO DA HISTÓRIA

A história acompanha a evolução gradual de Rentt.

Primeiro como esqueleto.

Depois como ghoul.

Posteriormente como formas mais avançadas de morto-vivo.

O interessante é que essa evolução não acontece por magia conveniente.

Cada avanço exige:

  • esforço;

  • combate;

  • aprendizado;

  • adaptação;

  • risco real.

É praticamente um plano de carreira profissional transformado em fantasia.


⚙️ O QUE TORNA ESTE ANIME DIFERENTE?

Aqui encontramos algo raro.

A maioria dos animes modernos segue a fórmula:

"Ganhei um poder absurdo e virei uma divindade no episódio 1."

Rentt faz exatamente o contrário.

Ele perde tudo.

Inclusive sua humanidade.

O anime pergunta algo extremamente interessante:

Quem você é quando tudo aquilo que definia sua identidade desaparece?

Essa questão filosófica acompanha toda a obra.


🧠 TEMÁTICAS ESCONDIDAS

1. Identidade

Rentt continua sendo humano?

Ou já se tornou um monstro?

A série nunca responde completamente.

Ela deixa o espectador refletir.


2. Persistência

O anime é praticamente uma homenagem à disciplina.

Rentt nunca desiste.

Não importa quantas vezes a vida o derrube.


3. Evolução Pessoal

A transformação física representa crescimento interior.

Quanto mais ele muda externamente, mais amadurece internamente.


4. Preconceito

A sociedade julga pela aparência.

Como morto-vivo, Rentt percebe que o mundo não trata todos da mesma forma.


5. Mortalidade

A obra explora uma questão curiosa:

Se você não pode morrer, qual passa a ser o propósito da vida?


🎭 PERSONAGENS PRINCIPAIS

💀 Rentt Faina

O protagonista.

Persistente.

Inteligente.

Paciente.

Talvez um dos aventureiros mais realistas dos animes modernos.

Ele lembra o analista veterano que sobreviveu a décadas de mudanças tecnológicas.


📚 Lorraine Vivie

Pesquisadora e alquimista.

Talvez a pessoa mais importante para Rentt após sua transformação.

Ela funciona como a documentação que salva um sistema crítico após a saída do desenvolvedor original.


⚔️ Rina Rupaage

Aventureira jovem que admira Rentt.

Representa a próxima geração aprendendo com profissionais experientes.


🏰 AS AVENTURAS

Ao contrário de muitos animes focados apenas em combate, as aventuras possuem forte componente de exploração.

Temos:

  • descoberta de ruínas;

  • investigação de mistérios;

  • estudo de monstros;

  • análise de habilidades;

  • desenvolvimento de reputação.

Em muitos momentos parece um arqueólogo explorando sistemas legados esquecidos.

Cada corredor da dungeon parece um dataset sem documentação.


🎬 O ESTÚDIO CONNECT

O estúdio Connect é conhecido por produções sólidas, mesmo sem os orçamentos gigantescos dos grandes nomes da indústria.

Seu maior mérito aqui foi compreender o material original.

A atmosfera é consistente.

A direção é cuidadosa.

O foco permanece no crescimento do personagem.

Não existem explosões visuais desnecessárias.

É um anime funcional.

Como um mainframe.

Talvez não impressione quem olha de fora.

Mas entrega exatamente o que promete.


☕ A GRANDE ANALOGIA MAINFRAME

Rentt é literalmente um sistema legado.

Todo mundo acreditava que estava morto.

Mas ele continua funcionando.

Não apenas isso.

Continua evoluindo.

Recebendo melhorias.

Adaptando-se.

Sobrevivendo.

Muitos profissionais de tecnologia se identificam com isso.

Especialmente aqueles que já ouviram:

"Essa tecnologia acabou."

E anos depois continuam sendo essenciais.


💣 MENSAGENS OCULTAS

A obra possui uma mensagem poderosa:

Valor não é o mesmo que reconhecimento.

Rentt trabalhou dez anos sem fama.

Mesmo assim adquiriu experiência.

Quando a crise chega, essa experiência se torna seu maior recurso.

Outra mensagem importante:

Crescimento verdadeiro é lento.

Não existe atalho.

Não existe milagre.

Não existe upgrade instantâneo.

Existe apenas consistência.


🌎 IMPACTO CULTURAL

Embora não tenha alcançado o fenômeno global de Frieren ou Solo Leveling, a obra conquistou uma base extremamente fiel.

Foi especialmente elogiada por:

  • desenvolvimento do protagonista;

  • construção de mundo;

  • progressão orgânica;

  • respeito às regras internas da narrativa.

Entre fãs de RPG clássico, ganhou reputação de ser uma das adaptações mais honestas dos últimos anos.


🚫 HOUVE CENSURA?

Não existem registros significativos de censura internacional relevantes para a série.

A adaptação preservou:

  • violência moderada;

  • temática de mortos-vivos;

  • elementos sombrios;

  • aparência monstruosa do protagonista.

Alguns enquadramentos e detalhes visuais foram suavizados em relação a certas ilustrações da novel, mas isso é comum em adaptações televisivas.

Nada que altere a história ou a mensagem central.


🏆 CLASSIFICAÇÃO BELLACOSA MAINFRAME

CritérioNota
História9/10
Personagens9/10
Construção de Mundo8,5/10
Progressão de Poder10/10
Ação7,5/10
Filosofia8,5/10
Originalidade8,5/10
Reassistir8,5/10

Nota Final Bellacosa Mainframe: 9,0/10


☕ VEREDITO FINAL

Nozomanu Fushi no Boukensha não é uma história sobre um morto-vivo.

É uma história sobre alguém que se recusa a desaparecer.

Enquanto outros protagonistas recebem privilégios administrativos no primeiro episódio, Rentt reconstrói a própria existência setor por setor, registro por registro, como um analista restaurando um ambiente após um desastre.

No universo Bellacosa Mainframe, este anime pode ser resumido em uma única frase:

"Quando todos acreditaram que o sistema havia sofrido ABEND definitivo, o processo voltou como zumbi, corrigiu os próprios erros e se tornou mais eficiente do que a versão original." ☕💀📋🚀

 

quinta-feira, 12 de junho de 2025

COBOL: de 1959 até hoje — quando o código atravessa décadas sem pedir aposentadoria.

 

💾 EL JEFE MIDNIGHT LUNCH — Bellacosa Mainframe Chronicles

“COBOL: de 1959 até hoje — quando o código atravessa décadas sem pedir aposentadoria.”


Há linguagens que nascem modinha.
Há linguagens que viram tese acadêmica.
E há o COBOL, que nasceu em 1959 e simplesmente se recusou a morrer — porque alguém precisava rodar o mundo real: folha, banco, seguro, governo, avião no ar e salário no fim do mês.

Hoje vamos fazer uma linha do tempo completa do COBOL no Mainframe, do nariz de foguete dos anos 50 até o Enterprise COBOL moderno, com comentários, curiosidades, easter eggs e aquele café forte do Bellacosa Mainframe.

Senta que lá vem história. ☕




🕰️ 1959 — COBOL nasce

COBOL (Common Business-Oriented Language)
Criado por um comitê liderado por Charles A. Phillips e Joseph Wegstein


🔹 O que havia de novo:

  • Linguagem quase em inglês

  • Pensada em humanos e não técnicos de informatica.

  • Foco em negócios, não em matemática

  • Independência de hardware (uma heresia para a época)

🔹 Equipe criadora do COBOL, listagem não exaustiva:

Alfred Asch (U.S. Air Force)
Benjamin Cheydleur (RCA)
Charles Gaudette (Minneapolis-Honeywell)
Daniel Goldstein (Univac)
Frances “Betty” Holberton (David Taylor Model Basin)
Gertrude Tierney (IBM)
Howard Bromberg (RCA)
Jean Sammet (Sylvania)
Joseph Wegstein (National Bureau of Standards)
Mary Hawes (Burroughs)
Norman Discount (RCA)
Vernon Reeves (Sylvania)
William Logan (Burroughs)
William Selden (IBM)

🧠 Curiosidade:
Grace Hopper odiava linguagens “ilegíveis”. O COBOL nasceu para ser lido por gerentes — ironicamente, só programadores entendem até hoje.

🥚 Easter egg:
O verbo ADD A TO B GIVING C é praticamente poesia corporativa.





🕰️ 1968 — COBOL ANSI 68

Primeira padronização oficial.

🔹 Novidades:

  • Estrutura formal

  • Maior portabilidade

  • Divisão clara em IDENTIFICATION, ENVIRONMENT, DATA e PROCEDURE

🧠 Comentário Bellacosa:
Aqui o COBOL virou “linguagem séria”. Antes era festa; depois, contrato.




🕰️ 1974 — COBOL ANSI 74

A versão que dominou os mainframes por décadas.

🔹 Novidades:

  • IF/ELSE estruturado

  • PERFORM mais poderoso

  • Adeus aos GO TO anárquicos (ou quase)

🧠 Curiosidade:
Boa parte do código que rodou no Y2K ainda era ANSI 74.




🕰️ 1985 — COBOL ANSI 85

O COBOL aprende boas maneiras.

🔹 Novidades:

  • Scope terminators (END-IF, END-PERFORM)

  • Código mais legível

  • Base do COBOL “estruturado”

🥚 Easter egg:
Muita gente ainda hoje esquece o END-IF e culpa o compilador.


🕰️ Anos 80 — COBOL VS / VS II (IBM)

O COBOL entra no reino do MVS.

🔹 Novidades:

  • Integração forte com JCL

  • Batch pesado

  • Performance absurda para a época

🧠 Comentário Bellacosa:
Aqui o COBOL virou músculo. Forte, bruto e confiável.


🕰️ 1991 — COBOL/370

Primeiro grande passo rumo ao “Enterprise”.

🔹 Novidades:

  • Melhor otimização

  • Suporte avançado a CICS e DB2

  • Integração com arquitetura System/370


🕰️ 1994 — Enterprise COBOL 3.2

🔥 Marco histórico.

🔹 O que há de novo:

  • Language Environment (LE)

  • Runtime comum com PL/I e C

  • Otimização real de código

🧠 Curiosidade:
Muitos chamam o LE de “chatice”. Até o primeiro dump bem explicado salvar seu emprego.

🥚 Easter egg:
CEE3ABD virou melhor amigo de quem debuga madrugada.


🕰️ 1996 — Enterprise COBOL 3.3

O compilador do Bug do Milênio.

🔹 Novidades:

  • Melhor I/O

  • Mais estabilidade

  • Código gerado mais rápido

🧠 Comentário Bellacosa:
Se o mundo não acabou em 01/01/2000, agradeça ao COBOL 3.3.


🕰️ 2001 — Enterprise COBOL 3.1 (z/OS)

Transição definitiva para o z/OS.

🔹 Novidades:

  • Unicode (primeiros passos)

  • Melhor integração com ambientes modernos

  • Visão “enterprise de verdade”

🧠 Curiosidade:
Aqui o COBOL começou a flertar com XML… timidamente.


🕰️ 2007 — Enterprise COBOL 4.1

O salto tecnológico.

🔹 Novidades:

  • Arquitetura 64 bits

  • Suporte a XML nativo

  • Melhor interoperabilidade

🥚 Easter egg:
Muita gente demorou anos para sair do 3.3 por medo.


🕰️ 2010 — Enterprise COBOL 5.1

COBOL moderno sem pedir desculpas.

🔹 Novidades:

  • Performance absurda

  • Melhor otimização para hardware z

  • Preparação para serviços

🧠 Comentário Bellacosa:
Aqui o COBOL começa a humilhar linguagens modernas em benchmark.


🕰️ 2016 — Enterprise COBOL 6.1

O COBOL acorda para o século XXI.

🔹 Novidades:

  • Melhor uso de CPU

  • Integração com DevOps

  • Compilador mais inteligente

🥚 Easter egg:
Compila mais rápido, roda mais rápido… e ainda reclamam.


🕰️ 2019–2022 — Enterprise COBOL 6.2 / 6.3 / 6.4

O COBOL sem vergonha de ser moderno.

🔹 Novidades:

  • Melhor suporte a APIs

  • Integração com pipelines

  • Foco em cloud híbrida e z/OS Connect

🧠 Curiosidade:
COBOL virou backend de API REST. Sim, isso é real.


🕰️ 2023–2025 — Enterprise COBOL 6.5 (atual)

O COBOL que ri do etarismo.

🔹 O que há de novo:

  • Performance ainda maior

  • Melhor diagnóstico

  • Alinhamento com z/OS moderno, containers e automação

  • Funções intrínsecas criadas pelo programador

🧠 Comentário Bellacosa:
Enquanto discutem se COBOL morreu, ele roda bilhões de transações por dia.


☕ Conclusão Bellacosa Mainframe

COBOL não sobreviveu apesar do tempo.
Ele sobreviveu porque o tempo precisava dele.

De 1959 até hoje:

  • Mudou

  • Evoluiu

  • Aprendeu XML, API, DevOps, Unicode e JSON
    Mas nunca perdeu seu propósito: fazer o negócio rodar.

“COBOL não é velho.
Velho é sistema que cai.”
El Jefe Midnight Lunch



Fonte: https://www.ibm.com/docs/pt-br/cobol-zos/6.5.0?topic=overview-cobol-compiler-versions-required-runtimes-support-information 


Tabela 1. Nomes de compiladores COBOL, versões e releases, identificadores de produtos, datas GA e EOS e tempos de execução necessários
Compilador
Versão, liberação e nível de modificação
Identificador de produto (PID)
Data de disponibilidade geral (GA)
(Ano-Mês-Dia)
Data do fim do suporte (EOS)1
(Ano-Mês-Dia)
Tempos de execução necessários2
OS/VS COBOL1.2.1----
OS/VS COBOL1.2.2----
OS/VS COBOL1.2.35740-CB11974-09-231999-12-31
  • Biblioteca de tempo de execução COBOL OS/VS; ou
  • Biblioteca de tempo de execução do VS COBOL II; ou
  • z/OS Language Environment
OS/VS COBOL1.2.45740-CB11976-09-231999-12-31
  • Biblioteca de tempo de execução COBOL OS/VS; ou
  • Biblioteca de tempo de execução do VS COBOL II; ou
  • z/OS Language Environment
VS COBOL II1.15668-9581985-10-011997-06-30
  • Biblioteca de tempo de execução do VS COBOL II; ou
  • z/OS Language Environment
VS COBOL II1.25668-9581986-12-191997-06-30
  • Biblioteca de tempo de execução do VS COBOL II; ou
  • z/OS Language Environment
VS COBOL II1.335668-9581988-12-161996-06-30
  • Biblioteca de tempo de execução do VS COBOL II; ou
  • z/OS Language Environment
VS COBOL II1.435668-9581993-03-122001-03-31
  • Biblioteca de tempo de execução do VS COBOL II; ou
  • z/OS Language Environment
COBOL/370
1.15688-1971991-12-201997-09-30z/OS Language Environment
COBOL para MVS & VM
1.25688-1971995-10-272001-12-31z/OS Language Environment
COBOL for OS/390® & VM
2.135648-A251997-05-232004-12-31z/OS Language Environment
COBOL for OS/390 & VM
2.235648-A252000-09-292004-12-31z/OS Language Environment
Enterprise COBOL for z/OS®
3.15655-G532001-11-302004-04z/OS Language Environment
Enterprise COBOL for z/OS
3.25655-G532002-09-272005-10-03z/OS Language Environment
Enterprise COBOL para z/OS
3.35655-G532004-02-272007-04-30z/OS Language Environment
Enterprise COBOL para z/OS
3.45655-G532005-07-012015-04-30z/OS Language Environment
Enterprise COBOL para z/OS
4.15655-S712007-12-142014-04-30z/OS Language Environment
Enterprise COBOL para z/OS
4.25655-S712009-08-282022-04-30z/OS Language Environment
Enterprise COBOL para z/OS
5.15655-W322013-06-212020-04-30z/OS Language Environment
Enterprise COBOL para z/OS
5.25655-W322015 -02-272020-04-30z/OS Language Environment
Enterprise COBOL para z/OS
6.15655-EC62016-03-182022-09-30z/OS Language Environment
Enterprise COBOL para z/OS
6.25655-EC62017-09-082024-09-30z/OS Language Environment
Enterprise COBOL para z/OS
6.35655-EC62019-09-062025-09-30z/OS Language Environment
Enterprise COBOL 
Enterprise COBOL para z/OS
6.45655-EC62022-05-27A ser determinadoz/OS Language Environment
Enterprise COBOL para z/OS
6.55655-EC62025-06-13A ser determinadoz/OS Language Environment