[PD] style guide idea: [send foo] versus [; foo(

Hans-Christoph Steiner hans at eds.org
Sat Mar 21 22:47:41 CET 2009

On Mar 21, 2009, at 3:42 AM, Matt Barber wrote:

>> Ah, ok, I get it, the text in the msg boxes is basically the same  
>> as the
>> text in the qlist file.  That makes sense, and in the context of  
>> [qlist] I
>> think it makes sense to teach about [; foo( sends.  But I don't  
>> think that
>> [qlist] is an essential object, especially for newbies.  I am not  
>> saying to
>> avoid it, I have covered it.  But personally, I almost never use  
>> it.  I find
>> it easier to use [textfile] and write my own timing code.  You can  
>> be a
>> pretty advanced Pd user and not have to use semi-colons in message  
>> boxes.
>> IMHO, semi-colons in messages boxes are no doubt useful, but they  
>> are not
>> essential.  In the interests of spreading out the learning of the  
>> concepts
>> in Pd into as many stages as possible, I think it makes sense to  
>> avoid using
>> semi-colons in messages boxes except in contexts that they are
>> indispensible.  So when learning about [qlist], for example, semi- 
>> colons in
>> message boxes should definitely be covered.
>> Outside of those contexts, I think that overall, Pd users will be  
>> better
>> served by avoiding their use.
> I would have a hard time signing up for this program.  A lot of things
> in Pd (and any programming language) are useful but inessential.
> IMO the send/receive binding in messages is essential if you want to
> understand how Pd is organized.  A lot depends on the kind of student
> you're working with -- many of them don't feel comfortable with things
> unless they see some kind of "big picture" -- for those students, they
> would be comforted by the fact that message boxes can store "send"
> messages, as well as [qlist] files, the text in .pd files, etc.
> Eventually students will need to learn this stuff, so the occasional
> | ;            /
> | pd dsp 1 \
> serves as a handy reminder rather than a detriment to readability.

I agree that we should be teaching it, but if you've never done any  
programming whatsoever, and haven't learned about that syntax in Pd,  
then it is definitely a hinderance to learning Pd.  There are lots of  
useful concepts in Pd that are not trivial to learn.  If the newbie  
can be more gradually introduced to them, and have a cycle of attempts  
and successes, then they will be more willing later on to struggle to  
get something working.

If the newbie is hit with a stack of new concepts all at once, it  
makes it harder to have those successes in the beginning.  I also  
agree with you that once you are learning about messages and [qlist]  
that having reminders is useful.  But until then they often are a  
major stumbling block for newbies.

So I don't think everyone needs to avoid their use, but I do think  
that in the documentation and reference, we should avoid their use  
except in the contexts where they are directly relevant.  A great  
example is A04.line2.pd.  The three big message boxes are pretty  
impenetrable for someone with no programming experience.  Compare it  
to the [trigger bang anything bang] on the lower right.

And one last little story that I just remembered:  I didn't realize  
that [send pd] was even a possibility until recently.  I had always  
seen [; pd dsp 1( and figured messages to pd had to be sent that way.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: A04.line2.pd
Type: application/octet-stream
Size: 2759 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20090321/fef9c25f/attachment.obj>
-------------- next part --------------

> Part of the problem is that [; foo( is a misnomer.  It's
> | ;    /
> | foo \
> This is the only way the syntax is clear.
> My vote for style goes for which makes the most sense in (often very
> complex) context.
> Matt


As we enjoy great advantages from inventions of others, we should be  
glad of an opportunity to serve others by any invention of ours; and  
this we should do freely and generously.         - Benjamin Franklin

More information about the Pd-list mailing list