Translate

quarta-feira, 5 de fevereiro de 2025

🧭 Etapas do plano de conversa

 


🧭 Etapas do plano de conversa

1. Escolher o momento certo

Evite conversar quando ela estiver:

  • reclamando de alguém,

  • tensa com o trabalho,

  • ou discutindo sobre as filhas.

Prefira momentos tranquilos, como:

  • tomando um café,

  • caminhando juntas,

  • depois de um comentário neutro (“Hoje o dia está puxado, né?”).

Objetivo: criar um clima de segurança emocional, sem parecer que você quer “corrigir” nada.


2. Começar com empatia, não com crítica

Evite iniciar com “você anda reclamando muito” ou “você precisa mudar”.

Comece validando o sentimento:

“Você tem passado por tanta coisa, né? Às vezes parece que o peso vai todo pro mesmo lado.”
“Eu fico pensando como deve ser difícil segurar tudo — trabalho, casa, filhas…”

Essas frases desarmam a defesa. Mostram que você entende a dor, não que vai julgá-la.


3. Introduzir reflexão sutil

Depois que ela desabafar um pouco, traga leveza e curiosidade:

“Quando você sai tanto, você sente que te faz bem ou mais te cansa?”
“O que costuma te deixar mais tranquila nesses dias mais cheios?”
“Tem algo que você gostaria de mudar na sua rotina, se pudesse?”

Essas perguntas ajudam a pessoa a se ouvir, sem parecer “psicologia barata”.


4. Oferecer alternativas sem impor

Quando perceber abertura, traga sugestões no formato “talvez…” ou “quem sabe…”:

“Talvez participar de um grupo diferente te fizesse bem. Tipo algo mais leve — arte, caminhada, voluntariado…”
“Quem sabe conversar com alguém neutro ajudasse, tipo um psicólogo ou até um grupo de apoio, né?”

Isso evita a resistência típica de quem ouve “você devia”.


5. Reforçar qualidades e propósito

O objetivo é que ela sinta valor pessoal, não culpa.

“Você tem uma energia que muita gente não tem. Só falta encontrar um lugar onde isso volte a te fazer bem.”
“Mesmo com tudo, você continua em movimento — isso mostra uma força enorme.”

Esses reforços mexem na autoestima — um ponto central para pessoas que vivem na insatisfação.


6. Fechar com proximidade e apoio

Encerre sempre com acolhimento, não conselho:

“Se quiser só conversar, me chama. Eu gosto de te ouvir, de verdade.”
“Você não precisa dar conta de tudo sozinha, sabe? A gente pode ir encontrando jeitos juntos.”

Isso mantém a ponte aberta para futuras conversas.


💡 Dica geral

Essas pessoas não mudam rápido.
Mas pequenas interações repetidas com empatia podem, aos poucos, mudar o tom geral: menos crítica, mais confiança, mais abertura.

terça-feira, 4 de fevereiro de 2025

IBM: Uma Odisseia de 1911 à Inteligência Artificial Quando um Programador COBOL Descobre que o Mainframe Não é um Monólito Esquecido,

 

Bellacosa Mainframe e uma odisseia da IBM

☕ Um Café no Bellacosa Mainframe

IBM: Uma Odisseia de 1911 à Inteligência Artificial

Quando um Programador COBOL Descobre que o Mainframe Não é um Monólito Esquecido, mas o Computador de Bordo de uma Civilização Digital

No princípio, não havia nuvem.

Não havia Kubernetes, APIs REST, modelos fundacionais, agentes de inteligência artificial ou pipelines de integração contínua. Não existiam smartphones, redes sociais nem reuniões em que alguém dissesse, com absoluta convicção, que bastava “colocar tudo na cloud”.

Havia papel.

Havia engrenagens.

Havia cartões perfurados.

Havia máquinas eletromecânicas que contavam, classificavam e registravam informações com uma disciplina quase alienígena para uma sociedade que ainda descobria como administrar grandes volumes de dados.

Em 1911, diferentes empresas de tecnologia de registro e processamento foram reunidas em uma organização que, alguns anos depois, adotaria o nome International Business Machines: IBM.

Mais de um século se passou.

A humanidade pousou na Lua, construiu redes globais, criou computadores de bolso, armazenou bilhões de documentos em centros de dados e começou a conversar com inteligências artificiais. Durante todo esse percurso, a IBM não permaneceu imóvel como um artefato abandonado em órbita.

Ela se transformou.

Mudou de máquinas de tabulação para computadores eletrônicos. De computadores isolados para famílias compatíveis. De hardware para software. De software para serviços. De serviços para consultoria. De data centers fechados para nuvem híbrida. De sistemas determinísticos para inteligência artificial empresarial.

E, no centro dessa odisseia, permanece uma plataforma que muitos consideraram antiga, mas que continua processando algumas das operações mais importantes da civilização moderna:

o mainframe IBM Z.

Para um programador COBOL iniciante, compreender o chamado “Império IBM” é perceber que seu programa não vive sozinho dentro de uma tela verde. Ele faz parte de uma nave gigantesca, composta por infraestrutura, sistemas operacionais, bancos de dados, mensageria, segurança, automação, nuvem híbrida, consultoria e inteligência artificial.

Aperte os cintos.

O café está servido.

A viagem vai começar.


Capítulo I — O monólito de 1911

Imagine um jovem programador observando um enorme monólito negro.

Ele não sabe exatamente para que serve. Apenas percebe que aquela estrutura representa alguma coisa antiga, poderosa e fundamental.

A IBM ocupa posição semelhante na história da computação.

Ela não inventou todos os computadores, todas as linguagens ou todos os sistemas operacionais. Entretanto, participou de algumas das mudanças que definiram como a computação empresarial seria construída.

Antes dos computadores eletrônicos, grandes organizações precisavam processar censos, folhas de pagamento, estoques, seguros e registros financeiros. Fazer isso manualmente exigia milhares de pessoas e produzia atrasos gigantescos.

As máquinas de tabulação ajudaram a mecanizar esse trabalho.

Os dados eram representados por perfurações em cartões. Cada posição do cartão possuía significado. Um furo poderia representar um número, uma letra ou uma categoria.

Para um programador COBOL, esse detalhe histórico não é apenas uma curiosidade.

A preocupação quase obsessiva do mainframe com formatos, posições e estruturas de dados nasceu nesse universo. Quando você encontra um arquivo com registros de comprimento fixo, campos posicionais e códigos cuidadosamente definidos, está vendo uma descendência direta daquela forma de processamento.

Um registro como:

00012345VAGNER BELLACOSA        00000125000A

pode parecer primitivo, mas carrega uma filosofia poderosa:

  • cada campo possui posição definida;

  • cada byte possui significado;

  • cada registro segue um contrato;

  • qualquer desvio pode ser detectado.

No COBOL, essa estrutura poderia ser descrita assim:

01  REGISTRO-CLIENTE.
    05 CLIENTE-ID          PIC 9(8).
    05 CLIENTE-NOME        PIC X(25).
    05 CLIENTE-SALDO       PIC 9(9)V99.
    05 CLIENTE-STATUS      PIC X.

Não é apenas uma declaração de variáveis.

É o mapa estrutural de uma informação de negócio.

O primeiro ensinamento da odisseia IBM é este:

Antes de existir inteligência artificial, já existia a necessidade de representar corretamente a realidade.


Capítulo II — O System/360 e a grande mudança de órbita

Durante os primeiros anos da computação eletrônica, muitos computadores eram incompatíveis entre si.

Uma empresa comprava uma máquina. Depois, ao adquirir um modelo maior, descobria que seus programas precisavam ser reescritos. O hardware, o sistema operacional, os dispositivos e os formatos podiam mudar completamente.

Era como construir uma nave cuja tripulação precisasse reaprender todas as operações sempre que o motor fosse substituído.

Em 1964, a IBM apresentou o System/360.

O nome não era casual. A ideia era oferecer uma família de computadores capaz de atender a um círculo completo de necessidades empresariais e científicas.

Modelos menores e maiores deveriam compartilhar princípios arquitetônicos. O cliente poderia crescer sem abandonar todo o seu investimento em software.

Essa foi uma mudança profunda.

O valor já não estava apenas na máquina. Estava na compatibilidade, na continuidade e no ecossistema.

Para o programador COBOL iniciante, isso explica por que aplicações escritas décadas atrás ainda podem continuar relevantes. Elas não sobreviveram por acidente. Sobreviveram porque foram construídas em uma plataforma que valoriza compatibilidade.

Isso não significa que o mesmo executável de 1965 esteja rodando sem alterações em 2026. Significa que a arquitetura evoluiu tentando preservar investimentos, linguagens, dados e comportamentos.

O COBOL foi padronizado no final dos anos 1950 e se tornou uma linguagem fundamental para aplicações comerciais. Sua sintaxe foi pensada para expressar regras empresariais de forma relativamente legível:

IF SALDO-DISPONIVEL >= VALOR-SOLICITADO
    PERFORM AUTORIZAR-TRANSACAO
ELSE
    PERFORM RECUSAR-TRANSACAO
END-IF

Esse código não descreve pixels, animações ou jogos.

Ele descreve uma decisão de negócio.

É por isso que COBOL permaneceu importante em bancos, seguradoras, governos, indústrias e grandes corporações. O coração dessas organizações não é composto apenas por telas modernas. É composto por regras.

Quem pode receber?

Quanto deve pagar?

Qual contrato está vigente?

Qual taxa será aplicada?

A transação é válida?

O COBOL vive onde a organização transforma regras em execução.


Capítulo III — IBM Z: o computador de bordo da economia

Na imagem do “Império IBM”, a área de infraestrutura apresenta IBM Z, Power Systems, Storage e software z/OS.

Para quem está começando, é comum pensar que IBM Z é apenas um servidor muito grande.

Essa definição é insuficiente.

O IBM Z é uma plataforma desenvolvida para cargas de trabalho empresariais críticas. Seu objetivo não é somente executar programas rapidamente. É executar volumes gigantescos de trabalho com segurança, previsibilidade, isolamento e alta disponibilidade.

Pense em um banco durante um dia comum.

Milhões de clientes:

  • consultam saldos;

  • usam cartões;

  • fazem transferências;

  • pagam contas;

  • recebem salários;

  • sacam dinheiro;

  • contratam empréstimos;

  • acessam aplicativos;

  • realizam operações empresariais.

Cada ação pode atravessar diferentes componentes.

Uma transferência, por exemplo, pode envolver:

  1. autenticação do usuário;

  2. validação da conta;

  3. verificação de saldo;

  4. análise de limites;

  5. prevenção contra fraude;

  6. registro contábil;

  7. atualização de dados;

  8. geração de mensagens;

  9. auditoria;

  10. comunicação com outros sistemas.

Tudo isso precisa acontecer sem duplicar valores, perder registros ou deixar o saldo em estado inconsistente.

Em um sistema crítico, “quase correto” é completamente errado.

O papel do z/OS

O z/OS é o principal sistema operacional da plataforma IBM Z.

Mas chamá-lo apenas de sistema operacional também simplifica demais sua função. Ele coordena um vasto ecossistema de processamento.

Dentro dele encontramos tecnologias como:

  • JES2, responsável pelo gerenciamento de trabalhos batch;

  • CICS, voltado ao processamento transacional online;

  • Db2, banco de dados relacional;

  • IMS, plataforma transacional e banco hierárquico;

  • IBM MQ, mensageria confiável;

  • RACF, segurança e controle de acesso;

  • DFSMS, gerenciamento de armazenamento;

  • WLM, gerenciamento inteligente de cargas;

  • SMF, registros de atividade e auditoria;

  • USS, ambiente UNIX dentro do z/OS.

Cada componente é como um subsistema da nave.

O programador COBOL normalmente não controla tudo isso diretamente, mas seu programa interage com essas áreas.

Um batch COBOL pode ser iniciado por JCL, ler um arquivo VSAM, consultar uma tabela Db2, produzir um relatório e gerar informações para outra aplicação.

Um programa online pode ser chamado pelo CICS, receber uma solicitação, consultar dados e responder em frações de segundo.


Capítulo IV — Batch e CICS: os dois ritmos da nave

No mainframe, dois modelos de processamento aparecem frequentemente: batch e online.

Processamento batch

Batch é o processamento de conjuntos de trabalhos.

Imagine o fechamento financeiro de uma empresa. Durante a noite, milhares de registros precisam ser consolidados. Juros devem ser calculados, extratos produzidos e arquivos enviados.

Um JCL poderia iniciar o programa:

//FECHAMENTO JOB (ACCT),'BELLACOSA',CLASS=A,MSGCLASS=X
//STEP01     EXEC PGM=CBLFECHA
//ENTRADA    DD DSN=BANCO.MOVIMENTO.DIARIO,DISP=SHR
//SAIDA      DD DSN=BANCO.RELATORIO.FECHAMENTO,
//              DISP=(NEW,CATLG,DELETE),
//              SPACE=(CYL,(10,5)),
//              DCB=(RECFM=FB,LRECL=200,BLKSIZE=0)
//SYSOUT     DD SYSOUT=*

Aqui, cada declaração ajuda o sistema a localizar programas, arquivos e saídas.

O batch é excelente para processar grandes volumes de forma controlada.

Processamento online com CICS

Já o CICS trabalha com transações interativas.

Quando um cliente consulta uma conta, não pode esperar o fechamento noturno. A resposta precisa ocorrer imediatamente.

O CICS gerencia:

  • execução de transações;

  • concorrência;

  • comunicação;

  • recuperação;

  • recursos;

  • controle de tarefas;

  • integração com bancos e filas.

Para o iniciante, a diferença essencial é:

  • o batch processa conjuntos de trabalho;

  • o CICS responde a solicitações individuais em tempo quase imediato.

A organização moderna precisa dos dois.

O online recebe os eventos do dia.

O batch consolida, reconcilia, calcula e fecha os ciclos.


Capítulo V — O IBM Z não está sozinho no espaço

Um dos grandes equívocos sobre mainframes é imaginar que eles ficam isolados em uma sala, comunicando-se apenas com terminais antigos.

Isso não corresponde à realidade atual.

Aplicações COBOL podem participar de arquiteturas modernas por meio de APIs, mensageria, eventos, integração com nuvem e automação.

z/OS Connect

O z/OS Connect permite expor ativos do mainframe como APIs REST e também facilitar o consumo de serviços externos.

Imagine que uma empresa possui um programa COBOL confiável para calcular condições de financiamento.

Em vez de reescrever toda a regra em outra linguagem, a organização pode disponibilizá-la por meio de uma API.

Um aplicativo móvel envia:

{
  "cliente": 123456,
  "valor": 50000,
  "parcelas": 48
}

A camada de integração transforma a solicitação, chama o programa no mainframe e devolve uma resposta:

{
  "aprovado": true,
  "taxa": 1.79,
  "valorParcela": 1548.32
}

O usuário vê um aplicativo moderno.

Por trás da interface, o cálculo pode ser realizado por uma regra COBOL testada durante anos.

Modernização, portanto, não significa obrigatoriamente apagar o passado. Significa tornar ativos existentes acessíveis, governáveis e integrados.

IBM MQ

O IBM MQ permite a troca confiável de mensagens entre aplicações.

Em vez de o sistema A depender de uma resposta instantânea do sistema B, ele pode colocar uma mensagem em uma fila.

Por exemplo:

PEDIDO DE PAGAMENTO
        |
        V
FILA MQ
        |
        V
PROCESSADOR COBOL
        |
        V
FILA DE RESULTADO

Se o processador estiver temporariamente indisponível, a mensagem pode permanecer na fila até ser tratada.

Isso reduz acoplamento e aumenta resiliência.


Capítulo VI — Red Hat: o corredor entre mundos

A aquisição da Red Hat representou uma mudança estratégica na trajetória da IBM.

A IBM percebeu que o futuro empresarial não estaria em uma única nuvem ou em um único data center.

As organizações teriam ambientes mistos:

  • mainframes;

  • servidores distribuídos;

  • nuvens públicas;

  • nuvens privadas;

  • sistemas de borda;

  • aplicações antigas;

  • microsserviços;

  • contêineres.

Esse cenário é chamado de nuvem híbrida.

Red Hat Enterprise Linux

O Red Hat Enterprise Linux fornece uma base Linux corporativa para aplicações empresariais.

Linux também pode ser executado em plataformas IBM Z, permitindo que workloads Linux convivam próximos aos dados e serviços do mainframe.

OpenShift

O OpenShift é uma plataforma empresarial baseada em Kubernetes.

Kubernetes orquestra contêineres. Ele ajuda a distribuir, reiniciar, escalar e gerenciar aplicações.

O OpenShift acrescenta recursos corporativos de:

  • segurança;

  • desenvolvimento;

  • operação;

  • observabilidade;

  • automação;

  • governança;

  • integração.

Imagine uma aplicação de seguros.

O cálculo central permanece em COBOL no z/OS.

Uma camada Java executa no OpenShift.

Um aplicativo web utiliza JavaScript.

Um modelo de IA analisa documentos.

O IBM MQ integra etapas assíncronas.

Tudo isso compõe uma única solução de negócio.

Ansible Automation Platform

O Ansible automatiza tarefas operacionais.

Em vez de um profissional realizar manualmente dezenas de comandos, um playbook descreve o estado desejado.

Exemplo conceitual:

- name: Implantar aplicação COBOL
  hosts: zos
  tasks:
    - name: Copiar fonte
      zos_copy:
        src: programa.cbl
        dest: USER.COBOL.SOURCE(PROGRAMA)

    - name: Executar compilação
      zos_job_submit:
        src: USER.JCL(COMPILA)
        location: DATA_SET
        wait_time_s: 120

O valor não está apenas em economizar digitação.

A automação oferece repetibilidade.

O mesmo procedimento pode ser executado em desenvolvimento, teste e produção, respeitando controles e aprovações.

É como substituir uma sequência improvisada de botões por um protocolo de voo documentado.


Capítulo VII — watsonx: quando a nave começa a conversar

A inteligência artificial se tornou uma das grandes prioridades da IBM.

O watsonx representa uma plataforma voltada à criação, operação e governança de soluções de IA empresarial.

O ponto mais importante é a palavra empresarial.

Uma demonstração de IA pode gerar um poema ou resumir um texto. Uma IA usada por um banco precisa atender outras exigências:

  • proteger dados;

  • explicar decisões;

  • registrar versões;

  • controlar acessos;

  • evitar vazamento de informações;

  • monitorar resultados;

  • respeitar regulamentações;

  • identificar desvios;

  • permitir auditoria.

IA generativa no ambiente corporativo

Imagine uma equipe de suporte mainframe.

Durante um incidente, ela recebe:

  • mensagens de ABEND;

  • logs do JES;

  • registros do CICS;

  • consultas Db2;

  • documentação operacional;

  • históricos de incidentes.

Uma solução com IA poderia reunir esses materiais e ajudar a responder:

  • Qual componente provavelmente falhou?

  • Já ocorreu incidente semelhante?

  • Qual procedimento foi usado?

  • Quais riscos existem?

  • Quem deve ser acionado?

A IA não deveria executar mudanças críticas sem controles. Ela atuaria como copiloto.

E aqui encontramos um belo paralelo com 2001: Uma Odisseia no Espaço.

Um sistema inteligente pode ser extremamente útil, mas precisa possuir objetivos claros, governança e limites.

O problema não é somente construir uma máquina capaz de responder.

É garantir que ela responda dentro das regras da missão.

Easter egg nº 1

Em vez de perguntar:

“HAL, abra a porta do compartimento.”

O operador mainframe talvez diga:

“RACF, autorize o acesso ao dataset.”

E o RACF responderá, metaforicamente:

“Sinto muito, operador. Seu usuário não possui a permissão necessária.”

Diferentemente do cinema, essa recusa é uma excelente notícia.


Capítulo VIII — Apptio: quanto custa manter a nave em órbita?

Em grandes organizações, tecnologia envolve custos difíceis de compreender.

Uma aplicação pode utilizar:

  • processamento de mainframe;

  • armazenamento;

  • licenças;

  • nuvem pública;

  • clusters OpenShift;

  • serviços de consultoria;

  • suporte;

  • redes;

  • bancos de dados.

A Apptio ajuda a relacionar despesas tecnológicas com serviços e resultados empresariais.

Considere uma aplicação de cartões.

O gestor deseja saber:

  • Quanto custa processar cada transação?

  • Qual ambiente consome mais recursos?

  • A migração reduziu custos?

  • O crescimento de consumo corresponde ao crescimento do negócio?

  • Qual produto utiliza determinada infraestrutura?

Sem visibilidade financeira, a empresa pode tomar decisões ruins.

Ela pode tentar remover um sistema considerado caro e descobrir tarde demais que ele processava milhões de operações com eficiência.

Custo absoluto não é suficiente.

É preciso avaliar custo por unidade de trabalho, risco, disponibilidade, segurança e impacto empresarial.

Um mainframe pode parecer caro como equipamento, mas ser competitivo quando analisado pelo volume de transações, pela consolidação e pela confiabilidade oferecida.


Capítulo IX — IBM Consulting: os arquitetos da missão

Tecnologia sozinha não transforma uma empresa.

Comprar servidores, contratar uma nuvem ou instalar uma plataforma de IA não resolve automaticamente processos ruins.

É aí que entra a IBM Consulting.

Ela trabalha com estratégia, transformação de negócios, implantação tecnológica e operações.

Imagine uma seguradora com centenas de sistemas.

A direção quer permitir que um sinistro seja analisado em minutos.

O problema não será resolvido apenas com um novo aplicativo.

Será necessário entender:

  1. como o processo funciona hoje;

  2. quais departamentos participam;

  3. quais dados são necessários;

  4. quais sistemas contêm esses dados;

  5. quais regras devem ser preservadas;

  6. quais etapas podem ser automatizadas;

  7. onde a IA pode ajudar;

  8. quais decisões exigem revisão humana;

  9. como monitorar erros;

  10. como medir o resultado.

A consultoria ajuda a organizar essa jornada.

Depois, especialistas podem implementar:

  • integrações;

  • APIs;

  • plataformas;

  • automações;

  • modelos de dados;

  • processos operacionais;

  • controles de segurança.

Para um programador COBOL, isso ensina que uma alteração de código nunca existe isoladamente.

A solicitação “adicione um campo” pode envolver:

  • copybooks;

  • arquivos;

  • telas;

  • tabelas;

  • relatórios;

  • interfaces;

  • mensagens;

  • programas consumidores;

  • documentação;

  • testes;

  • auditoria.

O código é apenas uma parte da missão.


Capítulo X — IBM Research e Quantum: o próximo monólito

A IBM mantém uma longa tradição de pesquisa.

Nem toda pesquisa produz um produto imediato. Algumas investigações levam anos até se tornarem úteis comercialmente.

É nesse ambiente que aparecem avanços relacionados a:

  • semicondutores;

  • materiais;

  • armazenamento;

  • inteligência artificial;

  • criptografia;

  • computação quântica.

Computação quântica

Computadores quânticos não são mainframes mais rápidos.

Eles operam com princípios diferentes e são estudados para categorias específicas de problemas.

Possíveis áreas de aplicação incluem:

  • simulação molecular;

  • descoberta de materiais;

  • otimização;

  • pesquisa científica;

  • problemas matemáticos especializados.

Eles não substituirão o COBOL no fechamento bancário da próxima madrugada.

Um programa quântico não será chamado para imprimir um extrato ou atualizar um cadastro.

A expectativa mais realista é de cooperação entre diferentes arquiteturas:

  • computadores clássicos executam o fluxo empresarial;

  • aceleradores tratam cargas de IA;

  • sistemas quânticos investigam problemas específicos;

  • mainframes preservam dados e transações críticas.

Cada tecnologia ocupa um papel.

Nenhuma nave utiliza o motor principal para preparar o café da tripulação.


Capítulo XI — Um passo a passo para o iniciante compreender o ecossistema

Ao observar todas essas tecnologias, um programador iniciante pode sentir que precisa aprender tudo ao mesmo tempo.

Não precisa.

A jornada pode ser dividida em órbitas.

Primeira órbita: fundamentos do COBOL

Aprenda:

  • divisions;

  • níveis de dados;

  • cláusula PIC;

  • condições;

  • PERFORM;

  • tabelas;

  • arquivos;

  • tratamento de códigos de retorno.

Pratique programas pequenos.

IDENTIFICATION DIVISION.
PROGRAM-ID. ODYSSEY1.

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WS-VALOR-A       PIC 9(5) VALUE 100.
01  WS-VALOR-B       PIC 9(5) VALUE 250.
01  WS-TOTAL         PIC 9(6).

PROCEDURE DIVISION.
    ADD WS-VALOR-A WS-VALOR-B
        GIVING WS-TOTAL

    DISPLAY 'TOTAL DA MISSAO: ' WS-TOTAL

    STOP RUN.

Segunda órbita: JCL e batch

Aprenda:

  • JOB;

  • EXEC;

  • DD;

  • DISP;

  • datasets;

  • SYSOUT;

  • códigos de retorno;

  • leitura de spool.

O objetivo é entender como seu programa chega até o processador e como localizar sua saída.

Terceira órbita: dados

Estude:

  • arquivos sequenciais;

  • VSAM;

  • Db2;

  • chaves;

  • índices;

  • transações;

  • commit e rollback.

Um programa empresarial existe para manipular dados de negócio. Sem compreender os dados, você estará navegando sem mapa estelar.

Quarta órbita: ambiente online

Conheça o CICS:

  • transações;

  • programas;

  • COMMAREA;

  • canais e containers;

  • mapas BMS;

  • códigos de resposta;

  • pseudo-conversação.

Quinta órbita: integração

Avance para:

  • IBM MQ;

  • APIs;

  • JSON;

  • z/OS Connect;

  • eventos;

  • serviços.

Nesse ponto, você começará a enxergar o mainframe como participante de uma arquitetura distribuída.

Sexta órbita: automação e DevOps

Explore:

  • Git;

  • pipelines;

  • testes automatizados;

  • Ansible;

  • ferramentas modernas de desenvolvimento;

  • implantação controlada.

O objetivo não é abandonar ISPF. É saber trabalhar em mais de uma cabine de comando.

Sétima órbita: IA e observabilidade

Somente depois dos fundamentos, investigue:

  • IA generativa;

  • RAG;

  • agentes;

  • análise de logs;

  • governança;

  • monitoramento;

  • explicabilidade.

A inteligência artificial amplifica conhecimento. Ela não substitui fundamentos inexistentes.


Capítulo XII — Dicas do comandante Bellacosa

1. Não confunda antigo com obsoleto

Uma ponte construída há décadas pode continuar essencial se for mantida, reforçada e integrada à cidade.

O mesmo vale para aplicações.

Pergunte:

  • O sistema ainda oferece valor?

  • Ele é confiável?

  • Pode ser mantido?

  • Está documentado?

  • Pode ser integrado?

  • O risco é conhecido?

A idade, sozinha, não responde.

2. Leia mensagens como evidências

No mainframe, uma mensagem de erro raramente é mero ruído.

Observe:

  • código do ABEND;

  • step;

  • programa;

  • offset;

  • dataset;

  • return code;

  • mensagens anteriores;

  • contexto da execução.

O erro final pode ser apenas a última consequência de uma falha iniciada muito antes.

3. Respeite os contratos de dados

Alterar um PIC de X(10) para X(12) pode parecer simples.

Porém, a mudança pode afetar:

  • tamanho do registro;

  • copybook;

  • arquivo;

  • programa produtor;

  • programa consumidor;

  • tabela;

  • interface;

  • relatório.

Dois bytes podem iniciar uma viagem interplanetária de incidentes.

4. Automatize depois de compreender

Automatizar um processo ruim apenas permite que o erro aconteça mais rapidamente.

Primeiro entenda.

Depois padronize.

Só então automatize.

5. Faça perguntas de negócio

Não pergunte apenas:

“Qual linha deve ser alterada?”

Pergunte:

“Qual comportamento empresarial precisa mudar?”

Essa pergunta separa o digitador de código do engenheiro de sistemas.


Curiosidades encontradas durante a viagem

A IBM atravessou diferentes eras da computação e teve participação em inúmeros ambientes tecnológicos. Sua marca esteve ligada a tabulação, mainframes, armazenamento, pesquisa, inteligência artificial e serviços empresariais.

O nome “Big Blue”, usado informalmente para se referir à IBM, possui origem discutida. Algumas explicações relacionam o apelido à identidade visual azul da companhia; outras, aos grandes computadores e ao dress code tradicional de seus profissionais. Independentemente da origem exata, o nome se tornou parte do folclore tecnológico.

O mainframe moderno pode executar não apenas COBOL, mas também Java, C, C++, Python, assembler, PL/I e workloads Linux.

Isso significa que o computador que muitos imaginam preso aos anos 1970 pode participar de arquiteturas de APIs, contêineres, inteligência artificial e automação.

Outro detalhe interessante: em ambientes críticos, estabilidade não significa ausência de inovação.

Significa que a inovação precisa acontecer sem interromper a missão.

Trocar uma aplicação que processa milhões de operações não é como atualizar um aplicativo doméstico. A nova solução deve preservar dados, comportamentos, auditoria, desempenho e continuidade.

A dificuldade não está apenas em construir o novo.

Está em garantir que o novo compreenda tudo o que o antigo aprendeu.


Easter egg final — O verdadeiro HAL do mainframe

Em 2001: Uma Odisseia no Espaço, HAL 9000 observa, conversa, interpreta e controla sistemas da nave.

No mainframe, não existe um único HAL.

Existe uma tripulação de subsistemas:

  • o JES recebe e organiza os trabalhos;

  • o WLM decide prioridades;

  • o RACF controla identidades;

  • o CICS gerencia transações;

  • o Db2 protege dados relacionais;

  • o MQ entrega mensagens;

  • o SMF registra o que aconteceu;

  • o z/OS coordena a missão.

Quando um job falha às 3h17 da manhã, o sistema deixa rastros.

A tarefa do programador é reconstruir a sequência.

O dataset foi encontrado?

O programa recebeu os parâmetros corretos?

O arquivo possuía o formato esperado?

A consulta retornou SQLCODE?

Houve falta de espaço?

O código de retorno de um step anterior foi ignorado?

Essa investigação é quase arqueologia espacial.

Cada mensagem é um fragmento.

Cada log é uma coordenada.

Cada dump é uma caixa-preta.


Conclusão — Além do infinito, existe produção

A IBM não permaneceu viva por mais de um século apenas por fabricar boas máquinas.

Ela sobreviveu porque mudou de forma diversas vezes.

De tabuladores para computadores.

De máquinas individuais para arquiteturas compatíveis.

De hardware para software.

De software para serviços.

De serviços para consultoria.

De data centers para nuvem híbrida.

De automação tradicional para inteligência artificial empresarial.

No entanto, existe uma linha que conecta todas essas eras:

o processamento confiável de informações importantes.

O IBM Z representa essa continuidade. O Red Hat OpenShift conecta ambientes. O Ansible automatiza operações. O IBM MQ transporta mensagens. O watsonx leva inteligência artificial ao mundo empresarial. A IBM Consulting ajuda a transformar estratégia em execução. O IBM Research investiga aquilo que ainda parece ficção científica.

Para o programador COBOL iniciante, a principal revelação é libertadora:

Você não entrou em um museu.

Você entrou em uma nave que está em operação há décadas, foi modernizada diversas vezes e continua viajando.

Seu primeiro programa talvez seja pequeno.

Talvez leia um arquivo, valide um campo e produza uma saída. Mas ele já ensinará os mesmos princípios que sustentam os grandes sistemas:

  • dados precisam de estrutura;

  • regras precisam de clareza;

  • erros precisam ser tratados;

  • resultados precisam ser verificáveis;

  • mudanças precisam ser controladas;

  • sistemas precisam conversar;

  • operações precisam deixar evidências.

A linguagem COBOL é apenas a primeira porta.

Depois dela existem JCL, CICS, Db2, VSAM, MQ, RACF, APIs, Linux, OpenShift, Ansible, cloud, IA e todo o ecossistema IBM.

Diante desse universo, o iniciante pode perguntar:

“Até onde essa jornada pode chegar?”

A resposta está piscando no painel da nave, em letras verdes:

READY

O mainframe está pronto.

A missão aguarda.

E, em algum lugar silencioso do data center, enquanto milhões de transações atravessam a madrugada, uma luz permanece acesa.

Não é o olho vermelho de HAL 9000.

É o indicador de um job que terminou com:

MAXCC=0000

Missão cumprida.

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.


sábado, 1 de fevereiro de 2025

🧩 Entendendo o contexto emocional

 


🧩 Entendendo o contexto emocional

Pessoas com esse perfil — sempre na rua, críticas, insatisfeitas — geralmente:

  • fogem de si mesmas: manter-se ocupada na rua é uma forma de não lidar com o que sente em casa (solidão, culpa, arrependimento, vazio).

  • usam a crítica como defesa: falar mal dos outros é um modo de projetar frustrações internas; assim, evita-se olhar para dentro.

  • reclamam da profissão porque já não veem sentido no que fazem, mas também não sabem o que mais poderiam fazer.

  • têm conflitos familiares (como as filhas em extremos opostos — uma apática e outra obcecada) que reforçam o sentimento de fracasso como mãe.

  • E, no caso do divórcio, pode haver perda de autoestima, raiva e sensação de “não ser mais vista”.


💬 Como você pode ajudar na prática

1. Escute sem confrontar

Evite tentar “corrigir” a pessoa quando ela reclama.
Em vez de dizer “você fala demais dos outros”, diga:

“Parece que isso te incomoda muito… o que você acha que te deixa mais cansada com essa situação?”

Isso muda o foco da crítica (os outros) para a emoção dela.


2. Ofereça espaço para reflexão, não julgamento

Você pode tentar plantar sementes como:

“Você sente que estar na rua ajuda a distrair a cabeça?”
“O que te faz sentir mais leve quando está sozinha?”
Essas perguntas ajudam a pessoa a reconhecer seus mecanismos de fuga — sem sentir que está sendo julgada.


3. Reforce o valor dela

Pessoas nessa fase sentem que “não servem mais pra nada”.
Elogios sinceros, focados em atitudes (não aparência) ajudam:

“Você tem uma energia impressionante, sabia? Pouca gente consegue manter essa disposição.”
“Mesmo com tudo o que passou, você continua buscando movimento — isso mostra força.”


4. Sugira novos vínculos e rotinas

  • Incentive-a a participar de grupos sociais saudáveis (oficinas, voluntariado, caminhadas, aulas de arte).

  • Atividades estruturadas ajudam a canalizar a energia para algo produtivo, em vez de dispersar em reclamações.

  • Se ela gosta de estar fora, talvez precise apenas de um motivo mais construtivo para sair.


5. Sobre as filhas

Evite entrar direto nos conflitos — isso costuma ser território delicado.
Mas pode ajudar a reformular:

“Você já percebeu que cada uma das meninas lida de um jeito diferente com a vida? Talvez isso mostre que elas precisam de coisas diferentes, né?”

Essa fala ajuda a diminuir a comparação e a culpa — e abre espaço pra ela pensar em novas formas de relação.


6. Estimule (aos poucos) o autocuidado emocional

Se for viável, incentive buscar apoio psicológico — às vezes uma conversa de orientação familiar ou individual muda muito.
Pode ser dito com naturalidade, tipo:

“Você já pensou em conversar com alguém sobre tudo isso? Às vezes ajuda a colocar as ideias no lugar.”


7. Cuide de si mesmo também

Convivência com alguém constantemente negativa é emocionalmente drenante.
Crie limites saudáveis:

  • Ouça, mas não absorva.

  • Mude de assunto quando perceber que ela está repetindo um ciclo de queixas.

  • Preserve seu humor e sua rotina.

sexta-feira, 24 de janeiro de 2025

A polemica do "Prefiro as Loiras"

 


💇‍♀️ 1. A frase não é inocente no vácuo histórico

Durante boa parte do século XX (e antes), a mídia — especialmente hollywoodiana — glorificou a mulher loira como símbolo de beleza, pureza e sucesso.
Daí nasceram estereótipos como “loira burra”, “loira fatal”, “loira de comercial de shampoo” etc.

Quando um homem diz “prefiro loiras”, muita gente ouve não apenas um gosto pessoal, mas um eco de padrões de beleza impostos, que excluíram (por décadas) outras etnias e estilos.


🎯 2. O problema é o peso simbólico, não o gosto

Ter preferência estética é natural. O que incomoda é quando isso é dito como valor absoluto ou comparativo, tipo:

“Prefiro loiras porque morenas são feias.”

Aí deixa de ser gosto e vira hierarquia de beleza, que reforça preconceitos — especialmente raciais.

Em tempos de discussões sobre representatividade, esse tipo de frase vira combustível pro debate sobre “padrão eurocêntrico” (aquele que privilegia traços brancos e europeus como “modelo ideal”).


📱 3. A internet transformou tudo em trending topic moral

Na era das redes sociais, opinião pessoal virou performance pública.
Então, quando alguém fala “prefiro loiras” em rede aberta, parece uma declaração política, e não só uma preferência.

O mesmo vale pra qualquer frase do tipo “prefiro X”, “não gosto de Y” — elas já vêm prontas pra serem julgadas, debatidas e distorcidas.


🤷‍♂️ 4. E se for só gosto mesmo?

Se a frase vem de forma leve, sem ofensa ou comparação, é só gosto — igual preferir café sem açúcar.
Mas o “mundo pós-tiktok” vive num modo em que tudo é lido com subtexto social, então o que era pessoal vira discussão coletiva.


💡 5. Como sair dessa com elegância.

  • Prefira falar do que te atrai sem desvalorizar o resto.

  • Evite generalizações: ninguém gosta de ser “categoria”.

  • Se for brincadeira, use contexto e tom — texto seco na internet é pólvora.

  • E lembre-se: gosto muda com o tempo (e às vezes com um bom sorriso).


☕ Conclusão Bellacosa

Dizer “prefiro loiras” só é polêmico porque a sociedade ainda está tentando equilibrar liberdade de expressão com respeito à diversidade.
É uma frase que flutua entre “meu gosto, minha vida” e “reforço inconsciente de um padrão excludente”.

Então, como em tudo na vida moderna: pode dizer, mas saiba o peso das palavras.
Ou, em versão barista:

“Pode ser loira, morena ou ruiva — o importante é não ser amargo no trato.” ☕

 

quinta-feira, 23 de janeiro de 2025

CASE Tools A Tecnologia que Tentou Automatizar a Engenharia de Software Muito Antes da Inteligência Artificial - Parte I

 

Bellacosa Mainframe e as case tools parte I

☕ Um Café no Bellacosa Mainframe

CASE Tools

A Tecnologia que Tentou Automatizar a Engenharia de Software Muito Antes da Inteligência Artificial

"Todo desenvolvedor acredita que a IA começou a automatizar software em 2022. Quem viveu a Engenharia de Software dos anos 80 sabe que essa história começou quase quarenta anos antes."


Introdução

Existe uma curiosidade interessante na história da computação.

Sempre que surge uma nova tecnologia capaz de produzir software mais rapidamente, aparecem manchetes dizendo que "os programadores serão substituídos".

Foi assim com as linguagens de quarta geração (4GL).

Foi assim com os geradores de código.

Foi assim com RAD (Rapid Application Development).

Foi assim com Low-Code.

Foi assim com No-Code.

E agora acontece novamente com a Inteligência Artificial.

Mas poucos profissionais conhecem o verdadeiro ancestral de todas essas tecnologias.

Seu nome era CASE Tools.

Para quem trabalha hoje com COBOL, CICS, DB2, IMS ou aplicações IBM Z, entender CASE significa compreender a origem de praticamente todas as ferramentas modernas de desenvolvimento.

Muito antes do GitHub Copilot, do ChatGPT ou dos assistentes inteligentes, já existiam ferramentas capazes de desenhar sistemas inteiros e gerar milhares de linhas de código automaticamente.

E, curiosamente, o ambiente Mainframe foi um dos maiores beneficiados dessa revolução.


O que significa CASE?

CASE significa

Computer-Aided Software Engineering

ou

Engenharia de Software Assistida por Computador.

Observe um detalhe importante.

Não significa programação automática.

Não significa inteligência artificial.

Não significa geração mágica de sistemas.

CASE nasceu com outro objetivo:

Ajudar engenheiros de software a construir sistemas melhores.

A palavra-chave é "assistida".

Da mesma forma que existe CAD (Computer-Aided Design) para engenharia mecânica e arquitetura, surgiu a ideia de criar um "CAD para software".

Em vez de desenhar prédios...

Desenharíamos sistemas.

Em vez de plantas arquitetônicas...

Teríamos modelos de software.

Em vez de construir diretamente...

Primeiro projetaríamos.

Hoje isso parece óbvio.

Na década de 1970 era revolucionário.


O problema da Programação Tradicional

Imagine um banco em 1978.

Ele precisava desenvolver:

  • Cadastro de clientes

  • Conta corrente

  • Empréstimos

  • Cobrança

  • Cartões

  • Tesouraria

  • Auditoria

  • Contabilidade

Tudo isso era escrito praticamente à mão.

Cada programa COBOL era desenvolvido individualmente.

Cada programador tinha seu próprio estilo.

Cada documentação era diferente.

Frequentemente a documentação sequer existia.

O resultado era previsível.

Após cinco anos...

Ninguém mais entendia completamente o sistema.


A Crise do Software

Entre o final dos anos 60 e toda a década de 70 surgiu um problema conhecido mundialmente como

Software Crisis.

Não faltavam computadores.

Não faltavam programadores.

Faltava capacidade de construir software grande.

Os sintomas eram conhecidos.

Projetos atrasavam.

Custos explodiam.

Erros apareciam constantemente.

Documentação desaparecia.

Manutenção tornava-se impossível.

Cada nova funcionalidade criava novos defeitos.

Essa crise levou pesquisadores a uma pergunta simples:

Como outras engenharias conseguem construir obras gigantescas com organização?

Um prédio de cinquenta andares não começa com pedreiros.

Começa com arquitetos.

Começa com plantas.

Começa com cálculos.

Começa com modelos.

Por que software era diferente?


O nascimento da Engenharia de Software

Em 1968 ocorreu um evento histórico patrocinado pela OTAN.

Foi a NATO Software Engineering Conference.

Foi ali que o termo

Software Engineering

ganhou força.

A ideia era tratar software como engenharia.

Isso significava:

  • planejamento

  • documentação

  • metodologia

  • padronização

  • revisão

  • qualidade

Essa conferência mudou completamente a indústria.

Ela também abriu caminho para o nascimento das CASE Tools.


A ideia revolucionária

Imagine um arquiteto.

Ele desenha uma planta.

Depois o engenheiro estrutural utiliza essa planta.

Depois o eletricista.

Depois o hidráulico.

Depois a construtora.

Todos trabalham sobre o mesmo projeto.

Agora imagine um sistema bancário.

Em vez de começar programando COBOL...

Primeiro seria criado um modelo.

Desse modelo nasceriam:

  • banco de dados

  • telas

  • relatórios

  • documentação

  • diagramas

  • código COBOL

  • programas CICS

  • scripts SQL

  • especificações técnicas

Tudo derivado do mesmo modelo.

Essa era a visão das CASE Tools.


Antes do Código vem o Modelo

Essa talvez seja a principal mudança de mentalidade.

O programador deixa de pensar:

Vou escrever um programa.

E passa a pensar:

Vou modelar uma solução.

O código passa a ser consequência.

Não o início.

Hoje chamamos isso de

Model Driven Development.

Na década de 80 isso já existia.


Os primeiros CASE Tools

As primeiras ferramentas começaram a aparecer no final dos anos 70.

Mas foi durante os anos 80 que elas explodiram.

Entre as pioneiras estavam soluções como:

  • Excelerator

  • IEW

  • Texas Instruments IEF

  • KnowledgeWare IEW

  • Bachman

  • ADW

  • System Architect

  • Oracle Designer

  • IBM AD/Cycle

Cada fabricante possuía sua própria visão.

Mas todas compartilhavam uma ideia comum.

Modelar primeiro.

Programar depois.


O conceito de Repositório

Talvez a inovação mais importante das CASE Tools tenha sido o conceito de

Repository.

Hoje usamos Git.

Na época usava-se um repositório de conhecimento.

Ali ficavam armazenados:

  • entidades

  • processos

  • atributos

  • regras

  • telas

  • menus

  • relacionamentos

  • fluxos

  • documentação

Não era apenas um repositório de arquivos.

Era um banco de conhecimento.

Hoje chamaríamos isso de um metamodelo.


A documentação deixou de ser um problema

Antes das CASE Tools a documentação era feita depois do sistema.

Quando sobrava tempo.

Normalmente não sobrava.

Resultado:

O documento dizia uma coisa.

O programa fazia outra.

CASE resolveu isso de maneira elegante.

A documentação era produzida automaticamente.

Mudou o modelo?

A documentação era atualizada.

Mudou o banco?

O diagrama era atualizado.

Mudou uma entidade?

Tudo era sincronizado.

Hoje isso parece comum.

Na época era extraordinário.


O poder dos Diagramas

As CASE Tools popularizaram diversos diagramas.

Entre eles:

  • Fluxogramas

  • Diagramas Entidade-Relacionamento

  • Diagramas de Dados

  • Diagramas de Processos

  • Diagramas de Estrutura

  • Diagramas Hierárquicos

  • Diagramas de Fluxo de Dados (DFD)

Por exemplo:

Cliente
   │
   ├──── Possui
   │
Conta Corrente
   │
   ├──── Gera
   │
Lançamentos

Hoje isso parece simples.

Na época substituía centenas de páginas de documentação textual.


A Revolução dos Dicionários de Dados

Outra inovação marcante foi o Data Dictionary.

Antes, o campo:

CODCLI

Poderia significar qualquer coisa.

Código do cliente?

Código do fornecedor?

Código do funcionário?

Ninguém sabia.

Com CASE surgiram descrições padronizadas.

CODCLI

Tipo:
Cliente

Formato:
PIC 9(09)

Descrição:
Identificador único do cliente.

Essa simples ideia economizou milhares de horas de manutenção.


A Engenharia Reutilizável

Outro conceito introduzido foi o de reutilização.

Em vez de criar tudo novamente...

Criavam-se componentes.

Por exemplo:

Cadastro de Cliente.

Em vez de existir em vinte programas diferentes...

Passava a existir apenas um modelo reutilizável.

Hoje chamamos isso de reutilização de componentes.

Nos anos 80 isso já fazia parte das CASE Tools.


O impacto nos bancos

Bancos rapidamente perceberam o potencial.

Imagine manter:

  • milhões de contas

  • milhares de agências

  • dezenas de milhões de clientes

Manual?

Impossível.

Modelando primeiro...

Era possível garantir consistência.

Essa foi uma das razões pelas quais instituições financeiras investiram fortemente em CASE.


O Mainframe tornou-se um ambiente ideal

O Mainframe possui uma característica importante.

Sistemas vivem décadas.

Enquanto aplicações web frequentemente são substituídas após poucos anos, sistemas COBOL podem permanecer ativos por 30, 40 ou até 50 anos.

Isso torna documentação, padronização e rastreabilidade ainda mais importantes.

CASE atendia exatamente essas necessidades.

Não era apenas uma ferramenta de produtividade.

Era uma ferramenta de governança.


O sonho da geração automática

Talvez o aspecto mais conhecido das CASE Tools fosse a geração automática de código.

O fluxo era parecido com este:

Modelo

↓

Entidades

↓

Processos

↓

Banco de Dados

↓

Programas

↓

Documentação

Em muitos ambientes era possível gerar:

  • COBOL

  • C

  • PL/I

  • SQL

  • JCL

  • CICS

  • telas

  • relatórios

  • menus

Naturalmente, o código gerado ainda exigia revisão e customização, mas representava um enorme ganho de produtividade em tarefas repetitivas.


CASE não eliminava programadores

Este é um mito que acompanha a tecnologia desde sua criação.

Alguns acreditavam que bastaria desenhar diagramas e a ferramenta faria todo o restante.

Na prática, isso nunca aconteceu.

O que ocorreu foi uma mudança de foco.

Os profissionais passaram a gastar menos tempo escrevendo estruturas repetitivas e mais tempo analisando regras de negócio, arquitetura e qualidade.

A engenharia ganhou espaço sobre a simples codificação.

Curiosamente, esse mesmo debate reaparece hoje com a Inteligência Artificial.


Por que muitas CASE Tools desapareceram?

Apesar do enorme entusiasmo, muitas ferramentas perderam espaço durante os anos 1990.

Os principais motivos foram:

  • custo elevado de aquisição e manutenção;

  • necessidade de treinamento especializado;

  • dificuldade de adaptação a mudanças rápidas nos negócios;

  • geração de código excessivamente dependente do fornecedor (vendor lock-in);

  • modelos complexos para projetos pequenos;

  • ascensão da orientação a objetos e de novas metodologias de desenvolvimento.

Ainda assim, suas ideias não desapareceram. Elas foram incorporadas a UML, IDEs modernas, geradores de código, ferramentas de DevOps, plataformas Low-Code e, mais recentemente, aos assistentes baseados em IA.


Muito além de uma tecnologia antiga

É comum ouvir que CASE é uma tecnologia "do passado". Na realidade, o nome caiu em desuso, mas seus princípios continuam presentes.

Quando um desenvolvedor cria um modelo UML que gera classes Java, está aplicando conceitos de CASE.

Quando uma ferramenta cria APIs a partir de um contrato OpenAPI, há geração baseada em modelos.

Quando um pipeline de DevOps produz documentação automaticamente a partir do código, há automação da engenharia.

E quando uma IA sugere código a partir de uma descrição funcional, ela está ampliando uma ideia que começou décadas antes: reduzir o esforço repetitivo para que o engenheiro concentre sua atenção na solução do problema.


Conclusão

As CASE Tools nasceram para resolver um desafio que permanece atual: como desenvolver software cada vez mais complexo sem perder qualidade, organização e capacidade de manutenção.

Elas introduziram conceitos que hoje parecem naturais: modelagem antes da implementação, repositórios de conhecimento, documentação automática, dicionários de dados, reutilização de componentes e geração de código.

Para quem trabalha com COBOL e IBM Z, compreender essa história é entender por que tantos ambientes corporativos ainda valorizam modelagem, rastreabilidade e padronização. O Mainframe não ficou preso ao passado; ele foi um dos grandes laboratórios onde essas ideias amadureceram e provaram seu valor em sistemas que processam bilhões de transações com confiabilidade excepcional.

No próximo artigo, veremos como as CASE Tools evoluíram em categorias como Upper CASE, Lower CASE e Integrated CASE (I-CASE), conheceremos suas principais metodologias, analisaremos exemplos práticos de uso e entenderemos por que elas influenciam diretamente as plataformas Low-Code, No-Code e até mesmo a Inteligência Artificial aplicada ao desenvolvimento de software.

"Toda geração acredita ter inventado uma nova forma de desenvolver software. A história mostra que quase todas elas começam pela mesma ideia: pensar antes de programar. As CASE Tools foram uma das primeiras grandes tentativas de transformar essa ideia em engenharia."

 

quarta-feira, 22 de janeiro de 2025

☕ Por que é errado ser politicamente correto?



 ☕ Por que é errado ser politicamente correto?

(Ou: como perdemos o manual de “como conversar sem ofender ninguém”)

Ah, o politicamente correto. Esse ser mítico que nasceu com boas intenções, cresceu cheio de regras e hoje vive assombrando grupos de WhatsApp, churrascos e timelines.

🌍 A origem: quando tudo era mato (e piada de tiozão)

O termo surgiu lá pelos anos 1970, entre movimentos sociais e universidades — especialmente nos EUA. A ideia era simples: usar linguagem inclusiva e respeitosa pra não reforçar preconceitos.
Mas como toda boa invenção humana... o pessoal exagerou.

Virou um jogo de tabuleiro moderno:

  • “Pode falar isso?”

  • “Depende do contexto.”

  • “E se for ironia?”

  • “Depende da intenção.”

  • “E se for meme?”

  • “Depende do algoritmo.”

Resultado: ninguém sabe mais quando está sendo gentil ou cancelável.

🧠 A razão: o medo do “cancelamento”

O politicamente correto nasceu da empatia, mas virou um manual de etiqueta com 18 volumes e notas de rodapé.
Hoje, em vez de dizer “bom dia”, muita gente pensa:

“Será que ofendo alguém que não acredita em dias bons?”

O medo de errar nos transformou em robôs sociais: sorrimos, concordamos, mas pensamos “lá vem textão”.

📜 A evolução (ou involução)

Nos anos 2000, o “politicamente correto” começou a virar arma política.
Um grupo dizia “seja mais sensível”, o outro retrucava “vocês estão mimando o mundo”.
E assim nasceu a guerra santa da internet: os ofendidos versus os debochados.

Curiosamente, ambos querem o mesmo: liberdade pra falar — só divergem em como.

🤯 Curiosidades

  • O termo “politicamente correto” era originalmente uma brincadeira entre ativistas de esquerda — usado de forma irônica!

  • Em 1990, o New York Times publicou uma série de artigos sobre o tema, e o termo explodiu.

  • No Brasil, o auge veio nos anos 2010, quando descobrimos o poder de um “lacrou” e um “cancelado” no mesmo post.

  • A internet transformou a empatia em um campo minado sem tutorial.

☕ Dicas pra sobreviver ao politicamente correto

  1. Fale com empatia, mas não viva em pânico.

  2. Pergunte antes de ofender (funciona em 80% dos casos).

  3. Evite generalizações, a menos que seja pra falar mal de fila de banco.

  4. Aprenda e siga em frente. Errar é humano, repetir é “cringe”.

  5. Lembre-se: humor sem maldade é possível — só dá mais trabalho.

💬 Comentário final do Bellacosa

Ser politicamente correto não é errado — o problema é esquecer que humor, contexto e intenção ainda existem.
O segredo é simples: respeito com leveza.
Nem tanto o “mimimi”, nem tanto o “tiozão do pavê”.

Ou como diria o filósofo do boteco digital:

“Se você não pode rir de nada, então estamos ferrados. Mas se você ri de tudo, o problema é você.”

No fim das contas, o politicamente correto é igual café: na dose certa, desperta consciência; em excesso, dá azia social.

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