Diferenças entre Programação: Procedural, Funcional e OOP

Vamos ver alguns conceitos.


Diferenças entre Programação: Procedural, Funcional, Orientada a Objetos e Eventos

Vamos ver alguns conceitos de programação para que haja uma maior compreensão, pelo menos teórica, em desenvolvimento.

Introdução

Este artigo tenta definir as várias semelhanças e diferenças entre os vários paradigmas de programação como um resumo sobre essas semelhanças e diferenças .

Programação Procedural

Também conhecida como Programação Estruturada , ela especifica as etapas que um programa deve executar para atingir o estado desejado. Veja um exemplo em Shell Script abaixo:

#!/bin/sh
# Exemplo Funcional

function insert_the_name()
echo "Insira seu Nome"
read -n1 RESPOSTA
mkdir $REPLY
cd $REPLY
find $HOME -type f -iname "*.cc" -exec mv {} . \;

function enter_lastname(){
    echo "Insira seu Sobrenome"
    read -n1 SOBRENOME
    mkdir $SOBRENOME
    cd $SOBRENOME
}

function loop_for(){
    for i in $(grep -o 'http.*' ${CONFIG_PROTECT} | sed 's/\".*//g');
    do
        wget -q "$i"; echo "Release $(basename $i)";
    done
}

function sum(){
    echo "$1" + "$2" | bc
}

insert_the_name
enter_lastname
loop_for
sum

Programação Funcional

Trata os programas como avaliando funções matemáticas e evita dados de estado e mutáveis .

Programação Orientada a Objetos

Conhecida também pela sigla POO ou OOP(em inglês, Object-Oriented Programming) . Organiza programas como objetos : estruturas de dados que consistem em campos de dados e métodos, juntamente com suas interações. Exemplo em C++:

#include <iostream>
#include <string>
/*
 * Exemplo Orientado a Objetos
 * */
class Cpp{
	public:
		int sum( int * x, int * y){
			return *x + *y;
		}

		bool verify( int *n){
			if(*n > 2){
				return true;
			}else{
				std::cout << "N° de argumentos inválido." << "\n";
				return false;
			}
		}
};

int main( int argc, char** argv ){
	Cpp cpp;

	if( cpp.verify( &argc ) ){
		int a {std::stoi(argv[1])};
		int b {std::stoi(argv[2])};
		std::cout << cpp.sum(&a, &b) << "\n";
	}

	return 0;
}

Outros Paradigmas de Programação

Ou seja, são informações técnicas, mas que possuem um cunho também organizacional e deve ser aplicada cada um dos paradigmas dependendo do programa , do objetivo do programa e também aos recursos oferecidos pela Linguagem de Programação , saiba mais aqui.

Não esqueça de comentar sua visão ou algo que você acredite que é fundamental e relevante informar também para que possamos acrescentar.

Abraços!

Compartilhe

Marcos Oliveira

Autor
Marcos Oliveira
Desenvolvedor de Software
youtube.com/TerminalRootTV

Pacote Promocional com Todos os Cursos

Adquira todos os cursos para se tornar um ninja do Terminal e do Linux.

Artigos Relacionados



Comentários