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
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?
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);
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?



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.
ResponderExcluirQuanto 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!