[PD-dev] "object" lib

Chris McCormick chris at mccormick.cx
Fri Apr 14 05:22:57 CEST 2006


On Thu, Apr 13, 2006 at 02:17:54AM -0400, Mathieu Bouchard wrote:
> On Sun, 9 Apr 2006, Chris McCormick wrote:
> > On Fri, Apr 07, 2006 at 01:47:51PM -0400, Mathieu Bouchard wrote:
> > > The "copy-and-modify" part of those languages isn't inheritance, it's
> > > construction: they don't have ordinary "constructors". They both support
> > > inheritance but they both don't use classes to do inheritance.
> > I don't beleive this is true of Javascript. The only way to "inherit"
> > in javascript is to copy an existing object and then add methods to it
> > from the object you want to inherit from.
> 
> No, you have to set a property called "prototype", to which property 
> lookup of missing properties will be delegated. I don't know whether 
> Javascript supports multiple prototypes, but the SELF language does.
> (SELF was a major inspiration for JavaScript)

That is a cool feature; I did not know about the prototype property of
objects in Javascript. Thanks for the heads up.

> > If you ask me, this is more like having a fixed method of an object and
> > giving it an argument that re-configures the way it works than modifying
> > the code. But not entirely. This highlights the problem with trying to
> > map concepts like "method" and "object" onto Pd.
> 
> I was talking about modifying the objects inside the abstraction. If you 
> consider whatever you do in Edit Mode to be just "re-configuration", then 
> you may as well call all code as "data" and coding as "re-configuring the 
> compiler".

Yes, point taken. But in my opinion, there isn't a one-to-one exact match
between these concepts in programming and Pd patching. Patching is not
programming. It's like programming. A number of features of 'patching'
intersect with those of 'programming'.

In any case:

"Musicians have often used Max as a programming environment, at which Max
succeeds only very awkwardly... This decision was made to remove a layer
of complexity that didn't seem to be strictly necessary in the context of
computer music production, in order to make Max as accessible as possible
to people who aren't professional computer programmers... Rather than
a programming environment, Max is fundamentally a system for scheduling
real-time tasks and managing intercommunication between them."

-- MSP, <http://crca.ucsd.edu/~msp/Publications/dartmouth-reprint.dir/>

Maybe we should stop thinking "The diagram is the program. (TM)"
and start thinking "The diagram is the audio/visual [real time]
composition." instead. That is certainly closer to how I use Puredata.

Best,

Chris.

-------------------
chris at mccormick.cx
http://mccormick.cx




More information about the Pd-dev mailing list