| Bellacosa Mainframe e o paradigma de programação procedural |
O que é Paradigma de Programação Procedural?
Quando estudamos:
COBOL;
C;
PL/I;
Assembler;
programação no mainframe;
um dos conceitos mais importantes é o:
paradigma procedural.
Ele dominou o desenvolvimento corporativo durante décadas e ainda hoje é extremamente utilizado no ambiente:
z/OS IBM Z.
Primeiro: o que é paradigma?
Paradigma é:
um modelo ou estilo de programação.
Ele define:
como o programa será organizado;
como a lógica será construída;
como o fluxo será executado.
O que significa “procedural”?
Procedural vem de:
procedimentos.
Ou seja:
o programa é dividido em:
rotinas;
módulos;
procedimentos;
etapas organizadas.
Definição simples
Programação procedural é:
um paradigma baseado em procedimentos que executam tarefas passo a passo.
O programa normalmente:
segue sequência;
manipula variáveis;
altera estados;
executa rotinas.
Analogia simples
Imagine uma empresa.
Cada setor possui um procedimento:
financeiro;
RH;
cobrança;
estoque.
Cada procedimento executa:
uma tarefa específica.
O paradigma procedural funciona assim.
Relação com paradigma imperativo
O procedural é:
um tipo de programação imperativa.
Porque ele também diz:
como fazer as tarefas.
O que muda?
No procedural:
o código é organizado em procedimentos.
Exemplo simples
INICIO
VALIDAR CLIENTE
CALCULAR SALDO
GERAR RELATORIO
FIM
Cada etapa é um:
procedimento.
Como isso aparece no COBOL?
Muito fortemente.
Exemplo COBOL procedural
PROCEDURE DIVISION.
MAIN-PROCESS.
PERFORM VALIDAR-CLIENTE
PERFORM CALCULAR-SALDO
PERFORM GERAR-RELATORIO
STOP RUN.
O que é PERFORM?
Comando COBOL usado para:
executar procedimentos.
Exemplo dos procedimentos
VALIDAR-CLIENTE.
DISPLAY 'VALIDANDO'.
CALCULAR-SALDO.
DISPLAY 'CALCULANDO'.
GERAR-RELATORIO.
DISPLAY 'GERANDO'.
Isso é programação procedural
O sistema:
chama procedimentos;
executa etapas;
controla fluxo.
Estrutura clássica procedural
ENTRADA
↓
VALIDAÇÃO
↓
PROCESSAMENTO
↓
ATUALIZAÇÃO
↓
RELATÓRIO
↓
FIM
Características do paradigma procedural
Código dividido em procedimentos
Fluxo sequencial
Uso intenso de variáveis
Alteração de estado
Reutilização de rotinas
Forte controle do fluxo
Como procedural aparece no mainframe?
Praticamente em tudo:
COBOL batch;
utilitários;
JCL procedural;
automações;
sistemas financeiros.
O COBOL é procedural?
Tradicionalmente:
sim.
Especialmente:
COBOL batch clássico;
sistemas legados.
Por que procedural fez tanto sucesso no mainframe?
Porque funciona muito bem para:
processamento batch;
regras de negócio;
arquivos sequenciais;
grandes volumes de dados.
Exemplo real batch procedural
LER ARQUIVO
↓
VALIDAR REGISTRO
↓
CALCULAR VALOR
↓
ATUALIZAR DB2
↓
GERAR RELATÓRIO
O que é modularização?
Dividir programa em partes menores.
Exemplo
ROTINA-LEITURA
ROTINA-CALCULO
ROTINA-IMPRESSAO
Isso facilita:
manutenção;
testes;
reutilização;
organização.
O que é subprograma?
Programa chamado por outro programa.
Muito comum em COBOL.
Exemplo
CALL 'CALCSAL'
O que é parâmetro?
Informação enviada para procedimento/subprograma.
Exemplo
CALL 'CALCSAL' USING SALARIO
Procedural vs Orientado a Objetos
Procedural
Organiza:
procedimentos.
Orientado a Objetos
Organiza:
objetos/classes.
Procedural vs Declarativo
Procedural
Diz:
como executar.
Declarativo
Diz:
o que deseja obter.
Exemplo SQL
SELECT NOME
FROM CLIENTES
Mais declarativo.
Exemplo procedural equivalente
LER CLIENTE
SE NOME EXISTE
MOSTRAR
Vantagens do paradigma procedural
Fácil entender fluxo
Excelente para batch
Ótimo desempenho
Muito eficiente em mainframe
Bom para regras de negócio
Muito estável
Desvantagens
Sistemas grandes ficam complexos
Muito acoplamento
Código repetitivo
Difícil manutenção em programas enormes
GO TO excessivo gera spaghetti code
O que é spaghetti code?
Código confuso cheio de desvios.
Muito famoso em sistemas antigos COBOL.
Curiosidades incríveis
1. Grande parte do sistema bancário mundial ainda usa lógica procedural
2. Muitos programas COBOL possuem décadas de evolução procedural
3. Procedural dominou a computação corporativa por muitos anos
4. O COBOL procedural continua extremamente relevante
Erros comuns de iniciantes
1. Criar procedimentos gigantes
2. Não modularizar
3. Usar GO TO demais
4. Misturar lógica demais em uma única rotina
Dicas importantes
Divida programas em pequenas rotinas
Use PERFORM corretamente
Nomeie procedimentos claramente
Organize fluxo do programa
Como isso aparece no dia a dia?
Praticamente em:
COBOL;
batch;
DB2 procedural;
processamento financeiro;
faturamento;
folha salarial.
Exemplo simplificado completo
MAIN
↓
LER CLIENTES
↓
VALIDAR DADOS
↓
CALCULAR JUROS
↓
ATUALIZAR DB2
↓
GERAR RELATÓRIO
↓
FIM
Resumo rápido
| Conceito | Significado |
|---|---|
| Procedural | Baseado em procedimentos |
| PERFORM | Executa rotina COBOL |
| CALL | Chama subprograma |
| Modularização | Dividir programa |
| Fluxo | Ordem execução |
| COBOL | Principal exemplo procedural |
Conclusão
O paradigma procedural é um dos modelos mais importantes da programação tradicional no ambiente mainframe IBM Z.
Ele organiza programas em procedimentos e rotinas reutilizáveis, permitindo criar sistemas batch eficientes, estáveis e capazes de processar enormes volumes de dados no z/OS.