--- On Tue, 12/14/10, Mathieu Bouchard matju@artengine.ca wrote:
From: Mathieu Bouchard matju@artengine.ca Subject: [PD] Objects vs Classes (was: libraries in Pd-extended 0.43) To: "Hans-Christoph Steiner" hans@at.or.at Cc: "Jonathan Wilkes" jancsika@yahoo.com, "PD List" pd-list@iem.at Date: Tuesday, December 14, 2010, 3:23 PM 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.
You've used this argument before. I don't remember exactly what the
topic was-- maybe recursion-- and you made the point that pretty
much verbatim-- that Pd is very different from everything else.
I don't know, maybe you were talking about "tactics" (see below).
In the end, problem-solving in Pd/Max is fundamentally similar to that of any other computer programming (in the strategies, not the tactics)
It looks as if you a) wrote the "we're-soooo-completely-different" straw man, b) realized it might apply to yourself, and c) decided to give yourself an escape route by making an arbitrary division between strategies and tactics. (How is it that the Pd tacticians are reasonable people but the Pd strategists are egomanical?)
-Jonathan
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