✨ Bem-vindo ao meu espaço! ✨
Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens.
Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê.
Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão.
Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
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.
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.
The Wild Wild COBOL — Quando James West Embarcou no Trem do z/OS, Artemus Gordon Vestiu um COMP-3 e o Dr. Loveless Tentou Sabotar a PROCEDURE DIVISION
Ou: o jovem padawan COBOL descobriu que as quatro divisões não são quatro fases de execução, um arquivo não é apenas um arquivo, WORKING-STORAGE não é um depósito de velharias — e nenhum agente secreto deveria atualizar o saldo antes de verificar o FILE STATUS
Prólogo — O trem que entrou no datacenter
Ano de 1965.
Enquanto o mundo assistia à Guerra Fria, à corrida espacial e à multiplicação de computadores empresariais, a televisão americana colocava nos trilhos uma série estranhíssima.
The Wild Wild West misturava faroeste, espionagem, ficção científica, invenções impossíveis, vilões megalomaníacos e agentes secretos que viajavam a bordo de um trem equipado como uma agência móvel de inteligência.
James West, interpretado por Robert Conrad, era o homem da ação. Artemus Gordon, vivido por Ross Martin, era inventor, estrategista e mestre dos disfarces. Ambos protegiam o presidente Ulysses S. Grant contra planos que normalmente começavam com uma pequena engrenagem e terminavam com alguma máquina destinada a dominar o país.
A série estreou em 17 de setembro de 1965 e durou quatro temporadas, com 104 episódios. A ideia era mais ou menos colocar “James Bond a cavalo”, acrescentar um laboratório dentro de um trem e soltar o Dr. Miguelito Loveless no ambiente de produção. The Wild Wild West — série de 1965
Agora imagine que James West receba uma nova missão:
“Agente West, alguém está alterando operações bancárias dentro do mainframe. O suspeito deixou quatro palavras na cena do crime: IDENTIFICATION, ENVIRONMENT, DATA e PROCEDURE.”
West verifica o revólver.
Artemus ajusta os óculos.
No fundo, começa a trilha de Richard Markowitz, misturando jazz, aventura e música de faroeste.
O trem parte para o datacenter.
1. Afinal, como “pensa” um programa COBOL?
Dizer que um programa “pensa” é uma metáfora.
O programa não possui consciência, intenção ou compreensão do negócio. Ele não olha para um campo chamado SALDO-CLIENTE e sente preocupação com o correntista.
O que ele faz é:
receber ou acessar dados;
interpretá-los conforme suas definições;
executar instruções;
verificar condições;
alterar estados;
produzir resultados;
informar sucesso ou erro ao ambiente.
Por isso, uma definição mais precisa seria:
Um programa COBOL processa informações segundo contratos de dados e regras procedurais previamente definidas.
Sua famosa organização em quatro divisões responde a quatro perguntas:
Divisão
Pergunta
IDENTIFICATION DIVISION
Quem sou?
ENVIRONMENT DIVISION
Com quais recursos externos trabalharei?
DATA DIVISION
Como minhas informações estão organizadas?
PROCEDURE DIVISION
O que devo fazer?
A IBM continua documentando essa estrutura no Enterprise COBOL moderno. As quatro divisões organizam o programa-fonte, embora nem todas precisem conter a mesma quantidade de elementos em todos os programas. IBM — COBOL program structure
Mas aqui encontramos a primeira armadilha do Dr. Loveless:
As quatro divisões não são quatro etapas executadas uma depois da outra.
O computador não executa a IDENTIFICATION DIVISION, entra na ENVIRONMENT DIVISION, passeia pela DATA DIVISION e finalmente chega à PROCEDURE DIVISION.
As três primeiras são essencialmente declarativas. Elas fornecem informações para que o compilador compreenda o programa.
A execução das instruções acontece na PROCEDURE DIVISION.
As quatro divisões são os compartimentos do trem. A PROCEDURE DIVISION é a locomotiva.
2. IDENTIFICATION DIVISION: os documentos do agente
Esses parágrafos documentais foram mais importantes em uma época anterior a Git, Endevor, Changeman, ISPW e outros sistemas de controle de versão e gerenciamento do ciclo de vida.
Hoje, manter um histórico completo de alterações dentro do fonte costuma provocar blocos enormes de comentários:
* ALTERADO POR FULANO EM 1987
* ALTERADO POR SICRANO EM 1994
* ALTERADO NOVAMENTE EM 2001
* NINGUÉM SABE QUEM ALTEROU EM 2007
Esse tipo de comentário pode ser útil, mas não substitui um repositório confiável.
O que a divisão não faz
Ela não é executada como uma rotina.
O programa não começa dizendo:
Olá, sistema operacional.
Meu nome é PROCESSA-OPERACOES.
Fui escrito por Vagner.
Sua função principal é identificar o programa para o compilador e para o ecossistema de desenvolvimento.
Dica do agente West
Ao analisar um fonte desconhecido, procure primeiro:
PROGRAM-ID.
Depois procure:
comentários iniciais;
descrição funcional;
nomes de copybooks;
PROCEDURE DIVISION USING;
programas chamados;
comandos CICS ou SQL.
O PROGRAM-ID mostra o nome. As interfaces mostram quem o programa realmente é.
Easter egg número 1
O programa de exemplo poderia se chamar:
PROGRAM-ID. NIGHT-OF-THE-COMP3.
Os episódios de The Wild Wild West frequentemente começavam com “The Night of...”. Portanto, “The Night of the Packed Decimal” seria um episódio perfeitamente plausível no datacenter Bellacosa.
3. ENVIRONMENT DIVISION: o trem e os trilhos
James West e Artemus Gordon viajavam em seu próprio trem, o Wanderer, equipado com aposentos, armas, dispositivos e laboratório.
O trem era a plataforma operacional dos agentes.
No COBOL, a ENVIRONMENT DIVISION ajuda a descrever como o programa se relaciona com seu ambiente e, particularmente, com os arquivos utilizados.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ARQUIVO-ENTRADA
ASSIGN TO TRANSIN
ORGANIZATION IS SEQUENTIAL
FILE STATUS IS WS-STATUS-ENTRADA.
SELECT ARQUIVO-SAIDA
ASSIGN TO TRANSOUT
ORGANIZATION IS SEQUENTIAL
FILE STATUS IS WS-STATUS-SAIDA.
Aqui existem diferentes níveis de nome:
ARQUIVO-ENTRADA: nome lógico conhecido pelo programa;
TRANSIN: ligação externa;
dataset: recurso físico fornecido durante a execução.
Em linguagens modernas, talvez alguém chamasse isso de configuração externa, abstração de recursos ou injeção de dependência.
No mainframe, o jovem padawan encontra o conceito dentro de um JCL escrito quando “cloud-native” ainda poderia significar um índio olhando para as nuvens antes de uma tempestade.
O contrato entre três partes
Participante
Responsabilidade
COBOL
Declara o nome lógico e a forma de acesso
JCL ou subsistema
Associa o nome lógico ao recurso
Sistema operacional
Executa e controla o I/O
Curiosidade
A ENVIRONMENT DIVISION não descreve tudo sobre o ambiente de produção.
Ela não contém necessariamente:
capacidade da LPAR;
política do WLM;
regras RACF;
configuração do sysplex;
parâmetros do CICS;
velocidade dos discos;
prioridade do job;
quantidade de memória disponível.
Por isso, dizer que ela “descreve onde o programa será executado” é didaticamente aceitável, mas amplo demais.
Ela descreve aspectos do ambiente relevantes ao COBOL, especialmente a relação com arquivos e dispositivos lógicos.
4. DATA DIVISION: o laboratório de Artemus Gordon
Artemus Gordon era o inventor e mestre dos disfarces.
Ele podia entrar num episódio como vendedor, cientista, militar, médico ou personagem improvável. O homem mudava a aparência, mas continuava sendo Artemus.
A DATA DIVISION possui algo dessa natureza: ela informa como sequências de bytes devem ser interpretadas.
Os mesmos bytes podem representar:
caracteres;
números;
datas;
valores monetários;
chaves;
indicadores;
registros;
tabelas;
áreas recebidas de outros programas.
A DATA DIVISION não é apenas um depósito de variáveis. É o laboratório onde bytes recebem forma e significado.
Ela pode conter seções como:
FILE SECTION;
WORKING-STORAGE SECTION;
LOCAL-STORAGE SECTION;
LINKAGE SECTION.
Cada uma responde a uma necessidade diferente.
4.1 FILE SECTION: a planta dos vagões
A ENVIRONMENT DIVISION informa como localizar o trem.
A FILE SECTION informa como cada vagão está organizado.
A LINKAGE SECTION descreve dados disponibilizados por outro componente.
PROCEDURE DIVISION USING LK-OPERACAO.
O programa chamado conhece o layout, mas normalmente não é o proprietário original da área.
Outro programa poderia executar:
CALL 'VALOPER'
USING WS-OPERACAO
O programa VALOPER receberia a área por meio da LINKAGE SECTION.
A metáfora correta
James West recebe uma mensagem cifrada do presidente Grant.
Ele não criou o papel.
Não é dono da pasta.
Mas precisa conhecer a estrutura da mensagem para interpretá-la.
A LINKAGE SECTION descreve essa mensagem.
Perigo de produção
Chamador e chamado precisam concordar sobre:
tamanho da área;
ordem dos campos;
representação;
sinal;
quantidade de casas decimais;
forma de passagem;
campos de retorno.
Se um programa define:
05 VALOR PIC S9(7)V99 COMP-3.
e outro acredita receber:
05 VALOR PIC X(20).
Artemus Gordon pode usar todos os disfarces disponíveis: o contrato continua incompatível.
5. PICTURE: o código secreto dos dados
Considere:
05 WS-VALOR PIC S9(7)V99 COMP-3.
Esse campo diz muito mais do que “sou um número”.
S: possui sinal;
9(7): comporta sete dígitos inteiros;
V: possui ponto decimal implícito;
99: possui duas casas decimais;
COMP-3: usa representação decimal compactada.
O V não ocupa um byte físico. Ele informa a posição lógica do separador decimal.
Se o campo contiver os dígitos equivalentes a:
000012345
o COBOL poderá tratá-los como:
1.234,45
conforme o PICTURE.
Por que isso importa aos bancos?
Valores financeiros precisam de precisão decimal previsível.
Usar ponto flutuante binário indiscriminadamente pode introduzir aproximações inconvenientes para dinheiro. COBOL oferece representações de ponto fixo, e itens COMP-3 são tratados como decimais compactados para operações aritméticas. IBM — Numeric data formats
COMP-3 não é o cofre do presidente Grant
Ele não impede automaticamente:
estouro;
truncamento;
arredondamento indevido;
dado inválido;
erro de sinal;
campo insuficiente;
regra financeira incorreta.
Por exemplo:
01 WS-PEQUENO PIC 9(3).
O campo só comporta três dígitos. Tentar colocar um valor maior exige compreender o comportamento da operação e as opções de compilação.
Dica Bellacosa
Para dinheiro, não pergunte apenas:
“Quantos bytes esse campo ocupa?”
Pergunte também:
qual é a moeda?
quantas casas decimais?
pode ser negativo?
qual é o maior valor permitido?
qual regra de arredondamento?
zero é válido?
espaços são possíveis na entrada?
dados negativos representam débito ou estorno?
O tipo físico é apenas metade do contrato. A semântica empresarial é a outra.
1000-INICIALIZAR.
OPEN INPUT ARQUIVO-ENTRADA
OUTPUT ARQUIVO-SAIDA
IF WS-STATUS-ENTRADA NOT = '00'
DISPLAY 'ERRO NA ABERTURA: '
WS-STATUS-ENTRADA
MOVE 12 TO RETURN-CODE
GOBACK
END-IF
PERFORM 1100-LER-ENTRADA.
O iniciante pode acreditar que o COBOL começa executando o primeiro parágrafo visualmente encontrado em qualquer ponto do fonte.
A execução começa na primeira instrução executável da PROCEDURE DIVISION, salvo particularidades e pontos de entrada definidos.
Organizar um parágrafo não é chamá-lo.
Este parágrafo:
EXPLODIR-TREM.
DISPLAY 'BOOM'.
não será executado apenas porque existe. Ele precisa ser alcançado pelo fluxo, por exemplo:
PERFORM EXPLODIR-TREM
Igor agradece a informação.
9. O ciclo clássico: ler, testar, processar, ler novamente
Um programa sequencial costuma seguir este modelo:
PERFORM LER-ENTRADA
PERFORM UNTIL FIM-DO-ARQUIVO
PERFORM PROCESSAR-REGISTRO
PERFORM LER-ENTRADA
END-PERFORM
A primeira leitura ocorre antes do laço.
Isso garante que o programa só processe quando houver um registro disponível.
LER-ENTRADA.
READ ARQUIVO-ENTRADA
AT END
SET FIM-DO-ARQUIVO TO TRUE
NOT AT END
ADD 1 TO WS-REGISTROS-LIDOS
END-READ.
O fim do arquivo não é necessariamente erro ou ABEND.
É uma condição esperada.
O programa lê até que o arquivo informe:
“Agente West, não existem mais passageiros.”
Então finaliza o processamento.
flowchart TD
A["Abrir arquivos"] --> B["Ler registro"]
B --> C{"Fim do arquivo?"}
C -- Não --> D["Validar e processar"]
D --> E["Gravar resultado"]
E --> B
C -- Sim --> F["Fechar e emitir totais"]
A armadilha do último registro
Se o programa processar antes da primeira leitura, trabalhará com uma área ainda não preenchida corretamente.
Se esquecer a leitura ao final do laço, processará o mesmo registro para sempre.
O resultado pode ser um laço infinito, alto consumo de CPU ou um job aparentemente decidido a atravessar o continente sem parar em nenhuma estação.
10. O verdadeiro pensamento: estados e condições
Um programa COBOL não trabalha somente com linhas. Ele trabalha com estados:
arquivo fechado;
arquivo aberto;
registro disponível;
fim do arquivo;
operação válida;
operação rejeitada;
atualização pendente;
commit realizado;
rollback solicitado.
Considere:
EVALUATE TRUE
WHEN IN-CONTA = ZERO
PERFORM REJEITAR-CONTA
WHEN IN-VALOR <= ZERO
PERFORM REJEITAR-VALOR
WHEN IN-VALOR > WS-LIMITE
PERFORM ANALISAR-LIMITE
WHEN OTHER
PERFORM APROVAR-OPERACAO
END-EVALUATE
O EVALUATE TRUE permite expressar uma cadeia organizada de condições.
Também podemos avaliar um campo diretamente:
EVALUATE IN-TIPO-OPERACAO
WHEN 'C'
PERFORM PROCESSAR-CREDITO
WHEN 'D'
PERFORM PROCESSAR-DEBITO
WHEN 'E'
PERFORM PROCESSAR-ESTORNO
WHEN OTHER
PERFORM REJEITAR-TIPO
END-EVALUATE
O WHEN OTHER é a porta dos fundos.
Se ele não existir, uma entrada inesperada pode passar sem o tratamento necessário.
A pergunta de produção
Ao depurar, não pergunte somente:
“Qual foi a última linha executada?”
Pergunte:
“Em que estado o programa acreditava estar?”
Um incidente frequentemente ocorre porque o estado real e o estado imaginado pelo programa divergiram.
11. FILE STATUS: a mensagem escondida no bolso do vilão
Ao declarar:
FILE STATUS IS WS-STATUS-ENTRADA
o programa recebe informações sobre o resultado das operações de arquivo.
Depois de OPEN, READ, WRITE, REWRITE ou CLOSE, deve avaliar o código quando necessário.
READ ARQUIVO-ENTRADA
EVALUATE WS-STATUS-ENTRADA
WHEN '00'
CONTINUE
WHEN '10'
SET FIM-DO-ARQUIVO TO TRUE
WHEN OTHER
DISPLAY 'ERRO DE LEITURA: '
WS-STATUS-ENTRADA
MOVE 12 TO RETURN-CODE
END-EVALUATE
Os significados exatos dependem da organização e da operação, devendo ser consultados na documentação aplicável.
Não faça isso no saloon
READ ARQUIVO-ENTRADA
PERFORM PROCESSAR-REGISTRO
Sem verificar o resultado, o programa pode processar uma área não atualizada ou tratar um erro como se fosse sucesso.
James West nunca entraria num quarto escuro sem verificar a janela.
Igor entra, atualiza o VSAM e pergunta depois.
12. O programa bancário completo
Considere uma operação contendo:
tipo;
conta;
valor;
data;
identificador único.
O fluxo poderia ser:
validar o tamanho e o formato;
validar o tipo;
verificar duplicidade;
localizar a conta;
verificar o estado da conta;
conferir saldo ou limite;
calcular o novo saldo;
atualizar a conta;
registrar auditoria;
confirmar a unidade de trabalho;
gerar a resposta.
Uma versão didática:
PROCESSAR-OPERACAO.
SET OPERACAO-VALIDA TO TRUE
PERFORM VALIDAR-TIPO
PERFORM VALIDAR-CONTA
PERFORM VALIDAR-VALOR
IF OPERACAO-VALIDA
EVALUATE IN-TIPO-OPERACAO
WHEN 'C'
ADD IN-VALOR TO WS-SALDO
MOVE '00' TO OUT-CODIGO
WHEN 'D'
IF WS-SALDO >= IN-VALOR
SUBTRACT IN-VALOR
FROM WS-SALDO
MOVE '00' TO OUT-CODIGO
ELSE
MOVE '51' TO OUT-CODIGO
END-IF
WHEN OTHER
MOVE '12' TO OUT-CODIGO
END-EVALUATE
END-IF.
Mas este código ainda não representa um sistema financeiro completo.
Faltam assuntos como:
autorização;
concorrência;
bloqueio;
persistência;
duplicidade;
idempotência;
segurança;
auditoria;
commit;
rollback;
reconciliação;
recuperação após falha.
Idempotência: a mesma diligência não pode ser assaltada duas vezes
Se a mesma operação chegar novamente por causa de retry, o sistema precisa saber se deve repeti-la.
Um identificador único pode ajudar a reconhecer que ela já foi processada.
Sem isso, um retry de comunicação pode transformar um débito de R$100 em dois débitos de R$100.
O primeiro processamento foi correto.
O segundo também seguiu corretamente as instruções.
O resultado empresarial, porém, está errado.
13. COMMIT e ROLLBACK: quem fica com o dinheiro?
Em processamento transacional, alterar uma conta e registrar a operação precisam formar uma unidade coerente.
Imagine:
debitar a conta;
gravar o histórico;
atualizar a auditoria;
confirmar.
Se o sistema falhar entre os passos 1 e 2, o saldo poderia mudar sem existir histórico correspondente.
O controle transacional procura impedir esse tipo de estado parcial.
COMMIT: confirma as alterações;
ROLLBACK: desfaz alterações da unidade de trabalho ainda não confirmadas.
O Dr. Loveless do retry
O retry não é um mecanismo automaticamente bondoso.
Se uma operação falha antes da confirmação, talvez seja seguro repeti-la.
Se o cliente apenas não recebeu a resposta, mas a operação já foi confirmada, repeti-la pode duplicar o efeito.
Por isso, sistemas críticos precisam distinguir:
a solicitação não chegou;
chegou, mas falhou;
foi processada e sofreu rollback;
foi confirmada;
foi confirmada, mas a resposta se perdeu.
O agente competente não pergunta apenas “deu erro?”.
Ele pergunta:
“Em qual lado do COMMIT estávamos quando o trem explodiu?”
14. Em CICS, James West não percorre o arquivo inteiro
Num programa batch, o fluxo frequentemente percorre muitos registros.
Em CICS, uma transação normalmente recebe uma solicitação, executa uma unidade curta de processamento e responde.
EVALUATE WS-RESP
WHEN DFHRESP(NORMAL)
PERFORM PROCESSAR-CONTA
WHEN DFHRESP(NOTFND)
PERFORM TRATAR-CONTA-INEXISTENTE
WHEN OTHER
PERFORM TRATAR-ERRO-CICS
END-EVALUATE
Aqui, o código COBOL trabalha sob o controle de um gerenciador transacional.
O CICS participa de:
despacho da transação;
acesso a recursos;
controle de unidade de trabalho;
comunicação;
recuperação;
gerenciamento operacional.
COBOL não está sozinho no trem. O CICS é o chefe da ferrovia.
15. Com Db2, entra o especialista relacional
EXEC SQL
SELECT SALDO,
STATUS_CONTA
INTO :WS-SALDO,
:WS-STATUS-CONTA
FROM CONTAS
WHERE NUMERO_CONTA = :WS-CONTA
END-EXEC
Depois:
EVALUATE SQLCODE
WHEN ZERO
PERFORM PROCESSAR-CONTA
WHEN +100
PERFORM TRATAR-NAO-ENCONTRADA
WHEN OTHER
PERFORM TRATAR-ERRO-DB2
END-EVALUATE
COBOL cuida do fluxo procedural e das regras.
Db2 cuida do acesso relacional, dos dados, índices, planos e mecanismos internos.
O programa não precisa saber em qual página física está a linha. Precisa saber:
o que solicitou;
quais host variables receberão os valores;
qual foi o SQLCODE;
qual ação tomar.
Dica do Artemus
Nunca trate todo SQLCODE diferente de zero como a mesma coisa.
“Não encontrado”, “aviso”, “deadlock”, “timeout” e “erro estrutural” não significam a mesma situação operacional.
Um agente secreto que chama todos os desconhecidos de “Dr. Loveless” terminará prendendo o condutor do próprio trem.
16. O programa que escrevemos não é exatamente o programa executado
Antes da execução existe uma cadeia:
expansão de copybooks;
processamento de diretivas;
tratamento de SQL, CICS ou outras extensões;
compilação;
geração do objeto;
link-edit ou bind;
criação do módulo de carga;
carregamento;
execução.
Quando escrevemos:
COPY CPYCONTA.
o copybook é incorporado durante a preparação do fonte.
Quando escrevemos:
ADD WS-VALOR TO WS-TOTAL
a CPU não executa a palavra inglesa ADD. O compilador gera instruções adequadas à arquitetura e às representações envolvidas.
COBOL descreve a intenção; o compilador produz a mecânica.
Compiladores modernos também podem otimizar o código para explorar recursos atuais do IBM Z. Portanto, um fonte com aparência antiga não significa necessariamente execução com técnicas de 1965.
O trem pode ser clássico. A locomotiva não precisa ser a vapor.
Em estruturas maiores, podem existir índices, pesquisas sequenciais e SEARCH ALL.
O iniciante deve entender que uma tabela COBOL não é um banco de dados. É uma estrutura repetida dentro de uma área de dados.
18. COBOL não é confiável por encantamento
A linguagem favorece descrições explícitas e processamento empresarial. Seu ecossistema amadureceu durante décadas. Porém, nenhum programa se torna confiável apenas por terminar suas frases com ponto.
COBOL também pode sofrer:
S0C7 por dado decimal inválido;
S0C4 por referência indevida à memória;
S0CB por divisão por zero;
falhas de arquivo;
erros Db2;
deadlocks;
timeouts;
truncamentos;
perda de precisão;
loops;
commits incorretos;
regras de negócio erradas.
O compilador pode aceitar perfeitamente:
ADD TAXA TO SALDO
Mesmo que a regra correta fosse:
SUBTRACT TAXA FROM SALDO
Sintaticamente correto.
Financeiramente desastroso.
Clareza também não vem automaticamente
Compare:
IF X = 'S'
PERFORM 9000
END-IF
com:
IF CLIENTE-ELEGIVEL
PERFORM CALCULAR-LIMITE
END-IF
O segundo código apresenta intenção.
Use nomes que revelem o negócio:
VALIDAR-LIMITE-DA-CONTA;
CALCULAR-JUROS;
GRAVAR-OPERACAO-REJEITADA;
TRATAR-CONTA-ENCERRADA.
Evite transformar a PROCEDURE DIVISION num mapa desenhado pelo Dr. Loveless depois de três garrafas de bourbon.
19. Passo a passo para ler um programa desconhecido
Passo 1 — Descubra a missão
Leia:
PROGRAM-ID;
comentários funcionais;
nome do membro;
JCL que executa o programa;
documentação relacionada.
Pergunte: qual problema empresarial ele resolve?
Passo 2 — Mapeie entradas e saídas
Procure:
SELECT;
FD;
READ;
WRITE;
REWRITE;
LINKAGE SECTION;
PROCEDURE DIVISION USING;
EXEC SQL;
EXEC CICS;
comandos MQ;
CALL.
Desenhe as fronteiras antes de estudar todos os detalhes.
Passo 3 — Ache o fluxo principal
Procure nomes como:
MAIN;
PRINCIPAL;
INICIO;
INITIALIZE;
PROCESS;
TERMINATE;
FINALIZAR.
Anote os principais PERFORM.
Passo 4 — Encontre as condições de controle
Procure:
níveis 88;
flags;
FILE STATUS;
SQLCODE;
RESP;
RETURN-CODE;
indicadores de fim.
Esses elementos mostram como o programa toma decisões.
Passo 5 — Localize as alterações permanentes
Onde ele:
grava arquivo?
atualiza Db2?
reescreve VSAM?
envia mensagem?
confirma a transação?
realiza rollback?
Esses são os pontos de maior risco.
Passo 6 — Siga o caminho infeliz
Não leia somente o cenário de sucesso.
Pergunte:
e se a conta não existir?
e se o arquivo não abrir?
e se o dado não for numérico?
e se houver deadlock?
e se a operação chegar duas vezes?
e se a resposta se perder depois do commit?
Passo 7 — Confirme o contrato físico
Confira:
tamanho dos campos;
PIC;
USAGE;
sinal;
casas decimais;
alinhamento;
copybooks;
encoding;
definição no sistema externo.
Passo 8 — Só então aprofunde cada parágrafo
Depois de compreender o mapa, siga as rotinas em detalhe.
Ler um programa grande da linha 1 até a linha 20.000 sem criar um mapa é como procurar o Dr. Loveless revistando cada parafuso do trem.
20. Curiosidades escondidas no vagão de bagagens
Curiosidade 1 — A série e o COBOL pertencem à mesma era cultural
COBOL surgiu no final dos anos 1950 e se consolidou nos anos 1960. The Wild Wild West estreou em 1965.
Os dois refletem, de maneiras diferentes, uma era fascinada por organizações, máquinas, automação, espionagem e tecnologia.
Curiosidade 2 — O tema musical também é híbrido
A música de Richard Markowitz combinava elementos de jazz e do faroeste. A série precisava soar simultaneamente clássica e moderna.
COBOL também é uma combinação curiosa:
palavras quase naturais;
layouts rígidos;
representação binária e decimal;
regras comerciais;
execução em hardware extremamente sofisticado.
Curiosidade 3 — Artemus Gordon usou dezenas de disfarces
Ross Martin transformou o personagem num mestre de caracterização. Em COBOL, REDEFINES permite que uma mesma área seja interpretada de maneiras diferentes.
Não significa que REDEFINES foi inspirado por Artemus. Mas o Easter egg é bom demais para ser desperdiçado.
Curiosidade 4 — O primeiro ano foi em preto e branco
A primeira temporada da série foi filmada em preto e branco; as seguintes passaram para cores.
O fonte COBOL também pode parecer monocromático numa listagem antiga, mas ferramentas modernas oferecem navegação, análise, refatoração assistida, integração com Git e depuração visual.
Curiosidade 5 — O ponto pode ser mais perigoso que o revólver
Em COBOL, o ponto encerra uma sentença e pode terminar escopos implícitos.
IF CONDICAO
PERFORM ACAO
ELSE
PERFORM OUTRA-ACAO
END-IF
Use períodos com consciência. Um ponto colocado no local errado pode alterar o fluxo de uma estrutura.
Easter egg número 2
Se encontrar isto:
88 LOVELESS-ESTA-PRESENTE VALUE 'S'.
não execute:
SET IGNORAR-FILE-STATUS TO TRUE
O vilão já entrou no programa.
21. O mapa mental definitivo
A versão simples é:
Definir dados → processar → obter resultado
A versão profissional é:
Identificar o programa
↓
Estabelecer contratos externos
↓
Descrever dados e representações
↓
Inicializar o estado
↓
Receber ou ler informações
↓
Validar estrutura e conteúdo
↓
Aplicar regras de negócio
↓
Alterar o estado de forma controlada
↓
Tratar condições e exceções
↓
Confirmar ou desfazer
↓
Gerar resultado, auditoria e código de retorno
COBOL não trabalha apenas com valores.
Trabalha com contratos e consequências.
Uma data não é somente PIC 9(8).
Precisamos saber:
está em AAAAMMDD?
zero significa ausência?
a data deve existir no calendário?
aceita data futura?
qual fuso horário está envolvido?
Um valor não é somente PIC S9(11)V99 COMP-3.
Precisamos saber:
qual moeda?
qual limite?
pode ser negativo?
como arredondar?
débito e crédito usam o mesmo sinal?
um estorno deve inverter ou criar nova operação?
O layout diz como ler os bytes.
A regra de negócio diz o que esses bytes significam.
Epílogo — A noite em que o mainframe não improvisou
James West encontrou o Dr. Loveless no último vagão.
Diante dele havia uma máquina gigantesca, engrenagens, luzes e um cartão perfurado com uma única instrução:
MOVE WS-SALDO-DO-BANCO
TO WS-CONTA-DO-LOVELESS.
— Um plano brilhante — disse Loveless. — Em poucos minutos, todo o dinheiro estará em minha conta!
Artemus Gordon examinou o programa.
— Receio que exista um problema, doutor.
— Impossível!
— O senhor não declarou corretamente o campo receptor. Também ignorou o FILE STATUS, não verificou o SQLCODE, não criou controle de duplicidade e tentou atualizar o saldo fora de uma unidade de trabalho.
James West sorriu:
— Além disso, o job terminou com COND CODE 0012.
A trilha de Richard Markowitz acelerou.
Loveless puxou uma alavanca.
O trem começou a tremer.
Igor, escondido atrás da WORKING-STORAGE, gritou:
— Eu avisei que PIC 9(3) não comportava um milhão!
O jovem padawan finalmente compreendeu.
As quatro divisões não representavam quatro pensamentos executados sequencialmente. Eram quatro maneiras de organizar o conhecimento necessário para construir o programa:
identidade;
ambiente;
dados;
procedimento.
Mas o verdadeiro “pensamento” do COBOL acontecia na interação entre:
registros;
estados;
condições;
regras;
operações;
códigos de retorno;
commits;
rollbacks.
COBOL não adivinha.
Não improvisa.
Não olha para 000001250 e conclui que provavelmente significa R$12,50.
Alguém precisa declarar a escala, o sinal, a representação e a regra.
É justamente essa disciplina que continua ensinando algo valioso depois de mais de seis décadas:
Em sistemas críticos, clareza não é enfeite colocado depois que o programa funciona. Clareza faz parte do mecanismo que impede o trem de descarrilar.
James West cuidava da ação.
Artemus Gordon compreendia os disfarces.
O JCL preparava os trilhos.
O z/OS controlava a ferrovia.
E o jovem programador COBOL, agora um pouco menos padawan, finalmente aprendeu a regra fundamental do Oeste Selvagem Digital:
Antes de sacar o WRITE, verifique o FILE STATUS. Antes de atualizar o saldo, conheça o contrato. E, quando o Dr. Loveless oferecer um GO TO para uma rotina que ninguém encontra, peça primeiro o mapa do fluxo.
Bellacosa Mainframe um roadmap para começar uma carreira em IBM
☕ Um Café no Bellacosa Mainframe
🚀 Quer Começar uma Carreira em IBM Mainframe?
Parte I — Os Primeiros Passos do Programador COBOL Padawan na Academia da Frota Estelar
"A lógica é o começo da sabedoria, não o fim." — Sr. Spock
Introdução — A Primeira Missão
Imagine que você acaba de receber uma carta de admissão para a Academia da Frota Estelar. Seu sonho sempre foi explorar o espaço, conhecer novas civilizações e operar a nave mais avançada da Federação: a USS Enterprise.
Agora troque a Enterprise por um IBM Z.
A Academia da Frota Estelar pelos programas gratuitos da IBM.
Os oficiais veteranos pelos especialistas em Mainframe.
E você...
...é o novo Programador COBOL Padawan.
Muita gente acredita que aprender Mainframe significa apenas decorar comandos COBOL ou escrever alguns JCLs. Essa é uma visão tão limitada quanto imaginar que o Capitão Kirk passa o dia apenas apertando botões na ponte de comando.
Na realidade, um profissional IBM Z entende como dezenas de tecnologias trabalham em perfeita harmonia para processar milhões — e, em muitos casos, bilhões — de transações diariamente.
A boa notícia é que nunca foi tão fácil começar.
Hoje existem cursos gratuitos, laboratórios online, desafios gamificados, documentação oficial e uma comunidade global pronta para ajudar novos talentos.
Neste artigo, vamos explorar os melhores caminhos para iniciar essa jornada.
Pegue seu café.
Ajuste seu terminal 3270.
E prepare-se para embarcar.
Por que aprender Mainframe em 2022?
Existe um mito muito comum:
"Mainframe é tecnologia antiga."
Nada poderia estar mais distante da realidade.
O IBM Z evolui continuamente e incorpora recursos modernos como:
Inteligência Artificial
Computação Quântica integrada por APIs
Linux
Kubernetes
Containers
DevOps
Git
VS Code
Open Source
APIs REST
Cloud híbrida
Criptografia avançada
Computação confidencial
Enquanto startups surgem e desaparecem, bancos, seguradoras, bolsas de valores, empresas aéreas, governos e operadoras continuam confiando no IBM Z para executar cargas críticas com disponibilidade próxima de 100%.
É por isso que aprender Mainframe continua sendo uma excelente decisão de carreira.
A Academia Oficial da Federação (IBM)
Se Star Trek possui a Academia da Frota Estelar, o universo IBM possui um equivalente: um conjunto de plataformas gratuitas de aprendizado.
Elas foram criadas para formar a próxima geração de profissionais IBM Z.
O Mainframe também participa do mundo Open Source.
O Open Mainframe Project reúne iniciativas importantes como:
Zowe
COBOL Programming Course
Feilong
Modernização
Ferramentas DevOps
Comunidade internacional
É uma excelente forma de acompanhar a evolução do ecossistema IBM Z além das soluções comerciais.
O Primeiro Plano de Estudos
Se eu estivesse começando hoje, seguiria esta sequência:
Conceitos de Mainframe
IBM Z Mainframe Skills Depot
IBM Z Xplore
Learning COBOL Programming with VS Code
IBM SkillsBuild
IBM Developer
Open Mainframe Project
IBM Redbooks
Com essa base, você já terá uma visão consistente do ecossistema IBM Z antes de mergulhar em tecnologias específicas.
Curiosidades da Engenharia Estelar
O IBM Z é capaz de processar volumes gigantescos de transações com altíssima disponibilidade.
COBOL continua sendo uma das linguagens mais utilizadas em sistemas financeiros de missão crítica.
Muitos ambientes IBM Z modernos utilizam Git, VS Code, APIs REST, containers e práticas DevOps.
Há iniciativas abertas que permitem aprender e desenvolver para Mainframe utilizando ferramentas modernas, aproximando o ecossistema IBM Z do universo open source.
Café com Spock ☕
Se o Sr. Spock fosse mentor de um programador COBOL, provavelmente diria:
"Não tente aprender tudo ao mesmo tempo. A lógica vem antes da sintaxe. Domine os fundamentos, e as ferramentas deixarão de parecer misteriosas."
Essa é uma excelente filosofia para quem está começando. Não se preocupe em decorar centenas de comandos ou utilitários. Construa uma base sólida, pratique com frequência e avance em etapas.
Conclusão da Parte 1
Toda grande jornada começa com um primeiro passo. No universo IBM Mainframe, esse passo é aproveitar os recursos gratuitos que hoje estão disponíveis para qualquer pessoa interessada em aprender. O IBM Z Mainframe Skills Depot, o IBM Z Xplore, o curso oficial de COBOL com VS Code, o IBM Training, o IBM SkillsBuild, o IBM Developer e o Open Mainframe Project formam uma verdadeira academia de treinamento, capaz de transformar um iniciante em um profissional preparado para enfrentar desafios reais.
Na Parte 2, embarcaremos em uma nova missão: conheceremos em detalhes as principais tecnologias do ecossistema IBM Z — COBOL, JCL, VSAM, QSAM, Db2, CICS, IMS, RACF e z/OS — entendendo como cada uma funciona e por que elas continuam sendo a espinha dorsal dos sistemas corporativos mais importantes do mundo. Afinal, como em uma nave da Federação, cada componente tem uma função essencial para que a missão seja cumprida com sucesso. 🖖
----------------
☕ Um Café no Bellacosa Mainframe
🚀 Quer Começar uma Carreira em IBM Mainframe?
Navegue pelas quatro partes da série e acompanhe a jornada do
Programador COBOL Padawan, dos primeiros cursos até a construção
de uma carreira no universo IBM Z.
Parte I
Os primeiros passos do Programador COBOL Padawan
Cursos gratuitos, IBM Z Xplore, Skills Depot e as primeiras
coordenadas para entrar no universo 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