Translate

Mostrar mensagens com a etiqueta paradigma. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta paradigma. Mostrar todas as mensagens

terça-feira, 28 de outubro de 2025

☕💣 “ANTES DO COBOL EXISTIA O CAOS” — A VERDADEIRA HISTÓRIA DA LÓGICA DE PROGRAMAÇÃO NO MAINFRAME IBM Z 💣☕

 

Bellacosa Mainframe e a Logica de Programação Mainframe

☕💣 “ANTES DO COBOL EXISTIA O CAOS” — A VERDADEIRA HISTÓRIA DA LÓGICA DE PROGRAMAÇÃO NO MAINFRAME IBM Z 💣☕

Do código selvagem ao raciocínio estruturado que move bancos, governos e o planeta inteiro

Quando alguém começa no universo Mainframe IBM Z, normalmente pensa:

  • “Vou aprender COBOL”

  • “Vou aprender JCL”

  • “Vou aprender DB2”

  • “Vou aprender CICS”

Mas existe algo MUITO mais importante antes disso:

🔥 APRENDER A PENSAR COMO UM PROGRAMADOR DE ALTA PLATAFORMA

E aqui está um segredo que poucos contam aos iniciantes:

Mainframe não é só tecnologia.

Mainframe é DISCIPLINA DE RACIOCÍNIO.

Os grandes sistemas bancários, cartões de crédito, previdência, folha de pagamento, companhias aéreas e bolsas financeiras sobreviveram décadas porque foram construídos sobre uma lógica extremamente organizada.

E essa organização nasceu de três grandes pilares:


☕ 1. O PARADIGMA IMPERATIVO — “FAÇA ISSO, DEPOIS AQUILO”

O começo de tudo

O paradigma imperativo é a forma mais antiga e natural de programação.

Ele funciona como uma receita de bolo:

  1. Pegue farinha

  2. Misture ovos

  3. Ligue o forno

  4. Asse por 40 minutos

Na programação:

1. Leia o arquivo
2. Valide o registro
3. Atualize o saldo
4. Grave o resultado

O computador executa instruções em sequência.


🔥 Origem histórica

O paradigma imperativo nasceu praticamente junto com os computadores comerciais.

Décadas de 1940 e 1950:

  • Assembly

  • Linguagem de máquina

  • Primeiros compiladores

Tudo era baseado em:

“Mandar o computador fazer algo”

Daí o nome:

Imperativo = comando


☕ Como isso chegou ao Mainframe?

Os primeiros sistemas IBM comerciais funcionavam exatamente assim:

  • Ler cartão perfurado

  • Processar linha por linha

  • Atualizar arquivos

  • Imprimir relatórios

O mundo corporativo nasceu imperativo.

E até hoje grande parte do processamento batch do z/OS continua seguindo essa lógica.


💣 Exemplo simples de lógica imperativa

Objetivo:

Somar salários

Pseudocódigo:

LER FUNCIONARIO
SOMAR SALARIO
GRAVAR TOTAL

COBOL simplificado:

ADD SALARIO TO TOTAL-SALARIOS.

O foco está na ação.


☕ Curiosidade histórica

Os primeiros programadores literalmente desenhavam fluxos em papel gigantesco.

Fluxogramas eram fundamentais porque:

  • Memória era caríssima

  • CPU era limitada

  • Um erro podia desperiçar horas de processamento

Por isso nasceu uma obsessão no Mainframe:

🔥 RACIOCINAR ANTES DE CODIFICAR

Algo que muitos ambientes modernos perderam.


☕ 2. O PARADIGMA PROCEDURAL — “DIVIDA O PROBLEMA”

Com o crescimento dos sistemas, surgiu um problema gigantesco:

O código virou um monstro impossível de manter

Programas tinham:

  • 20 mil linhas

  • 50 mil linhas

  • 100 mil linhas

Sem organização.

Então surgiu a ideia revolucionária:

“Separar o programa em procedimentos”


🔥 O que é programação procedural?

É dividir o sistema em partes menores.

Exemplo:

PROCEDIMENTO-VALIDA-CLIENTE
PROCEDIMENTO-CALCULA-JUROS
PROCEDIMENTO-GRAVA-ARQUIVO

Cada parte faz uma tarefa específica.


☕ Isso mudou o Mainframe para sempre

O COBOL abraçou completamente o paradigma procedural.

Por isso existem:

  • SECTION

  • PARAGRAPH

  • PERFORM

Exemplo clássico:

PERFORM CALCULA-TOTAL.
PERFORM IMPRIME-RELATORIO.

💣 O nascimento do “programador corporativo”

Aqui nasceu o conceito moderno de desenvolvimento empresarial.

Antes:

  • um programador fazia tudo

Depois:

  • equipes dividiam responsabilidades

  • módulos eram reaproveitados

  • manutenção ficou possível

Isso permitiu o crescimento dos bancos nos anos 70 e 80.


☕ Exemplo prático procedural

Sistema de folha de pagamento

Divisão lógica:

1. Ler funcionário
2. Calcular INSS
3. Calcular IR
4. Calcular salário líquido
5. Gravar resultado

Cada bloco vira um procedimento.


🔥 Exemplo COBOL

PERFORM LE-FUNCIONARIO
PERFORM CALCULA-INSS
PERFORM CALCULA-IR
PERFORM CALCULA-LIQUIDO
PERFORM GRAVA-ARQUIVO

Observe:

O programa ficou legível

E legibilidade no Mainframe vale ouro.


☕ Curiosidade importante

Muitos sistemas bancários antigos ainda possuem procedimentos escritos nos anos 80 rodando ATÉ HOJE.

E continuam funcionando porque a estrutura procedural ajudou na manutenção.

Isso é um dos motivos pelos quais:

Mainframe envelhece melhor que muita plataforma moderna.


☕ 3. O PARADIGMA PROCEDURAL ESTRUTURADO — “PAREM DE USAR GOTO”

Aqui entramos numa das maiores revoluções da computação.

Durante décadas, programas eram cheios de:

GOTO
JUMP
DESVIO
SALTO

Isso criava o famoso:

💣 “SPAGHETTI CODE”

Código impossível de entender.


🔥 O problema do GOTO

Imagine isto:

SE ERRO VAI PRA LINHA 900
SE SUCESSO VAI PRA 1200
SE FALHA VOLTA PRA 300

Ninguém entendia nada.

Sistemas corporativos viravam labirintos.


☕ Surge a programação estruturada

Nos anos 60 e 70, cientistas como:

  • Edsger Dijkstra

  • Niklaus Wirth

começaram uma revolução:

“Programas devem ter estrutura lógica clara”


🔥 Conceitos fundamentais

A programação estruturada trouxe:

Sequência

FAÇA A
FAÇA B
FAÇA C

Decisão

SE SALDO < 0
   COBRAR TAXA
SENAO
   CONTINUAR

Repetição

ENQUANTO HOUVER REGISTRO
   PROCESSAR

☕ Isso mudou o COBOL moderno

O COBOL começou a abandonar:

GO TO ERRO.

e passou a usar:

IF ERRO
   PERFORM TRATA-ERRO
END-IF

💣 O nascimento da manutenção moderna

A programação estruturada permitiu:

  • menor número de bugs

  • manutenção segura

  • auditoria

  • rastreabilidade

  • estabilidade bancária

Sem isso:

  • internet banking seria inviável

  • PIX seria inviável

  • processamento massivo seria caótico


☕ Exemplo estruturado em COBOL

Antes (caótico)

IF SALDO LESS THAN ZERO
   GO TO ERRO.

Depois (estruturado)

IF SALDO < ZERO
   PERFORM TRATA-ERRO
ELSE
   PERFORM PROCESSA-CONTA
END-IF

Muito mais claro.


🔥 O grande segredo do Mainframe

O Mainframe não sobreviveu décadas por acaso.

Ele sobreviveu porque criou uma cultura baseada em:

  • previsibilidade

  • organização

  • rastreabilidade

  • clareza

  • controle

Isso nasceu diretamente da programação estruturada.


☕ COMO UM INICIANTE DEVE ESTUDAR LÓGICA MAINFRAME?

Aqui está uma sequência extremamente poderosa.


🔥 ETAPA 1 — PENSAR EM FLUXO

Antes de escrever COBOL:

Pergunte:

O que entra?
O que processa?
O que sai?

Esse é o DNA do batch.


🔥 ETAPA 2 — DIVIDIR O PROBLEMA

Nunca tente resolver tudo de uma vez.

Separe:

  • leitura

  • validação

  • cálculo

  • gravação

  • relatório


🔥 ETAPA 3 — ELIMINAR CAOS

Evite:

  • desvios desnecessários

  • lógica duplicada

  • código confuso


🔥 ETAPA 4 — ESCREVER PARA O FUTURO

No Mainframe:

Você não escreve código para hoje.

Você escreve código que alguém manterá em 2045.

Esse pensamento muda tudo.


☕ EXEMPLO REAL DE RACIOCÍNIO MAINFRAME

Imagine um processamento bancário noturno.

Entrada

Arquivo com:

  • contas

  • saldos

  • movimentações


Processamento

O sistema:

  1. lê registro

  2. valida dados

  3. calcula juros

  4. aplica tarifas

  5. atualiza saldo

  6. grava resultado

  7. gera relatório


🔥 ISSO É LÓGICA MAINFRAME

Fluxo.
Controle.
Previsibilidade.

Não existe “mágica”.

Existe engenharia.


☕ CURIOSIDADES QUE POUCOS INICIANTES SABEM

💣 COBOL foi criado para legibilidade humana

A ideia era que gestores conseguissem ler partes do código.

Por isso comandos parecem inglês.


💣 O GOTO quase destruiu sistemas corporativos

Houve programas tão caóticos que ninguém conseguia corrigir bugs sem quebrar outra coisa.


💣 Mainframe ajudou a criar engenharia de software moderna

Muitos conceitos de:

  • modularização

  • auditoria

  • processamento seguro

  • versionamento lógico

amadureceram em ambientes corporativos IBM.


💣 Batch influenciou computação moderna

Pipelines modernos, ETL, processamento distribuído e até workflows cloud possuem heranças conceituais do batch mainframe.


🔥 DIFERENÇA ENTRE OS 3 PARADIGMAS

ParadigmaIdeia CentralProblema Resolvido
ImperativoMandar executarFazer o computador trabalhar
ProceduralDividir tarefasOrganizar sistemas
EstruturadoControlar fluxoEvitar caos

☕ O QUE O INICIANTE PRECISA ENTENDER

Aprender COBOL sem lógica é perigoso.

Porque você vira:

“digitador de sintaxe”

Mas o mercado precisa de:

🔥 PROFISSIONAIS QUE ENTENDEM PROCESSAMENTO CORPORATIVO

Quem domina lógica:

  • entende batch

  • entende online

  • entende integração

  • entende performance

  • entende debugging

  • entende negócios


💣 A GRANDE VERDADE SOBRE O MAINFRAME

O Mainframe não é antigo porque usa COBOL.

O Mainframe é DURADOURO porque foi construído em cima de princípios sólidos de engenharia.

E esses princípios começam aqui:

  • paradigma imperativo

  • paradigma procedural

  • programação estruturada


☕ CONCLUSÃO — O DIA EM QUE VOCÊ COMEÇA A “PENSAR MAINFRAME”

O verdadeiro programador de alta plataforma não é aquele que decora comandos.

É aquele que consegue olhar um problema empresarial gigante e pensar:

entrada
processamento
controle
segurança
saída
rastreabilidade

Quando isso acontece…

🔥 VOCÊ PAROU DE APRENDER COBOL

E COMEÇOU A APRENDER ENGENHARIA DE SOFTWARE CORPORATIVA.


terça-feira, 7 de abril de 2015

A Confusão Semântica que Atravessa Gerações de Programadores

Bellacosa Mainframe conversa sobre a confusao semantica entre Logica e Paradigma

A Confusão Semântica que Atravessa Gerações de Programadores

Jovem padawan, muitos programadores antes de você ouviram que “lógica de programação” é um tipo de linguagem ou paradigma. Não é. Lógica é a forma de pensar; paradigma é a forma de construir.

A confusão nasceu nas salas de aula, onde simplificar ajuda a começar, mas deixa cicatrizes conceituais. Assim, gerações repetem termos imprecisos sem perceber.

Quando você distingue pensamento algorítmico de modelo estrutural, o código deixa de ser magia e vira engenharia. Entenda isso cedo e evitará debates inúteis, documentação confusa e decisões ruins de arquitetura. 

Clareza conceitual é uma arma poderosa na Força — e também na manutenção de sistemas que precisam sobreviver décadas.

🧠 1) “Lógica de programação” NÃO é um paradigma

“Lógica de programação” é um termo didático.

Ele se refere à capacidade de:

  • decompor um problema

  • definir passos ordenados

  • usar condições e repetições

  • estruturar algoritmos

Ou seja: é uma habilidade mental, não um modelo formal de linguagem.

Você pode usar lógica de programação em:

  • C

  • COBOL

  • Python

  • Java

  • Assembly

  • até planilhas 😄

👉 Portanto, lógica ≠ paradigma


🏛️ 2) Paradigma procedural é o termo técnico correto

Na teoria da computação, linguagens são classificadas por paradigmas.

O procedural é um deles.

✔️ Paradigma Procedural

Baseia-se em:

  • sequência de instruções

  • procedimentos / funções

  • alteração de estado

  • fluxo de controle explícito

Exemplos clássicos:

  • C

  • Pascal

  • COBOL

  • Fortran

  • PL/I

  • ALGOL

👉 Em COBOL, por exemplo, a PROCEDURE DIVISION é a essência procedural.


📚 3) Por que o ensino usa “lógica procedural”?

Principalmente por motivos pedagógicos:

🎓 A) Iniciantes não precisam de teoria de paradigmas

É mais simples dizer:

“Vamos aprender lógica de programação”

do que:

“Vamos estudar um paradigma imperativo/procedural”


🎓 B) Nem sempre usam uma linguagem “pura”

Cursos iniciais misturam:

  • pseudocódigo

  • fluxogramas

  • Portugol

  • Scratch

  • Python básico

Fica difícil falar de paradigma formal.


🎓 C) O objetivo é aprender a pensar, não a linguagem

Antes de aprender:

  • OOP

  • Funcional

  • Concorrente

  • Declarativo

o aluno precisa aprender a resolver problemas passo a passo.


⚙️ 4) Relação com o paradigma imperativo

Tecnicamente, procedural é um subtipo de outro paradigma:

👉 Imperativo

Imperativo
├── Procedural
└── Orientado a Objetos

Ambos usam:

  • comandos

  • estado mutável

  • execução sequencial


🏆 5) No mundo mainframe isso é muito claro

COBOL clássico é procedural puro:

  • fluxo top-down

  • parágrafos e seções

  • controle explícito

  • pouca abstração estrutural

Embora o COBOL moderno suporte OO, a cultura mainframe ainda é fortemente procedural.


✅ Conclusão

Dizemos “lógica de programação procedural” por tradição educacional — mas o termo técnico correto é:

👉 Paradigma procedural

Resumo rápido:

  • 🧠 Lógica de programação = habilidade de pensar algoritmicamente

  • 🏛️ Paradigma procedural = modelo formal de construção de programas

  • 🎓 O ensino simplifica a terminologia para iniciantes