| Bellacosa Mainframe apresenta o REXX |
🚀☕ REXX: O “Python do Mainframe” QUE JÁ EXISTIA QUANDO A INTERNET AINDA ENGATINHAVA ☕🚀
A linguagem lendária da IBM que transformou operadores em programadores e virou o canivete suíço do z/OS
“Enquanto muita gente hoje descobre automação com Python… o mainframe já fazia isso elegantemente com REXX há mais de 40 anos.” 😎
📜 O NASCIMENTO DE UMA LENDA
Final dos anos 70.
Mainframes dominavam o planeta corporativo:
- bancos
- governos
- seguradoras
- bolsas de valores
- telecomunicações
Mas existia um problema gigantesco.
Programar era:
- complexo
- burocrático
- lento
- doloroso
COBOL era poderoso…
Assembler era monstruoso…
CLIST era limitado…
Foi então que surgiu:
⚡ REXX ⚡
Criado por Mike Cowlishaw nos laboratórios IBM Hursley, o REXX nasceu com uma missão quase revolucionária:
“Tornar a programação humana novamente.”
E conseguiu.
🤯 O QUE TORNAVA O REXX DIFERENTE?
Naquela época, linguagens queriam que:
- humanos pensassem como máquinas.
O REXX fez o contrário:
- fez a máquina entender humanos.
Resultado?
Uma linguagem:
- limpa
- natural
- flexível
- extremamente poderosa
😲 O REXX NÃO QUER SABER DE BUROCRACIA
Enquanto COBOL exigia:
01 WS-NOME PIC X(20).
01 WS-IDADE PIC 9(03).
01 WS-SALARIO PIC 9(05)V99.
o REXX simplesmente dizia:
nome = "VAGNER"
idade = 40
salario = 99999
Pronto.
Acabou.
Sem WORKING-STORAGE.
Sem DATA DIVISION.
Sem sofrimento existencial. 😂
☕ O OPERADOR VIROU PROGRAMADOR
Aqui está uma das maiores revoluções silenciosas do mainframe.
Antes do REXX:
- automação era território dos desenvolvedores hardcore.
Depois do REXX:
- operadores
- analistas
- sysprogs
- suporte
- administradores
começaram a automatizar tudo.
O REXX democratizou o poder do z/OS.
🧠 O PARSE: A ARMA SECRETA DO REXX
O PARSE do REXX é quase magia negra corporativa.
Imagine receber uma linha:
USER01 PROD 1500
E transformar isso em variáveis automaticamente:
linha = "USER01 PROD 1500"
parse var linha usuario ambiente saldo
say usuario
say ambiente
say saldo
Saída:
USER01
PROD
1500
Sem SPLIT.
Sem REGEX.
Sem trauma psicológico.
🔥 REXX NO MUNDO REAL
O REXX virou a “cola universal” do z/OS.
Ele conversa com:
- TSO
- ISPF
- SDSF
- JES2
- DB2
- IMS
- NetView
- QMF
É praticamente o “multiverso da automação mainframe”.
💣 EXEMPLO REAL — GERANDO JCL AUTOMATICAMENTE
Imagine criar 100 steps manualmente…
Agora veja o REXX humilhando a tarefa:
do i = 1 to 100
say "//STEP"i "EXEC PGM=IEFBR14"
end
Boom. 💥
100 steps gerados em segundos.
😎 O REXX NÃO LIGA PARA INDENTAÇÃO
Python:
if x > 10:
print("OK")
Errou espaço?
💀 morreu.
REXX:
if x > 10 then
say "OK"
ou:
if x > 10 then
say "OK"
ou até:
IF X > 10 THEN SAY "OK"
O REXX olha pra isso e fala:
“Relaxa. Eu entendi.” 😎
👴 O SYSOP VETERANO E O REXX
Todo ambiente z/OS tem aquele sysprog lendário que:
- sabe JES2 de cabeça
- conversa com dumps
- domou CICS em produção
- tem um PDS de REXX desde 1994
E normalmente existe um dataset misterioso chamado:
SYS1.REXX.CNTL
que ninguém ousa apagar. 😂
Porque:
- metade da automação crítica mora lá.
🧪 EXEMPLO — CONSULTANDO DATASETS
say "Digite o dataset"
pull dsn
"LISTDS '"dsn"'"
say "Consulta finalizada"
Simples.
Humano.
Objetivo.
🚀 O REXX ERA “SCRIPTING MODERNO” ANTES DO SCRIPTING MODERNO
Muita coisa atribuída hoje ao Python já existia no REXX:
- interpretado
- shell scripting
- tipagem dinâmica
- automação
- REPL interativo
- parsing poderoso
O REXX estava décadas à frente.
👀 EASTER EGG MAINFRAME #1
Veteranos sabem…
Existe uma entidade ancestral chamada:
IRXJCL
Quando alguém descobre isso pela primeira vez:
- automaticamente ganha +10 em automação. 😆
🔥 EXEMPLO — REXX EXECUTANDO COMANDOS TSO
address tso
"ALLOC FI(TESTE) DA('USER.TEST') SHR"
say "Dataset alocado!"
Aqui o REXX vira praticamente:
- operador
- console
- automação
- shell scripting
tudo ao mesmo tempo.
🤯 O REXX CONSEGUE “CONVERSAR” COM O SISTEMA
E isso muda tudo.
Você pode:
- emitir comandos
- ler retorno
- analisar mensagens
- tomar decisões
- automatizar operações
Exemplo:
address tso "LISTCAT ENT(USER.TEST)"
if rc = 0 then
say "Dataset existe"
else
say "Dataset não encontrado"
REXX + RC = automação operacional absurda.
👀 EASTER EGG MAINFRAME #2
Se um REXX começa com:
/* REXX */
veteranos imediatamente sentem cheiro de:
- ISPF macro
- automação antiga
- script crítico
- possível perigo operacional 😂
☠️ O BUG MAIS CLÁSSICO DO REXX
Como variáveis não precisam ser declaradas…
isso aqui:
total = 100
totla = total + 1
cria:
- TOTAL
- TOTLA
automaticamente.
E o programador passa:
- 4 horas
- 3 cafés
- 2 crises existenciais
tentando descobrir o erro.
🛡️ O ANTÍDOTO SAGRADO
Veteranos usam:
signal on novalue
Isso faz o REXX reclamar de variáveis inexistentes.
Quase um:
“modo anti-digitador cansado”.
💾 O REXX VIROU A ALMA DO ISPF
Muita gente não percebe…
Mas inúmeras ferramentas ISPF:
- painéis
- macros
- diálogos
- automações
dependem fortemente de REXX.
Sem REXX:
- muita produtividade do z/OS evaporaria.
🎮 EASTER EGG MAINFRAME #3
Existe um momento mágico na vida do mainframeiro…
Quando ele cria seu primeiro:
ISREDIT MACRO
E percebe que pode controlar o editor inteiro.
Nesse instante:
- o usuário evolui para forma final. 😂
🚨 O REXX NO MUNDO CORPORATIVO
Grandes bancos usam REXX para:
- automação batch
- validação operacional
- geração de JCL
- monitoramento
- administração TSO
- integração de ferramentas
E muitos ambientes ainda possuem:
- milhares de execs ativos.
🧠 O VERDADEIRO SEGREDO DO REXX
Não é apenas a sintaxe.
É a produtividade.
Você escreve pouco…
e resolve MUITO.
⚡ MINI LAB — REXX “HELLO MAINFRAME”
/* HELLO */
say "=== BELLACOSA MAINFRAME ==="
say "Digite seu nome:"
pull nome
say "Bem-vindo ao universo REXX," nome
say "Hoje você desbloqueou"
say "o canivete suíço do z/OS 😎"
exit 0
☕ CONCLUSÃO
O REXX não é apenas:
- uma linguagem antiga.
Ele é:
- um pedaço vivo da história da computação corporativa.
Uma linguagem:
- elegante
- poderosa
- extremamente humana
que continua relevante porque resolve problemas reais.
Enquanto muita tecnologia moderna nasce e desaparece…
o REXX continua firme no coração do mainframe.
Porque no fim das contas:
produtividade nunca sai de moda. 😎☕