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.
.hc
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