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

Sem comentários:

Enviar um comentário