[PD] Objects vs Classes (was: libraries in Pd-extended 0.43)
Mathieu Bouchard
matju at artengine.ca
Tue Dec 14 15:23:24 CET 2010
On Mon, 13 Dec 2010, Hans-Christoph Steiner wrote:
> Pd doesn't really have classes like OOP (i.e. no inheritance),
Inheritance is not an essential feature of OOP, if you consider how much
this feature varies a lot from one OOP language to another, moreso than
other features.
The more essential features of OOP are data-abstraction, encapsulation,
polymorphism, modularity, ... and in nearly all lists of typical OOP
features, one is missing (but essential in practice) : the idea that
multiple objects share a single class definition (that is, "methods"
belong to "classes", not directly to "objects"). Pd's "abstractions" are
precisely that : one patch is a class, and each use of that patch as an
objectbox in any another patch is an object.
In short, there's a lot that programming languages have in common, that
are typical OOP features, without having to even speak about inheritance.
> so I think it can be confusing to use that term.
Confusing with what ? What's confusing is that you guys use one word for
two things that are normally given two different names in every other
language : object vs class in most cases, object vs prototype in some
others, instance vs class, etc.
The confusion comes from people who insist on using the word "object" to
mean "class".
> People have been saying objects for a long time with Pd and Max.
In itself, that doesn't make it a good idea.
The Pd/Max mentality of "we're soooo completely different from everything
else !" doesn't serve much more than egos. In the end, problem-solving in
Pd/Max is fundamentally similar to that of any other computer programming
(in the strategies, not the tactics), so, any kind of isolationism is a
manner of making it unnecessarily harder for other programmers to
understand us, and vice-versa. If we adopted standard vocabulary, we could
focus on real differences between Pd/Max and other languages, instead of
terminology.
_______________________________________________________________________
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC
More information about the Pd-list
mailing list