Pular para o conteúdo principal

Platão, Aristóteles e a Programação Orientada a Objetos (POO)

O que quero apresentar neste artigo é como o paradigma da Programação Orientada a Objetos está relacionado diretamente com os problemas onto-epistemológicos que muitos filósofos enfrentaram. Aqui usarei Platão e Aristóteles para exemplificar.

Para os não iniciados na filosofia, a Ontologia é o estudo do "ser", como uma coisa é o que é. Epistemologia é o estudo do conhecimento, como podemos conhecer as coisas.

Para ficar mais simples, peço que feche os olhos e pense num cachorro. Pensou? Onde em sua mente está esse cachorro que você pensou?

Ideia de cachorro








Instância de cachorro


Alguma semelhança com a POO? Ideia de cachorro (classe), Rex (instância de cachorro) . Em C# seria algo parecido com isso:

public class Cachorro
{
   public int Id {get; private set;}
   public string Nome {get; private set;}
   public DateTime DataNascimento {get; private set;}

   public Cachorro(string nome, DateTime dataNascimento)
   {
      this.Nome = nome;
      this.DataNascimento = dataNascimento;
   }
}

Para instanciar o cachorro Rex eu faria algo assim:

var cachorro = new Cachorro("Rex", new DateTime(1961,11,23);


Para Platão, a imagem que se formou na sua mente seria a ideia de cachorro. Todos os cachorros do mundo que vivemos seriam instâncias dessa forma de cachorro idealizado.

Aristóteles, ao contrário do seu mestre, argumenta que a experiência sensível dos objetos no mundo, formam, ao longo do tempo em nossa mente, essa ideia de cachorro e sendo assim, podemos identificar todos os exemplares de cachorro.

Se com a Programação Orientada a Objetos pretendemos imitar a realidade nos programas que escrevemos criando as classes (ideias) antes das instâncias (objetos), entendo que Platão seria um dos precursores desse paradigma.

E você, o que pensa?






Comentários

  1. Boa sacada! Aliar filosofia com programação nos dá um ponto de vista que até então eu não havia pensado que poderia existir.
    Quanto a sua questão. Concordo com ela. Platão, de fato, foi o percusor do paradigma.
    Antes de termos algo concreto faz-se necessário tê-lo em forma abstrata. Penso que o pensamento de Aritóteles pode se aplicar no que concerne a evolução de "modelos". Pense num carro... Pensou? Esse carro agora terá direção hidráulica, depois será pilotado através da internet e assim por diante. Vamos incrementando o objeto.

    Platão pode ser o pai da POO e Aristóteles foi o pai da manutenção. rs

    Parabéns pela iniciativa!

    ResponderExcluir

Postar um comentário