| Bellacosa Mainframe e o paradigma de programação imperativo |
O que é Paradigma de Programação Imperativo?
Quando começamos a estudar:
COBOL;
Assembler;
C;
JCL;
programação mainframe;
encontramos um conceito muito importante chamado:
paradigma de programação.
E um dos paradigmas mais famosos da computação é o:
paradigma imperativo.
O que significa “paradigma”?
Paradigma é:
um modelo ou estilo de programação.
Ou seja:
é a forma como organizamos a lógica do programa.
Definição simples
Programação imperativa é:
dizer ao computador exatamente o que fazer, passo a passo.
O programa descreve:
sequência;
comandos;
mudanças de estado;
fluxo de execução.
Analogia simples
Imagine ensinar alguém a fazer um bolo.
Você diz:
1. Pegue farinha
2. Misture ovos
3. Ligue o forno
4. Coloque a massa
5. Asse por 40 minutos
Isso é:
programação imperativa.
Você descreve:
cada passo da execução.
Por que “imperativo”?
Porque o programa usa:
comandos e instruções.
Ou seja:
ele “ordena” o que o computador deve fazer.
Como isso aparece no mainframe?
O mainframe tradicional é fortemente baseado em:
paradigma imperativo.
Principalmente em:
COBOL;
Assembler;
PL/I;
JCL procedural.
Exemplo simples em pseudocódigo
LER SALARIO
SE SALARIO > 5000
CALCULAR IMPOSTO
SENAO
MOSTRAR ISENTO
O programa controla:
ordem;
variáveis;
decisões;
fluxo.
Exemplo COBOL
IF SALARIO > 5000
COMPUTE IMPOSTO = SALARIO * 0.15
ELSE
DISPLAY 'ISENTO'
END-IF
Isso é imperativo porque:
o programador define:
exatamente como o processamento acontece.
Características do paradigma imperativo
Sequência de comandos
Alteração de variáveis
Controle de fluxo
Uso de IF e LOOP
Estado do programa muda durante execução
O que é “estado”?
Valores atuais do programa.
Exemplo:
SALDO = 100
Depois:
SALDO = 200
O estado mudou.
Estruturas clássicas do imperativo
IF
Decisão.
PERFORM
Repetição COBOL.
GO TO
Desvio fluxo.
MOVE
Movimentação dados.
COMPUTE
Cálculo.
Exemplo COBOL batch
READ CLIENTE
IF SALDO > 0
WRITE RELATORIO
END-IF
Fluxo típico imperativo
INICIO
↓
LER DADOS
↓
PROCESSAR
↓
ATUALIZAR
↓
GERAR SAÍDA
↓
FIM
Por que o paradigma imperativo domina no mainframe?
Porque ele funciona muito bem para:
processamento batch;
regras de negócio;
arquivos sequenciais;
grande volume de dados.
O COBOL é imperativo?
Sim.
Principalmente:
COBOL procedural clássico.
O Assembler é imperativo?
Totalmente.
Assembler é um dos exemplos mais “puros” de paradigma imperativo.
O JCL é imperativo?
Parcialmente.
Porque ele descreve:
sequência operacional.
Paradigma imperativo vs declarativo
Imperativo
Diz:
COMO fazer.
Declarativo
Diz:
O QUE deseja obter.
Exemplo SQL
SELECT NOME
FROM CLIENTES
WHERE SALDO > 1000
Isso é mais:
declarativo.
Porque o SQL não explica:
loops;
leitura;
memória;
fluxo detalhado.
Exemplo imperativo equivalente
LER CLIENTE
SE SALDO > 1000
MOSTRAR NOME
LER PRÓXIMO
Paradigma imperativo em batch
Muito comum em:
COBOL;
SORT;
processamento sequencial.
Exemplo clássico batch
LER REGISTRO
VALIDAR
CALCULAR
GRAVAR
LER PRÓXIMO
Isso é extremamente comum no z/OS
O que é programação procedural?
Subtipo muito ligado ao paradigma imperativo.
Usa:
procedimentos;
rotinas;
subprogramas.
COBOL clássico é procedural
Vantagens do paradigma imperativo
Fácil entender fluxo
Controle detalhado
Excelente para batch
Ótimo desempenho
Muito eficiente em processamento massivo
Desvantagens
Pode ficar complexo
Muito código repetitivo
GO TO excessivo vira “spaghetti code”
Difícil manutenção em sistemas enormes
O que é spaghetti code?
Código confuso cheio de desvios.
Muito comum em sistemas antigos.
Curiosidades incríveis
1. Grande parte do sistema financeiro mundial roda lógica imperativa
2. COBOL foi criado pensando em processamento procedural
3. Mainframes executam bilhões de instruções imperativas diariamente
4. Muitos sistemas críticos possuem décadas de evolução imperativa
Erros comuns de iniciantes
1. Confundir paradigma com linguagem
Paradigma:
modelo lógico.
Linguagem:
ferramenta.
2. Usar GO TO demais
3. Não controlar estado das variáveis
4. Criar lógica procedural confusa
Como isso aparece no dia a dia?
Praticamente em:
COBOL;
batch;
JCL;
DB2 procedural;
CICS;
automação.
Exemplo real simplificado
LER CONTA
↓
VALIDAR
↓
CALCULAR JUROS
↓
ATUALIZAR DB2
↓
GERAR RELATÓRIO
Resumo rápido
| Conceito | Significado |
|---|---|
| Paradigma | Estilo de programação |
| Imperativo | Diz como fazer |
| Estado | Valores atuais |
| Procedural | Baseado em procedimentos |
| Fluxo | Ordem da execução |
| COBOL | Principal exemplo no mainframe |
Conclusão
O paradigma imperativo é um dos modelos mais importantes da computação e domina grande parte do desenvolvimento tradicional em mainframe IBM Z.
Ele organiza programas através de comandos sequenciais, decisões e alterações de estado, sendo a base do COBOL, Assembler e do processamento batch no z/OS.
Sem comentários:
Enviar um comentário