REXX – Introducing My New Friend
(ou: como eu parei de torcer o nariz e ganhei um aliado no z/OS e z/VM)
“Às vezes o melhor software não é o mais caro, nem o mais novo. É o que já está aí, esperando você parar de ignorar.”
Navegar pelas complexidades do z/OS e do z/VM exige um arsenal respeitável de ferramentas. JCL, COBOL, assembler, CLIST, utilitários do sistema, produtos terceiros… tudo isso faz parte do dia a dia.
Mas em muitos momentos, o tool ideal simplesmente não existe, é caro demais, ou não justifica um processo de aquisição que passa por 37 comitês, 12 reuniões e 2 meses de espera.
Foi exatamente aí que, meio a contragosto, eu resolvi sair da zona de conforto e mergulhar em uma linguagem que sempre esteve ali, silenciosa, quase invisível: REXX.
Confesso: no começo houve resistência.
“Mais uma linguagem?”
“Isso não é coisa de CLIST melhorado?”
“Será que vale o tempo?”
Spoiler: vale. E muito.
Hoje, o REXX não é só uma linguagem — é meu novo amigo no mainframe.
📜 1. Um breve passeio pela história das linguagens
Antes de falar de REXX, precisamos contextualizar.
Da força bruta à legibilidade
-
Anos 40/50: código de máquina e Assembly — poder absoluto, legibilidade zero.
-
Anos 60: COBOL, FORTRAN — produtividade e portabilidade começam a surgir.
-
Anos 70: linguagens estruturadas, foco em legibilidade e manutenção.
-
Anos 80: linguagens de script e automação ganham espaço.
É nesse cenário que, em 1979, na IBM, surge o REXX (Restructured Extended Executor), criado por Mike Cowlishaw.
👉 O objetivo era claro:
Criar uma linguagem simples, legível, poderosa e tolerante a erros humanos.
Nada de pontuação excessiva, nada de sintaxe críptica.
REXX foi pensado para gente, não só para compiladores.
📌 Easter egg histórico:
Mike Cowlishaw também é o criador da notação decimal usada em IEEE 754-2008. Ou seja, o homem sabia exatamente o que estava fazendo.
🧑💻 2. O papel real de sysprogs e devs no z/OS e z/VM
Quem vive mainframe sabe:
o trabalho não é só programar.
No mundo real, fazemos:
-
Automação de tarefas repetitivas
-
Análise de datasets e catálogos
-
Interação com TSO/ISPF
-
Chamada de comandos do sistema
-
Tratamento de mensagens (WTO, WTOR, GETMSG)
-
Integração entre ferramentas
-
Prototipação rápida de soluções
-
“Apagar incêndio” às 3h da manhã 🔥
E aqui vem a pergunta fatal:
Você vai fazer tudo isso em COBOL compilado?
REXX entra exatamente nesse espaço:
-
Mais poderoso que CLIST
-
Mais simples que COBOL
-
Mais integrado que scripts externos
🔌 3. Integrando REXX ao seu workflow atual
REXX não substitui COBOL, PL/I ou Assembler.
Ele complementa.
Onde o REXX brilha:
-
Dentro do TSO
-
Em ISPF
-
Em batch
-
No z/VM (CMS, CP, EXECs)
-
Chamando utilitários do sistema
-
Orquestrando JCL
-
Automatizando ambientes
📌 Easter egg prático:
Você pode chamar IDCAMS, IEFBR14, SDSF, comandos MVS e até programas COBOL diretamente do REXX.
REXX é o cola tudo do mainframe.
🧠 4. Fundamentos e base teórica do REXX
Filosofia da linguagem
-
Tudo é string
-
Tipagem dinâmica
-
Sintaxe limpa
-
Código próximo do inglês
-
Pouca pontuação
-
Muito foco em legibilidade
Exemplo simples:
Sem ponto e vírgula.
Sem BEGIN/END obrigatórios.
Sem drama.
Estrutura básica
-
Instruções lineares
-
Controle por
IF,DO,SELECT -
Funções internas riquíssimas
-
Integração nativa com o ambiente
Variáveis
📌 Curiosidade:
Variáveis não inicializadas não quebram o programa.
Elas simplesmente retornam o próprio nome.
Isso é genial para debug… e perigoso se você não souber 😄
🧩 5. Pré-requisitos para aprender REXX
A boa notícia: poucos.
Idealmente você já conhece:
-
Conceitos básicos de mainframe
-
TSO/ISPF
-
JCL (ao menos leitura)
-
Dataset, PDS, PS, membros
-
Comandos básicos do sistema
Se você sabe navegar no ISPF, já está 50% pronto.
🛠️ 6. REXX na prática – exemplos do mundo real
Exemplo 1 – Listar datasets
Exemplo 2 – Automatizar ISPF
Exemplo 3 – Batch REXX
📌 Easter egg avançado:
REXX pode ler e escrever datasets linha a linha com EXECIO.
Sim, você pode fazer mini-SORTs sem DFSORT.
🤯 7. Curiosidades que poucos contam
-
REXX existe fora do mainframe (OS/2, Windows, Linux)
-
É base de automação em vários produtos IBM
-
Muitos produtos “enterprise” usam REXX internamente
-
CLIST perdeu espaço por causa do REXX
-
É uma das linguagens mais subestimadas do ecossistema IBM Z
☕ Conclusão – Por que REXX virou meu novo amigo
REXX não é moda.
REXX não é hype.
REXX é eficiência silenciosa.
Ele resolve problemas reais:
-
rápido
-
integrado
-
sem burocracia
-
sem custo extra
-
com curva de aprendizado amigável
Se você trabalha com z/OS ou z/VM e ainda ignora o REXX, deixo o conselho de veterano:
Não subestime uma linguagem que a IBM colocou no coração do sistema.
Porque às vezes, o melhor amigo já estava no mainframe…
você só nunca tinha puxado assunto 😉
Sem comentários:
Enviar um comentário