[PD] [qlist] and locality
jancsika at yahoo.com
Thu Apr 3 23:33:39 CEST 2014
On 04/03/2014 04:14 PM, Roman Haefeli wrote:
> On Don, 2014-04-03 at 12:00 -0400, Jonathan Wilkes wrote:
>> * when you run into nameclashes, you know your project has outgrown Pd
>> and it's time to choose another language
> That is a pretty bold statement.
It's meant as a shortcut to avoid wasting time.
> I never ever run into name clashes, no
> matter how big the project was/is.
> The no-name-clash dogma:
> * Do not use global s/r-symbols (simple)
Except you have two points below which contradict this!
But I suppose you meant to write that one shouldn't use global
s/r-symbols except for the two special cases below. Even so, what you
ignore is the entire learning curve that accompanies the dogma. The new
user is presented with the perverse starting point that the simple,
common case of global symbols should be used almost never and the
cryptic, dollarsign-zero symbol names should be used almost always.
Because the user must rely on cryptic dollarsign symbols for locality,
patching is more error-prone, and patches are harder to read. Every
message box is accompanied by the user's choice of extra patch cruft to
feed $0 into it. Maybe it's [f $0], [list prepend $0], an abstraction,
or something else. That yet one more little detail to check when things
go wrong, and it's there because the user is forced to type something
extra to get patch locality, which is most often what the user needs.
So yes, it's rather extreme of me to advise users to just use global
symbols and switch languages when they run into problems. But I think
there's an assumption on this list that most users know enough about
other programming languages to judge for themselves the level of
expressiveness in Pd. I don't think that's true, and I think it's
important to remind people just how clunky Pd is in these respects
compared to other modern languages.
> * Use global s/r-symbols for singletons (i.e. one server, many clients)
> * Use global s/r-symbols in cases where the protocol is multinode-aware.
> (No matter how many instances of an abstraction using a global s/r-
> symbol are created, they will always be able to communicate with each
> other in the same way)
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
More information about the Pd-list