☕ 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 Laboratório COBOL. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Laboratório COBOL. Mostrar todas as mensagens

domingo, 15 de junho de 2025

COBOL em 2025: Muito Além do "Dinossauro"

 

Bellacosa Mainframe por que aprender cobol em 2025

☕ Um Café no Bellacosa Mainframe

COBOL em 2025: Muito Além do "Dinossauro"

O Renascimento da Linguagem que Nunca Parou de Evoluir

"Enquanto muita gente discute qual será a próxima linguagem da moda, bilhões de linhas de COBOL continuam movimentando bancos, bolsas de valores, seguradoras, companhias aéreas, hospitais e governos. A diferença é que, em 2025, esse COBOL está mais moderno do que muita gente imagina."


Introdução

Se você está começando sua jornada no IBM Mainframe, provavelmente já ouviu frases como:

"COBOL morreu."

ou

"COBOL é uma linguagem dos anos 60."

Curiosamente, quem costuma dizer isso quase nunca trabalhou em um grande banco.

A realidade é completamente diferente.

Em 2025 o COBOL vive um dos momentos mais interessantes de sua história.

Não porque a linguagem mudou completamente.

Mas porque todo o ecossistema ao redor dela evoluiu.

Hoje encontramos:

  • IA auxiliando programadores COBOL

  • VS Code integrado ao z/OS

  • GitHub conectado ao Mainframe

  • APIs REST escritas em COBOL

  • Containers

  • DevOps

  • Testes automatizados

  • Code Review

  • OpenTelemetry

  • Cloud híbrida

  • IBM watsonx auxiliando documentação

  • Análise automática de código

Ou seja...

O COBOL continua sendo COBOL.

Mas a forma de desenvolver mudou completamente.

Vamos conhecer esse novo mundo.


Antes de tudo...

Existe um enorme equívoco.

Muita gente imagina que aprender COBOL significa aprender uma linguagem antiga.

Na verdade, aprender COBOL significa aprender como funcionam os maiores sistemas do planeta.

COBOL é apenas a porta de entrada para entender:

  • processamento batch

  • processamento online

  • arquitetura empresarial

  • alta disponibilidade

  • consistência de dados

  • transações financeiras

  • sistemas distribuídos

  • integração entre plataformas

Quem aprende COBOL normalmente acaba aprendendo muito mais do que uma linguagem.


O que mudou no COBOL em 2025?

A linguagem continua extremamente estável.

E isso é uma vantagem.

Empresas gostam de estabilidade.

As novidades aparecem principalmente nas ferramentas.

As maiores mudanças são:

IBM Enterprise COBOL 6.x extremamente otimizado

As versões atuais do Enterprise COBOL geram código muito mais eficiente.

A IBM investiu pesado no compilador.

Hoje ele consegue:

  • otimizar loops

  • remover instruções desnecessárias

  • melhorar acesso à memória

  • aproveitar recursos do IBM z16 e z17

  • gerar código mais rápido automaticamente

Ou seja...

Mesmo programas escritos há décadas podem ganhar desempenho apenas recompilando.

Isso impressiona muita gente.


Exemplo

Antigamente:

PERFORM VARYING IDX FROM 1 BY 1
    UNTIL IDX > 100000

Hoje o compilador consegue reorganizar diversas instruções internamente para gerar melhor desempenho.

O programador praticamente não percebe.

Mas o processador sim.


Novos processadores IBM Z

Outra novidade importante.

COBOL acompanha a evolução do hardware.

Os processadores IBM Z modernos possuem instruções específicas para:

  • operações decimais

  • criptografia

  • compressão

  • IA

  • vetorização

  • SIMD

O compilador sabe aproveitar tudo isso automaticamente.

Isso significa que o mesmo programa pode ficar muito mais rápido apenas executando em hardware novo.


JSON virou cidadão de primeira classe

Poucos iniciantes sabem disso.

Hoje é extremamente comum um programa COBOL conversar com aplicações web.

Por exemplo:

Sistema bancário

COBOL

JSON

API REST

Aplicativo Android

Cliente.

Exemplo:

{
   "cliente":"Maria",
   "saldo":8500.75
}

Dentro do COBOL:

JSON GENERATE JSON-SAIDA
    FROM DADOS-CLIENTE

E também:

JSON PARSE JSON-ENTRADA
    INTO DADOS-CLIENTE

Não é necessário escrever um parser inteiro.

O compilador faz isso.


XML continua presente

Apesar do crescimento do JSON, muitas empresas ainda utilizam XML.

COBOL possui suporte nativo:

XML GENERATE

e

XML PARSE

Ou seja...

Integração continua sendo prioridade.


UTF-8 finalmente é rotina

Durante muitos anos, EBCDIC e ASCII eram um desafio.

Hoje o suporte a Unicode está muito melhor.

Isso facilita integração com:

  • Java

  • Python

  • Node.js

  • APIs

  • Cloud


IA entrou oficialmente no desenvolvimento COBOL

Esta talvez seja a maior mudança.

Hoje muitos programadores utilizam:

  • GitHub Copilot

  • IBM watsonx Code Assistant

  • ChatGPT

  • ferramentas de documentação automática

A IA consegue:

  • explicar programas antigos

  • gerar documentação

  • criar fluxogramas

  • sugerir melhorias

  • converter lógica

  • encontrar bugs

  • criar testes

Isso mudou completamente a produtividade.


O VS Code virou amigo do Mainframe

Antigamente:

ISPF.

Tela verde.

PF3.

PF8.

END.

SAVE.

Hoje?

Também.

Mas agora existe outra opção.

VS Code.

Com Zowe Explorer é possível:

  • editar programas

  • acessar datasets

  • submeter JCL

  • visualizar JES

  • consultar USS

  • acessar Unix

  • integrar Git

Tudo dentro da mesma IDE.

Para muitos padawans, isso torna o aprendizado muito mais agradável.


Git finalmente faz parte da rotina

Antigamente:

PDS.

Hoje:

GitHub + GitLab + Azure DevOps.

É cada vez mais comum encontrar pipelines que fazem:

Commit

Build

Compile COBOL

Executa testes

Deploy

Produção

DevOps chegou ao Mainframe.

E veio para ficar.


APIs em COBOL

Muitos imaginam que COBOL só conversa com arquivos VSAM.

Muito longe disso.

Hoje um programa COBOL pode expor APIs REST utilizando:

  • z/OS Connect

  • CICS

  • IMS

  • MQ

  • HTTP Services

Exemplo:

Aplicativo solicita:

GET /cliente/123

COBOL consulta DB2.

Retorna JSON.

Pronto.


SQL está cada vez mais presente

O Embedded SQL continua evoluindo.

Exemplo:

EXEC SQL

SELECT NOME
INTO :WS-NOME

FROM CLIENTE

WHERE ID = :WS-ID

END-EXEC

Hoje os compiladores trabalham melhor junto ao Db2.

Otimizações são cada vez maiores.


COBOL conversa com Java

Sim.

E faz isso muito bem.

Em muitos projetos modernos encontramos:

Java

COBOL

Db2

MQ

APIs

Tudo integrado.


Testes automatizados cresceram muito

No passado:

Executava o programa.

Conferia saída.

Hoje:

ZUnit

COBOL Check

Frameworks internos

Pipelines DevOps

Tudo automatizado.

Isso aproxima o Mainframe das práticas modernas de engenharia de software.


Debug ficou muito melhor

Ferramentas atuais permitem:

  • breakpoint

  • inspeção de variáveis

  • stepping

  • trace

  • profiling

Algo impensável há décadas.


Observabilidade

Hoje também existe:

OpenTelemetry

SMF

RMF

Grafana

Dashboards

Métricas

Tracing

O Mainframe entrou definitivamente na era da observabilidade.


Segurança

O COBOL moderno trabalha naturalmente com:

TLS

OAuth

JWT

Certificados digitais

RACF

Criptografia

Hash

Algo extremamente importante em bancos.


Curiosidades

Você sabia?

Um programa COBOL escrito em 1988 pode ser recompilado hoje e continuar funcionando.

Pouquíssimas linguagens conseguem isso.


Você sabia?

Mais de 90% das transações com cartão de crédito passam por sistemas que utilizam COBOL em algum ponto da cadeia.


Você sabia?

O PIX brasileiro conversa com diversos sistemas legados escritos em COBOL.

Moderno e legado convivem perfeitamente.


Você sabia?

Existem programas COBOL maiores do que muitos sistemas completos escritos em outras linguagens.

Alguns possuem milhões de linhas.


Easter Eggs para o Padawan

Easter Egg nº 1

A instrução

EVALUATE TRUE

funciona como um poderoso switch-case.

Muitos iniciantes nunca a utilizam.


Easter Egg nº 2

As funções intrínsecas escondem dezenas de recursos.

Exemplo:

FUNCTION CURRENT-DATE
FUNCTION UPPER-CASE
FUNCTION LOWER-CASE
FUNCTION RANDOM
FUNCTION LENGTH

Vale a pena explorá-las.


Easter Egg nº 3

Nem todo COBOL usa GO TO.

Na verdade...

Nos projetos modernos quase não aparece.


Easter Egg nº 4

PERFORM INLINE costuma gerar código extremamente eficiente.


Easter Egg nº 5

Nem todo programa COBOL é Batch.

Há sistemas CICS respondendo milhares de transações por segundo.


Passo a passo para aprender COBOL em 2025

Etapa 1

Aprenda:

  • DIVISIONS

  • SECTIONS

  • PARAGRAPHS


Etapa 2

Domine:

  • IF

  • EVALUATE

  • PERFORM

  • SEARCH

  • STRING

  • UNSTRING


Etapa 3

Aprenda arquivos

  • Sequential

  • VSAM

  • Indexed


Etapa 4

Aprenda Db2

SQL Embedded.


Etapa 5

Aprenda CICS.


Etapa 6

Aprenda JCL.


Etapa 7

Aprenda TSO/ISPF.


Etapa 8

Aprenda Git.


Etapa 9

Aprenda VS Code + Zowe.


Etapa 10

Aprenda IA aplicada ao Mainframe.

Esse será um diferencial enorme nos próximos anos.


Por que aprender COBOL ainda vale a pena?

Porque existe um mercado gigantesco.

Porque faltam profissionais.

Porque os salários costumam ser competitivos.

Porque empresas investem bilhões em Mainframe.

Porque sistemas críticos não podem parar.

Porque ninguém troca facilmente um sistema financeiro consolidado.

Porque o Mainframe continua crescendo em capacidade.

Porque IA precisa de dados.

E muitos desses dados estão justamente em sistemas COBOL.


Onde aprender gratuitamente?

Existe muito material excelente.

  • IBM SkillsBuild

  • IBM Z Xplore

  • IBM Z Global Student Hub

  • Open Mainframe Project

  • IBM Redbooks

  • IBM Documentation

  • IBM Developer

  • GitHub (projetos de exemplo)

  • Hercules Emulator

  • TK4- / MVS 3.8J para estudos históricos

  • Zowe (ambiente moderno)

  • VS Code com extensões para COBOL

  • Cursos gratuitos e trilhas da comunidade Mainframe

  • Canais técnicos especializados, como o Bellacosa Mainframe, que traduzem temas avançados para quem está começando.

Uma dica valiosa é combinar teoria com prática. Leia um conceito e, logo em seguida, implemente um pequeno programa. Mesmo exemplos simples, como cálculo de média, leitura de arquivo ou atualização de registros, ajudam a fixar a sintaxe e a lógica.


Dicas de Ouro para o Padawan COBOL

  • Leia programas antigos: eles ensinam regras de negócio que nenhum livro explica.

  • Não tenha medo da tela verde. Ela ainda é uma ferramenta poderosa e muito eficiente.

  • Aprenda JCL desde o início. Um bom programa COBOL precisa ser executado, e o JCL faz parte dessa jornada.

  • Estude Db2 e CICS paralelamente. Eles aparecem na maioria dos ambientes corporativos.

  • Use IA como copiloto, não como piloto. Sempre valide o código gerado e procure entender a lógica.

  • Domine Git e DevOps. O desenvolvedor COBOL moderno trabalha em equipes multidisciplinares.

  • Invista em inglês técnico. Grande parte da documentação oficial da IBM está nesse idioma.

  • Participe de comunidades, eventos e hackathons. O networking abre portas e acelera o aprendizado.


O Futuro do COBOL

A grande surpresa de 2025 é que o futuro do COBOL não está apenas na manutenção de sistemas antigos.

Ele está na integração.

Hoje o COBOL conversa com APIs REST, microsserviços, filas de mensagens, aplicações em nuvem, inteligência artificial e plataformas de observabilidade. O desenvolvedor moderno deixa de ser apenas um mantenedor de código legado para se tornar um engenheiro capaz de conectar décadas de conhecimento de negócio às tecnologias mais recentes.

Em vez de substituir o Mainframe, as empresas estão ampliando suas capacidades. O IBM Z evolui a cada geração, incorporando recursos de aceleração para IA, criptografia, compressão e processamento massivo, enquanto o Enterprise COBOL acompanha essa evolução com compiladores cada vez mais inteligentes.

Para o programador COBOL Padawan, isso representa uma oportunidade rara: entrar em um mercado onde a demanda continua alta, os sistemas são essenciais para a economia mundial e há espaço para inovar sem abrir mão da confiabilidade.

Se existe uma lição para levar deste café no Bellacosa Mainframe, é esta:

Aprender COBOL em 2025 não significa olhar para o passado. Significa entender as fundações que sustentam o presente e participar da construção do futuro da computação corporativa. Enquanto novas tecnologias surgem todos os anos, o COBOL continua provando que uma boa engenharia nunca sai de moda — ela apenas encontra novas maneiras de evoluir.

 

domingo, 2 de fevereiro de 2025

🥋 Laboratório COBOL para Padawans Do Zero ao Primeiro Jedi do Batch

 

Bellacosa Mainframe apresenta laboratorio inicial para padawan cobol

🥋 Laboratório COBOL para Padawans

Do Zero ao Primeiro Jedi do Batch

Este laboratório foi criado para alguém que nunca programou em COBOL. Os exercícios são progressivos e apresentam conceitos, sintaxe, boas práticas, armadilhas comuns e soluções comentadas.

Objetivo:

  • Aprender sintaxe COBOL

  • Escrever programas simples

  • Compreender variáveis

  • Utilizar DISPLAY

  • Aprender IF, PERFORM, EVALUATE

  • Trabalhar com tabelas OCCURS

  • Evitar erros comuns

  • Pensar como um desenvolvedor Mainframe


Laboratório 1 – Seu primeiro programa

Objetivo

Entender estrutura COBOL.

IDENTIFICATION DIVISION.
PROGRAM-ID. LAB001.

PROCEDURE DIVISION.

    DISPLAY 'OLA PADAWAN'.

    STOP RUN.

O que aprendemos

  • DIVISION

  • PROGRAM-ID

  • DISPLAY

  • STOP RUN


Armadilhas

Esquecer:

STOP RUN.

faz o programa terminar de maneira inadequada.


Laboratório 2 – Variáveis

Objetivo

Criar variáveis.

WORKING-STORAGE SECTION.

01 WS-NOME PIC X(20).
01 WS-IDADE PIC 99.

Programa


MOVE 'VAGNER' TO WS-NOME.
MOVE 52 TO WS-IDADE.


DISPLAY WS-NOME.
DISPLAY WS-IDADE.

Boas práticas

Prefixo WS

WS-NOME
WS-SALARIO
WS-TOTAL

Evite

NOME
X1
ABC

Laboratório 3 – MOVE

Objetivo

Copiar dados.

MOVE 100 TO WS-VALOR.
MOVE WS-VALOR TO WS-TOTAL.

Erro comum

Mover texto para campo numérico

Errado

MOVE 'ABC' TO WS-IDADE.

Laboratório 4 – ACCEPT

Ler teclado.


DISPLAY 'DIGITE SEU NOME'.

ACCEPT WS-NOME.



DISPLAY WS-NOME.

Laboratório 5 – Soma

Objetivo

Calcular.


01 A PIC 999.
01 B PIC 999.
01 C PIC 9999.



ADD A B GIVING C.



DISPLAY C.

Alternativa

COMPUTE C=A+B.

Laboratório 6 – Subtração


SUBTRACT A FROM B.


DISPLAY B.

Laboratório 7 – Multiplicação


MULTIPLY A BY B.


DISPLAY B.

Laboratório 8 – Divisão


DIVIDE A INTO B.


DISPLAY B.

Melhor

DIVIDE A INTO B GIVING C.

Laboratório 9 – IF

Objetivo

Decisão.



IF WS-IDADE >=18

   DISPLAY 'MAIOR'

ELSE

   DISPLAY 'MENOR'

END-IF.

Boa prática

Sempre

END-IF

Laboratório 10 – IF aninhado



IF IDADE >60

   DISPLAY 'IDOSO'

ELSE

   IF IDADE >=18

      DISPLAY 'ADULTO'

   ELSE

      DISPLAY 'MENOR'

   END-IF

END-IF.

Laboratório 11 – EVALUATE

Mais elegante.


EVALUATE NOTA

WHEN 10
 DISPLAY 'EXCELENTE'

WHEN 8
 DISPLAY 'OTIMO'

WHEN OTHER
 DISPLAY 'ESTUDAR'

END-EVALUATE.

É o SWITCH do COBOL.


Laboratório 12 – PERFORM

Criando parágrafos.


PERFORM MOSTRAR.



MOSTRAR.

DISPLAY 'OLA'.

Boa prática

Dividir lógica.

Não fazer:

500 linhas seguidas.


Laboratório 13 – PERFORM TIMES



PERFORM 5 TIMES

 DISPLAY 'COBOL'

END-PERFORM.

Laboratório 14 – PERFORM UNTIL



MOVE 1 TO I.



PERFORM UNTIL I >5


DISPLAY I


ADD 1 TO I


END-PERFORM.

Resultado

1

2

3

4

5


Laboratório 15 – Tabelas OCCURS


01 WS-NUMEROS.

   05 WS-NUM OCCURS 5 TIMES PIC 999.

Preenchendo



MOVE 10 TO WS-NUM(1).

MOVE 20 TO WS-NUM(2).

MOVE 30 TO WS-NUM(3).

Laboratório 16 – Percorrer tabela


01 I PIC 9.


PERFORM VARYING I FROM 1 BY 1 UNTIL I >5


DISPLAY WS-NUM(I)


END-PERFORM.

Muito usado em produção.


Laboratório 17 – Strings


STRING

'NOME='

WS-NOME


DELIMITED BY SPACE


INTO WS-SAIDA.



DISPLAY WS-SAIDA.

Laboratório 18 – INSPECT

Contar letras.



INSPECT WS-TEXTO

TALLYING WS-QTD

FOR ALL 'A'.

Laboratório 19 – Inicialização


INITIALIZE REGISTRO.

Substitui:


MOVE SPACES TO REGISTRO.

MOVE ZEROS TO REGISTRO.

Laboratório 20 – Mini Projeto Final

Cadastro simples

Menu

1-Incluir

2-Consultar

3-Sair

Variáveis


01 OPCAO PIC 9.

01 NOME PIC X(30).

01 IDADE PIC 99.

Fluxo



PERFORM UNTIL OPCAO=3


DISPLAY MENU


ACCEPT OPCAO


EVALUATE OPCAO


WHEN 1

PERFORM INCLUIR


WHEN 2

PERFORM CONSULTAR


WHEN 3

DISPLAY 'ATE LOGO'


WHEN OTHER

DISPLAY 'INVALIDO'


END-EVALUATE


END-PERFORM.

📚 Erros Mais Comuns do Padawan COBOL

ErroProblema
Esquecer ponto finalCompilação falha
Não usar END-IFCódigo confuso
Índice fora do OCCURSABEND
Mover texto para PIC 9Dados inválidos
Divisão por zeroS0CB
Variável não inicializadaResultado imprevisível
Não usar GIVINGSobrescreve dados
PERFORM infinitoLoop sem fim
Nomes genéricosManutenção difícil
Misturar lógica em um único parágrafoCódigo espaguete

🎓 Checklist do Padawan COBOL

Ao concluir os 20 laboratórios, o aluno deverá saber:

✅ Criar programas COBOL
✅ Declarar variáveis
✅ Usar PIC X e PIC 9
✅ Fazer cálculos
✅ Receber dados com ACCEPT
✅ Exibir informações com DISPLAY
✅ Trabalhar com IF e EVALUATE
✅ Criar laços com PERFORM
✅ Utilizar OCCURS
✅ Manipular strings
✅ Inicializar estruturas
✅ Identificar erros comuns
✅ Desenvolver pequenos programas estruturados
✅ Aplicar boas práticas de nomenclatura e modularização

Este conjunto de laboratórios fornece uma base sólida para avançar posteriormente para arquivos sequenciais, VSAM, JCL, DB2, CICS e desenvolvimento COBOL empresarial em IBM z/OS.


Apresentação do Laboratório COBOL para Padawans

Este laboratório foi concebido para desenvolvedores iniciantes que desejam aprender COBOL de maneira prática, gradual e estruturada. O principal objetivo é fornecer uma base sólida sobre a linguagem, permitindo que o estudante compreenda sua sintaxe, suas instruções fundamentais e as boas práticas utilizadas em ambientes corporativos, especialmente no ecossistema IBM Z.

A didática adotada é baseada em pequenos desafios progressivos, nos quais cada exercício apresenta um conceito novo, seguido por uma solução comentada, observações sobre armadilhas comuns e recomendações de codificação. Essa abordagem reduz a curva de aprendizado, incentiva a experimentação e ajuda o aluno a desenvolver confiança ao escrever seus primeiros programas.

COBOL é uma linguagem predominantemente associada ao paradigma de programação estruturada e procedural. Seu modelo enfatiza a decomposição do problema em etapas sequenciais, a modularização por meio de parágrafos e seções, além do uso de estruturas de decisão e repetição claramente definidas. Essa característica torna a linguagem particularmente adequada para o processamento de regras de negócio, cálculos financeiros e sistemas transacionais de grande porte.

Realizar este laboratório permite ao estudante adquirir fundamentos essenciais antes de avançar para tópicos mais complexos, como manipulação de arquivos, JCL, VSAM, DB2, CICS e modernização de aplicações. Mais do que aprender comandos, o participante desenvolve uma mentalidade disciplinada de desenvolvimento, manutenção e qualidade de software, altamente valorizada no mercado de tecnologia corporativa.


quarta-feira, 20 de março de 2024

🎮 COBOL's Laboratory — Quando o Programador COBOL Vira o Herói de um Videogame 8 Bits

 

Bellacosa Mainframe e o game COBOL em retro 8 bits

☕ Um Café no Bellacosa Mainframe

🎮 COBOL's Laboratory — Quando o Programador COBOL Vira o Herói de um Videogame 8 Bits

Da USS Enterprise ao Nintendo Entertainment System: por que um jogo sobre COBOL é muito mais profundo do que parece

"A lógica é o início da sabedoria, não o seu fim."
— Sr. Spock

Imagine acordar em 1989.

Você liga sua televisão de tubo.

Coloca um cartucho no Nintendo Entertainment System.

Aparece a clássica tela preta.

Uma música chiptune começa a tocar.

No centro da tela surge uma enorme palavra:

COBOL

Logo abaixo...

PRESS START

Nesse instante você percebe uma coisa curiosa.

Você não vai controlar um guerreiro.

Não será um ninja.

Nem um encanador italiano.

Muito menos um cavaleiro medieval.

Você será...

Dr. COBOL.

O cientista mais brilhante de toda Bit City.

Pode parecer apenas uma brincadeira criada por fãs.

Mas existe uma homenagem muito maior escondida nessa ideia.

Ela celebra uma linguagem que, discretamente, continua movimentando bancos, bolsas de valores, seguradoras, governos, companhias aéreas e sistemas críticos em praticamente todos os continentes.

E curiosamente...

Essa homenagem foi feita utilizando um videogame dos anos 80.

Parece improvável.

Mas faz todo sentido.

Hoje vamos descobrir por quê.

Pegue sua caneca de café.

O computador de bordo da USS Enterprise já calculou nossa rota.

Vamos iniciar a missão.


Capítulo 1 — O jogo realmente existe

Sim.

Não é uma montagem.

Não é IA.

Não é um conceito.

É um jogo homebrew para o Nintendo Entertainment System (NES), desenvolvido pela Oniric Factor.

Página oficial:

🎮 https://oniric-factor.itch.io/cobol

Trilha sonora oficial:

🎵 https://soundcloud.com/kevin_81

O jogo foi desenvolvido para funcionar em:

  • Emuladores NES

  • ROM (.NES)

  • Hardware original através de flash cartridges compatíveis

Ou seja...

Em pleno século XXI alguém resolveu criar um jogo inteiro onde o protagonista é...

COBOL.

Só isso já merece respeito.


Capítulo 2 — O verdadeiro significado da história

A sinopse oficial parece simples.

O cientista Dr. Cobol precisa impedir que seu antigo discípulo...

Dr. Pascal...

Roube todas as suas invenções.

Mas existe um significado escondido.

Na computação, linguagens possuem "personalidade".

COBOL nunca foi criada para fazer gráficos.

Nem jogos.

Nem inteligência artificial.

Ela nasceu para resolver problemas extremamente importantes.

  • folha de pagamento

  • contas bancárias

  • seguros

  • aposentadorias

  • impostos

  • logística

Enquanto isso...

Pascal nasceu anos depois.

Seu objetivo era completamente diferente.

Ensinar programação.

Ensinar algoritmos.

Ensinar lógica.

Percebe a genialidade?

O jogo transforma duas filosofias da computação em personagens.


Capítulo 3 — A rivalidade que nunca existiu

O jogo apresenta:

COBOL versus Pascal.

Mas isso nunca aconteceu na vida real.

Cada linguagem dominou um universo diferente.

COBOLPascal
NegóciosEducação
EmpresasUniversidades
BancosLaboratórios
Sistemas críticosAlgoritmos
Processamento em loteEstruturas de dados

Na verdade...

Elas sempre coexistiram.

O jogo apenas transforma essa diferença em uma divertida batalha entre cientistas.


Capítulo 4 — Dr. Cobol

O protagonista não é um guerreiro.

Ele é um inventor.

Isso representa perfeitamente a linguagem.

Todo sistema COBOL é uma invenção.

Cada programa resolve um problema do mundo real.

Um programa pode calcular:

  • aposentadorias

  • imposto de renda

  • folha salarial

  • juros

  • investimentos

  • previdência

Em outras palavras...

Dr. Cobol é o engenheiro responsável por manter Bit City funcionando.


Capítulo 5 — Dr. Pascal

Pascal aparece como um cientista enlouquecido.

Essa escolha lembra imediatamente personagens famosos.

  • Dr. Wily

  • Dr. Robotnik

  • Dr. Neo Cortex

Todos eles usam ciência para destruir.

Enquanto Cobol usa ciência para construir.


Capítulo 6 — Bit City

O próprio nome da cidade possui easter eggs.

Bit.

O menor elemento da computação.

Um único bit vale:

0

ou

1

Tudo nasce daí.

Bytes.

Arquivos.

Programas.

Mainframes.

Internet.

Tudo começou com bits.


Curiosidade Bellacosa

Algumas versões da descrição oficial citam M.O.S. City, uma referência muito provável à lendária MOS Technology, fabricante do processador 6502, um dos chips mais influentes da história. O NES utiliza uma CPU derivada desse projeto (Ricoh 2A03), conectando o universo do jogo diretamente às raízes da computação doméstica.


Capítulo 7 — O verdadeiro inimigo

As criaturas mutantes.

Elas representam o quê?

Vamos pensar como um desenvolvedor.

No mundo real nossos monstros são:

👾 Bugs

👾 Dados inválidos

👾 SQLCODE negativos

👾 ABENDs

👾 Arquivos corrompidos

👾 Chaves duplicadas

👾 Deadlocks

👾 Falhas de comunicação

Os monstros do jogo são uma metáfora perfeita.


Capítulo 8 — Se fosse um jogo de Mainframe

Imagine algumas fases.

Fase 1

HELLO WORLD

Objetivo

Aprender

IDENTIFICATION DIVISION

Fase 2

WORKING-STORAGE

Monstros:

PIC inválidos

VALUE incorreto

COMP-3 defeituoso


Fase 3

VSAM Forest

Chefão

INVALID KEY


Fase 4

JCL Mountain

Chefão

S806


Fase 5

DB2 Caverns

Chefão

SQLCODE -904


Fase 6

CICS Fortress

Chefão

AEI9


Última fase

Production

O maior inimigo de todos.

ABEND.


Capítulo 9 — Os Power-ups do Programador COBOL

Todo bom jogo possui itens especiais.

No universo Bellacosa Mainframe eles seriam:

Café

Recupera energia.

Item obrigatório.


📘

Manual IBM

+30 Inteligência.


🖥

ISPF

Permite editar código.


📄

JCL

Desbloqueia novas fases.


🗂

COPYBOOK

Novos poderes.


🔐

RACF

Escudo de segurança.


💾

Load Module

Transformação definitiva.


📊

EXPLAIN PLAN

Permite prever ataques do chefão SQL.


Capítulo 10 — O paralelo com Star Trek

Aqui começa nossa viagem espacial.

Imagine a Enterprise.

Quem seria quem?

Capitão Kirk

Gerente do projeto.

Decide prioridades.


Sr. Spock

Analista de sistemas.

Pensa logicamente.

Nunca programa por impulso.


Scotty

Compilador COBOL.

Transforma código em algo executável.

Quando tudo funciona...

Ele diz:

"I'm giving her all she's got!"


Uhura

MQ Series.

Toda comunicação passa por ela.


Worf

RACF.

Nada entra sem autorização.


Data

Db2.

Memória perfeita.


Enterprise

IBM Z.

A nave mais confiável da Frota.


O Cadete

Você.

O Programador COBOL Padawan.


Capítulo 11 — Como um Padawan venceria o jogo

Missão 1

Aprender COBOL.

Missão 2

Aprender JCL.

Missão 3

Conhecer VSAM.

Missão 4

Estudar Db2.

Missão 5

Entender CICS.

Missão 6

Aprender z/OS.

Missão Final

Resolver um ABEND em produção.

Parabéns.

Você terminou o tutorial.


Curiosidades que poucos conhecem

🎮 O NES continua vivo

Mesmo décadas após seu lançamento, desenvolvedores independentes continuam criando jogos inéditos para o console. Essa cena é conhecida como homebrew e reúne programadores, artistas e músicos apaixonados por hardware clássico.


💾 O hardware impõe criatividade

O NES possui recursos extremamente limitados em comparação aos computadores atuais. Isso obriga os desenvolvedores a escrever código altamente otimizado, uma filosofia que lembra muito a programação em mainframes, onde eficiência e confiabilidade sempre foram essenciais.


🎵 Música chiptune

A trilha sonora de Cobol's Laboratory, composta por Kevin van der Burg, utiliza a estética sonora típica dos consoles 8 bits. Cada melodia precisa respeitar as limitações dos canais de áudio do NES, transformando restrições técnicas em criatividade.


🧠 O verdadeiro easter egg

COBOL foi criado em 1959.

O NES nasceu em 1983.

Mesmo separados por mais de duas décadas, ambos compartilham uma característica fundamental:

Foram projetados para serem confiáveis, simples de usar dentro de seus objetivos e capazes de atravessar gerações.


Easter Eggs Bellacosa Mainframe

🐣 Easter Egg #1

Dr. Pascal é um cientista.

Na vida real, Niklaus Wirth, criador da linguagem Pascal, também era um pesquisador e professor universitário.


🐣 Easter Egg #2

O personagem principal não luta com espadas.

Ele luta usando inteligência.

Como qualquer bom analista.


🐣 Easter Egg #3

PRESS START.

Essa talvez seja a melhor mensagem do jogo.

Todo desenvolvedor começa exatamente assim.

Sem experiência.

Sem atalhos.

Sem Continue.

Apenas...

START.


🐣 Easter Egg #4

Bit City representa o universo digital.

O IBM Z representa o coração dessa cidade.

Enquanto tudo parece silencioso...

Bilhões de transações acontecem.

Todos os dias.


🐣 Easter Egg #5 – A Diretriz Principal de Spock

Se o Sr. Spock fosse mentor de um programador COBOL, provavelmente diria:

"Um bom programa não impressiona por sua complexidade, mas por sua clareza. A lógica elegante reduz erros, facilita a manutenção e permite que outros compreendam seu raciocínio décadas depois."

Essa frase resume a essência do COBOL: escrever código para pessoas lerem, e não apenas para máquinas executarem.


Passo a passo para o Programador COBOL Padawan

  1. Domine a sintaxe básica. Entenda as divisões do COBOL e escreva pequenos programas.

  2. Aprenda JCL. Um programa precisa ser compilado e executado corretamente.

  3. Conheça arquivos VSAM e sequenciais. Eles são a base de muitos sistemas legados.

  4. Estude SQL e Db2. Grande parte das aplicações corporativas utiliza banco de dados.

  5. Entenda CICS e IMS. Eles representam o processamento online de alta disponibilidade.

  6. Aprenda a investigar ABENDs. Ler mensagens, dumps e logs faz parte da rotina.

  7. Nunca pare de aprender. Assim como um jogo libera novas fases, o universo IBM Z sempre oferece novos desafios, como APIs, DevOps, Zowe, OpenShift e Inteligência Artificial.


Conclusão — O verdadeiro significado de "PRESS START"

À primeira vista, Cobol's Laboratory parece apenas uma divertida homenagem em pixel art a uma linguagem de programação clássica. Porém, quando observamos com atenção, percebemos algo muito maior.

Ele celebra a história da computação.

Celebra a criatividade da comunidade homebrew.

Celebra os pioneiros que construíram sistemas capazes de sobreviver por décadas.

E, acima de tudo, lembra que COBOL continua sendo um dos pilares invisíveis do mundo moderno.

Assim como a USS Enterprise não impressiona apenas por sua velocidade, mas pela confiança que inspira em cada missão, o IBM Z e o COBOL permanecem cumprindo sua missão silenciosamente: manter funcionando os sistemas que sustentam a economia global.

Da próxima vez que encontrar uma tela verde, um programa COBOL ou um JCL aparentemente antigo, lembre-se da tela inicial daquele cartucho imaginário:

COBOL

PRESS START

Porque toda grande jornada na Frota Estelar — e todo grande programador COBOL — começou exatamente da mesma forma: com a coragem de apertar Start e explorar um universo onde lógica, disciplina e conhecimento são as maiores armas da missão.


Bellacosa Mainframe apresenta COBOL The Game

🎮 Links Oficiais

terça-feira, 24 de agosto de 2021

ABEND sem Mistérios — Parte VI

 

Bellacosa Mainframe em abend sem misterios parte vi

☕ Um Café no Bellacosa Mainframe

ABEND sem Mistérios — Parte VI

O Grande Laboratório de ABENDs: Como Reproduzir, Investigar e Corrigir os Principais Erros do Mainframe Passo a Passo

"O conhecimento começa quando entendemos um ABEND. A experiência começa quando conseguimos reproduzi-lo. A maestria nasce quando sabemos evitá-lo."


Introdução

Até aqui, percorremos uma longa jornada.

Aprendemos:

  • o que é um ABEND;

  • como investigá-lo;

  • como analisar dumps;

  • como funciona a arquitetura do IBM Z;

  • como os grandes bancos utilizam observabilidade e Inteligência Artificial para prevenir incidentes.

Agora chegou a hora de colocar a mão na massa.

Existe uma diferença enorme entre ler sobre um ABEND e vê-lo acontecer diante dos seus olhos.

É exatamente assim que os grandes especialistas aprendem.

Eles não estudam apenas teoria.

Eles criam laboratórios.

Provocam erros.

Quebram programas.

Analisam dumps.

Corrigem.

Repetem.

Depois de algum tempo, passam a reconhecer um S0C7 da mesma forma que um médico reconhece uma doença comum.

Esta parte apresenta uma metodologia de treinamento que pode ser utilizada tanto em ambientes educacionais quanto em laboratórios corporativos.

O objetivo não é apenas reproduzir erros, mas compreender profundamente o motivo pelo qual eles acontecem.


Por que criar ABENDs de propósito?

Parece estranho.

Durante toda a carreira tentamos evitar erros.

Então por que provocá-los?

Porque um ambiente de testes é o lugar mais seguro para aprender.

Imagine um piloto de avião.

Antes de transportar passageiros ele treina:

  • falha hidráulica;

  • pane elétrica;

  • incêndio;

  • perda de motor.

No Mainframe fazemos o mesmo.

Treinamos quando ninguém está sendo afetado.


Como montar um laboratório de ABENDs

Você não precisa de um ambiente gigantesco.

Um pequeno sistema já é suficiente.

Por exemplo:

TSO

↓

ISPF

↓

Enterprise COBOL

↓

JCL

↓

SDSF

↓

VSAM

↓

Arquivos Sequenciais

Se houver CICS e Db2, melhor ainda.

Mas não são obrigatórios.


Regra número um

Nunca provoque ABENDs em Produção.

Parece óbvio.

Mas vale repetir.

Ambientes de treinamento existem exatamente para isso.


Exercício 1 — O primeiro S0C7

Objetivo:

Compreender Data Exception.

Crie uma variável:

01 WS-VALOR PIC 9(5).

Depois carregue:

12A45

Agora execute:

ADD 1 TO WS-VALOR.

Resultado esperado:

S0C7

O que observar?

Antes de corrigir.

Analise:

  • JESMSGLG;

  • SYSOUT;

  • CEEDUMP;

  • Offset;

  • Linha COBOL.

Depois responda:

Por que aconteceu?


Correção

Validação.

IF WS-VALOR NUMERIC
    ADD 1 TO WS-VALOR
ELSE
    DISPLAY 'DADO INVALIDO'
END-IF

Observe que o objetivo nunca foi "tirar o S0C7".

Foi impedir que dados inválidos chegassem ao cálculo.


Exercício 2 — O clássico S0C4

Monte uma tabela.

OCCURS 10 TIMES

Agora faça:

Índice = 25

Resultado.

Muito provavelmente.

S0C4

Investigação

Perguntas importantes.

O índice foi validado?

Quem alterou seu valor?

Existe PERFORM VARYING correto?

Existe INITIALIZE?


Exercício 3 — S013

Altere propositalmente:

  • LRECL

  • RECFM

Ou utilize um DDNAME incorreto.

Resultado.

IEC141I

S013

Agora investigue:

O problema está no COBOL?

Ou no JCL?

Essa diferença é fundamental.


Exercício 4 — S806

Compile normalmente.

Depois altere a STEPLIB.

Ou remova o Load Module.

Resultado.

S806

Aprendizado.

Nem todo ABEND vem do programa.


Exercício 5 — SB37

Crie um arquivo pequeno.

Depois grave milhares de registros.

O dataset ficará sem espaço.

Agora observe:

  • mensagens IEC;

  • SMS;

  • SYSOUT.


Exercício 6 — S322

Crie um loop infinito.

Exemplo.

PERFORM A
UNTIL 1 = 2

Configure TIME no JOB.

Resultado.

S322

Agora analise:

Quanto tempo demorou?

Como o sistema detectou?


Exercício 7 — FILE STATUS

Este talvez seja o exercício mais importante.

Leia um arquivo inexistente.

Sem verificar:

FILE STATUS

Depois repita verificando.

Perceba como muitos ABENDs desaparecem quando tratamos corretamente o retorno das operações.


Exercício 8 — SQLCODE

Mesmo sem gerar ABEND.

Faça:

SELECT

UPDATE

DELETE

ignorando SQLCODE.

Depois implemente tratamento.

É assim que sistemas robustos são construídos.


Exercício 9 — RESP no CICS

Execute comandos CICS.

Ignore RESP.

Depois implemente.

Você perceberá como muitos problemas são detectados antes de se transformarem em ASRA.


Exercício 10 — CEEDUMP

Escolha qualquer ABEND.

Agora tente responder apenas utilizando o CEEDUMP.

Onde ocorreu?

Qual variável estava errada?

Qual programa chamou aquele módulo?

Qual era o conteúdo da memória?

Esse exercício desenvolve enorme capacidade de investigação.


O Diário de ABENDs

Uma prática comum entre especialistas é manter um diário técnico.

Por exemplo.

DataABENDCausaSoluçãoComo evitar
10/07S0C7Campo inválidoValidaçãoIF NUMERIC
11/07S013LRECL erradoCorrigir JCLRevisão

Depois de alguns anos,

esse documento torna-se uma verdadeira biblioteca de conhecimento.


Aprendendo a formular hipóteses

Quando um incidente acontece,

não saia alterando o programa.

Primeiro formule hipóteses.

Por exemplo.

Hipótese 1

O arquivo veio corrompido.

Hipótese 2

O índice saiu do OCCURS.

Hipótese 3

O parâmetro foi passado incorretamente.

Depois procure evidências.

Esse é exatamente o método científico.


A regra de ouro da depuração

Nunca altere duas coisas ao mesmo tempo.

Imagine:

Você modifica:

  • JCL;

  • COBOL;

  • Copybook;

  • Parâmetros.

Depois funciona.

Qual alteração resolveu?

Você nunca saberá.

Faça mudanças pequenas.

Teste.

Observe.

Repita.


Simule incidentes completos

Depois de dominar os exercícios individuais,

crie cenários.

Exemplo.

O arquivo chega com layout errado.

Programa gera S0C7.

Batch seguinte não executa.

Relatório não é produzido.

Usuário abre chamado.

Agora reproduza toda a cadeia.

Essa abordagem aproxima o treinamento da realidade.


Automatizando laboratórios

Grandes empresas possuem ambientes capazes de:

  • executar centenas de testes;

  • gerar dumps automaticamente;

  • validar RC;

  • comparar resultados;

  • produzir relatórios.

Hoje isso pode ser integrado com:

  • Git;

  • Jenkins;

  • GitHub Actions;

  • IBM Dependency Based Build;

  • UrbanCode Deploy;

  • Ansible;

  • Zowe CLI.

Quanto mais automatizado o laboratório, mais rapidamente regressões são detectadas.


Como um mentor ensina ABENDs

Observe a diferença.

Professor comum:

"Esse é um S0C7."

Mentor experiente:

"Vamos provocar um S0C7, analisar o dump, descobrir a causa, corrigir o código e escrever um teste para garantir que ele nunca volte."

A segunda abordagem produz conhecimento duradouro.


O desafio dos grandes bancos

Os melhores programas não são aqueles que nunca falham.

São aqueles que:

  • detectam problemas rapidamente;

  • registram informações úteis;

  • facilitam o diagnóstico;

  • recuperam-se quando possível;

  • protegem os dados.

É exatamente esse pensamento que diferencia aplicações críticas.


Monte seu próprio catálogo

Ao longo da carreira, registre:

  • mensagens IEC;

  • mensagens IEF;

  • mensagens DFH;

  • SQLCODEs frequentes;

  • FILE STATUS;

  • RESP/RESP2;

  • ABENDs;

  • soluções.

Com o tempo você construirá um material que nenhum curso consegue fornecer.


Um roteiro de treinamento de 30 dias

Semana 1

  • S0C7

  • S0C4

  • S013

Semana 2

  • S806

  • SB37

  • S322

Semana 3

  • CEEDUMP

  • SYSMDUMP

  • JESMSGLG

  • JESYSMSG

Semana 4

  • IPCS

  • Fault Analyzer

  • Abend-AID

  • Root Cause Analysis

Ao final do mês, um Padawan terá experimentado dezenas de cenários que muitos profissionais só encontram após anos de trabalho.


Os cinco hábitos dos especialistas

  1. Nunca ignoram uma mensagem do sistema.

  2. Reproduzem o erro antes de corrigi-lo.

  3. Documentam tudo o que aprendem.

  4. Automatizam testes sempre que possível.

  5. Transformam cada incidente em conhecimento compartilhado.


Conclusão

Um ABEND não é um inimigo. Ele é um professor extremamente exigente.

Cada S0C7 ensina a validar dados. Cada S0C4 reforça a importância da memória e dos limites das tabelas. Cada S013 lembra que uma aplicação depende tanto do JCL quanto do código COBOL. Cada S806 mostra que uma compilação bem-sucedida não garante uma execução correta.

Os profissionais mais respeitados do mundo Mainframe não nasceram sabendo interpretar dumps ou localizar offsets em poucos minutos. Eles desenvolveram essa habilidade por meio de prática deliberada, repetindo investigações, registrando descobertas e aprendendo com cada incidente.

É exatamente por isso que um laboratório de ABENDs vale tanto. Nele, o erro deixa de representar um risco para o negócio e passa a ser uma ferramenta de aprendizado. E quando um Programador Padawan aprende a provocar, investigar, corrigir e prevenir os principais ABENDs em um ambiente controlado, ele chega muito mais preparado para enfrentar os desafios da produção.

No IBM Z, experiência não significa apenas tempo de carreira. Significa quantidade de problemas compreendidos, causas identificadas e conhecimento compartilhado. É assim que se forma um verdadeiro especialista em Mainframe.


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...