When most computer science texts refer to polymorphism (in the context of object oriented programming) they are referring to either refining the implementation of a method via subclasses overriding that method, OR, by defining more than one behavior (method) with the same name. The former case (hopefully) preserves the semantics of the method name, the latter overloads multiple semantics on the same name. In either case, it is only the method that is multifaceted, not the entire object much less the class hierarchy.
With Existential Programming, a different order of polymorphism (i.e. "a single entity can take on multiple forms") is at work. Here a single entity in its entirety can take on multiple forms. Heck, it can take on multiple ontologies (aka class hierarchies). This means either supporting multiple (albeit, fundamentally similar) views/conceptions of an entity, OR, trying to knit together very different models where the object instance is in some sort of oscillating Schrodinger's Cat-like state (except that we can look at it and not affect its state :-).
Monday, June 11, 2007
Subscribe to:
Posts (Atom)
MOTTO
Philosophy: Design Patterns for ThinkingTM
"Philosophical Programming" is a style of computer software development that explicitly seeks inspiration for new techniques from Western Philosophy (with a capital P).
- Bruce Wallace, 2006
Recommended Threads
Tags
abstraction
accidental/essential
bank
case study
components
database
definitions
disclaimer
elevator
epiphanies
equals
existential programming
frameworks
fuzzy
history
holes
humor
identity
integration
introduction
knowledge
language
logic
mathematics
mind-body
moral philosophy
movies
namespaces
ontologies
origins
parts
philosopher's toolkit
philosophy
polymorphism
POSTSCRIPT
primary/secondary
programmers_teach_philosophers
programming
project
properties
quantum
rant
roles
rose
savant
schema mediation
semantic network
space
species
taxonomy
test driven
testing
time
tools
types
vector space
views
PolyGlot, Inc.
- Bruce Wallace
- As Principal Consultant of PolyGlot Inc since 1980, Bruce Wallace has provided computer software development, consulting, and contract programming services around the world. Projects have been completed in San Francisco, Juan-les-Pins France, Sydney Australia, Perth West Australia, "Silicon Valley" CA, "Route 128" MA, Austin TX, Charlotte NC, Atlanta GA.