[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