October 18, 2006
Programmazione ad oggetti e sistemi filosofici
La programmazione ad oggetti, è una forma di aprioristico kantiano oppure la realizzazione della teoria delle idee platonica?
Un mio amico mi ha “confidato” questa intuizione : la programmazione ad oggetti può essere vista come la realizzazione del sistema platonico delle idee.
Propongo questo concetto ad un mio collega, che invece asserisce: secondo me, è la realizzazione del sistema a priori kantiano.
Breve infarinatura filosofia sui termini qui sopra usati.
Il sistema platoniano prevede un “ambiente” dove esistono delle idee, di cui la realtà quotidiana ne è uno specchio.
Nel sistema aprioristico kantiano certi concetti preesistono nella nostra coscienza.
Chi ha ragione?




Responses to Programmazione ad oggetti e sistemi filosofici
Concordo col Roda, confido che quando e’ sobrio abbia delle buone idee…
Left by LorenzoC on October 20, 2006 at 7:03 am
Ho fatto il Liceo, ma poco ricordo di filosofia, e i link di wikipedia certo non aiutano a rinfrescare la memoria (o meglio, su Platone si, ma non su Kant).
Ma ad occhio pure io penso che la programmazione ad oggetti, o meglio, come dice Simone, il Domain Model, è più simile al sistema ideale di Platone: cioè, sempre se ho capito correttamente il paragone filosofico, il Domain Model è il modello ideale che rappresenta il sistema, disegnato dopo ore ed ore di analisi con il cliente per comprendere appieno il dominio appilcativo. Nel sistema a proiri, invece, sempre se ho capito correttamente, è come se il progettista decidesse a priori che una cosa deve essere fatta così, ma poi nella realtà non lo è.
Left by Matteo on October 20, 2006 at 8:15 am
E se invece fosse Aristotele ad avere ragione?
La creazione dell’istanza di una classe può essere interpretata come la trasformazione dell’essere in potenza nell’essere in atto…
Left by Andrea on October 20, 2006 at 1:07 pm
Cosi’ come in Platone abbiamo un’Idea perfetta che fa da modello agli Oggetti, cosi’ nella programmazione ad OOP abbiamo Classi che generano oggetti.
Dalla Idea/Classe di Cane si istanziano fido, rin tin tin, lessie.
I Costruttori sono il Demiurgo.
Left by fabietto on October 24, 2006 at 4:57 pm
Visto che ci siamo, “disquisiamo”!
Fabietto, non mi trovo d’accordo con la visione platonica della programmazione ad oggetti.
Per Platone l’Idea è la perfezione verso cui gli oggetti reali (imperfetti) tendono. Ma non mi pare che nella programmazione ad oggetti la classe rappresenti la perfezione rispetto alla sua istanza. L’Idea/Classe di Cane non è una versione perfetta di Fido. La riterrei più una versione astratta, un modello.
Io avrei più una visione aristotelica: la classe è l’Essere in potenza (quello che l’Essere potrebbe diventare) e l’istanza è l’Essere in atto (quello che l’Essere in potenza diventa).
Left by Andrea on October 26, 2006 at 8:45 am
Object-Oriented Programming and Plato
I was doing a bit of light reading, Everything and More: A Compact History of Infinity (Great Discoveries), and discovered that the roots of Object-Oriented architecture are found in the “One Over Many” Argument (O.O.M.). Plato’s idea is that, and I quote directly from the book mentioned above by David Foster Wallace,
“if two individuals have some common attribute and so are describable by the same predicate – ‘Tom is a man’; ‘Dick is a man’ – then there is something in virtue of which Tom and Dick (together with all other referents of the predicate nominative ‘man’) have this common attribute. This something is the ideal Form Man, which Form is what really, ultimately exists, whereas individual men are just temporal appearances of the Form, with a kind of borowed or derivative existence, like shadows or projected images.”
The basic thrust of this argument ties in nicely with the ideas behind, and the definition of, Object-Oriented Programming Architectures.
As I was indulging in a bit of this light reading this morning, I came across that passage in the book and was instantly struck by it’s similarity to my idea of the object-oriented paradigm. We’ve been discussing Object-Oriented concepts in school for the past couple of classes (Java I, Java II, and now in a database class in which we are studying UML and Object-Oriented Databases (OODBs)), and the fact that the philisophical musings of Plato – remembering that he mused more than 2000 years ago – dovetail so nicely with the brand-spanking-new ideas behind OO architectures is cool.
http://www.rhastings.net/archives/2004/12/26/object-oriented-programming-and-plato/
Left by fabietto on December 14, 2006 at 12:11 pm
The object−oriented paradigm is a concept−centric paradigm encompassing the following pillars (first principles):abstraction, encapsulation, inheritance, and polymorphism. It was originally conceived by three of the mostprominent Greek philosophers, Socrates (470−399 BC), Plato (428−348 BC), and Aristotle (384−322 BC) in thetheory of Forms. The paradigm has evolved since its original conceptualization to become a pivotal force in theevolution of science, technology, and any other domain in which it is applied
http://home.comcast.net/~salhir/TheObjectOrientedParadigm.PDF
Left by fabietto on December 14, 2006 at 12:17 pm