Padrões de programação – o que é programação procedural?

Padrões de programação são diferentes estilos, diferentes “formas” de programação. Existem muitos paradigmas diferentes, incluindo alguns populares como programação procedural, programação orientada a objetos, programação funcional, etc. E alguns que não são tão populares, tais como programação imperativa, programação declarativa, programação orientada a eventos, etc. Se você está curioso, há aqui um resumo muito bom de paradigmas de programação. Neste post, discutiremos um popular, que é Procedural Programming.

Tl; dr;

Procedural programming is one of the most popular programming paradigms out there. Ao seguir a programação de procedimentos, dividimos o código em unidades menores chamadas funções ou procedimentos para que seja mais fácil reutilizá-lo e o fluxo da execução seja de cima para baixo. Este estilo é fácil de entender e implementar. Como resultado, ele é frequentemente ensinado na introdução aos cursos de programação.

Outros posts no blog da série:

Padrões de programação – é melhor programação orientada a objetos?

O que é programação procedural?

Programação procedural é um método de programação que tem o suporte de dividir as funcionalidades em uma série de procedimentos. Na programação de procedimentos, um programa grande é dividido em partes menores gerenciáveis chamadas procedimentos ou funções. Aqui, a prioridade é dada às funções e não aos dados. Em uma linguagem de programação de procedimentos, um programa consiste basicamente de uma seqüência de instruções, cada uma das quais diz ao computador para fazer algo como ler entradas do usuário, fazer o cálculo necessário, exibir a saída.

def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here

Quando um programa se torna maior, ele então é dividido em unidades menores chamadas procedimentos ou funções. Uma série de funções devem ser escritas para a realização de uma tarefa específica. Estas funções não permitem a duplicação de código devido à mesma chamada de função a partir de múltiplas localizações. Esta técnica só é adequada para aplicações de software de tamanho médio

Na programação de procedimentos, são utilizados dois tipos de dados locais e globais. Os dados dentro da função são chamados dados locais e os dados e que não estão dentro de nenhuma função são chamados dados globais. Os dados locais são acessíveis à única função onde são declarados. Assim, cada função pode acessar seus dados locais assim como dados globais.

// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}

Os dados locais de uma função não são acessíveis a outras funções. Se algum dado tiver que ser acessado por duas ou mais funções, ele deve ser tornado global. No entanto, os dados globais são vulneráveis a outro programador para serem alterados sem conhecimento prévio. A disposição separada dos dados e funções faz um mau trabalho de modelagem das coisas no mundo real. É por isso que a abordagem de programação procedural não modela perfeitamente um sistema do mundo real.

COBOL, FORTRAN, C, Pascal são algumas linguagens de programação que podem implementar programação procedural.

Características da programação procedural

Um programa grande é decomposto em pequenos procedimentos ou funções gerenciáveis. Isto reduz a duplicação de código, o que melhora a legibilidade e manutenção do código.

Diferentes funções podem compartilhar dados através de variáveis globais. As funções são completamente isoladas, portanto se quisermos compartilhar dados, precisamos declará-los no escopo superior.

Funções podem alterar dados globais. Como os dados globais são transferidos de função para função; durante o curso da transformação, os dados globais podem ser alterados em cadeias de funções.

Top-down methodology. Como mencionado anteriormente, a programação de procedimentos segue a metodologia top-down, o workflow vai de cima para baixo.

Vantagens da programação de procedimentos

  • A codificação é fácil e simples.
  • Os códigos têm a capacidade de ser reutilizados em várias partes do programa.
  • O paradigma de programação consome menos memória no computador.
  • É mais fácil seguir o fluxo dos códigos no programa escrito no paradigma de programação procedural.
  • O paradigma de programação é considerado o melhor para a programação geral aprender e implementar.

Limitações ou desvantagens da programação procedural

  • Foco nas funções em vez dos dados.
  • Em programa grande, é difícil identificar a pertença de dados globais.
  • O uso de dados globais é propenso a erros e pode ser um obstáculo em caso de manutenção e melhorias.
  • A modificação de dados globais requer a modificação daquelas funções usando-o.
  • Manter e melhorar o código do programa ainda é difícil por causa dos dados globais.
  • O paradigma de programação procedural não modela muito bem o problema do mundo real já que as funções são orientadas para a ação e não correspondem realmente aos elementos do problema.

Resumo

Programação procedural certamente oferece muitas vantagens, uma delas é fácil de aprender e implementar. Novos programadores podem começar a sua jornada aprendendo como escrever código em estilo procedural. Isso os ajudará a entender como funciona certa linguagem de programação.

No entanto, devido a sua limitação, aplicações do mundo real não estão usando programação procedural. Portanto, os alunos precisarão aprender outros paradigmas para serem expostos a problemas da vida real.

Obrigado pela leitura. Você pode pesquisar mais posts sobre tecnologia aqui.

Por Tuan Nguyen

Post Views: 7,558

Deixe uma resposta

O seu endereço de email não será publicado.