On 04/03/2014 05:42 PM, Roman Haefeli wrote:
On Don, 2014-04-03 at 17:33 -0400, Jonathan Wilkes wrote:
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.
Clunky or not, Pd is the language I feel the most expressive with. YMMV.
Sorry, I'm not using the best terminology here. I'm talking about the practical expressivity of the language.
For just one example-- let's say you wanted to make a polyphonic patch
with 30 oscillators, and send them messages to set initial frequency and
amplitude. Let's use "Old-school Pd" which doesn't have abstractions.
You make a subpatch, get it the way you want it, copy it, then paste it
29 times. Now when you need to make changes to the subpatch, you need
to delete the other 29, copy the one you changed and paste it 29 times.
That sucks.
Now let's look at "New-school Pd" which has abstractions. In this case you get your abstraction the way you want it, instantiate it on a canvas, copy it, and paste it 29 times. Now when you want to make a change to the abstraction, you click "Save" and Pd automatically pushes your changes to all instances of your abstraction. You don't have to copy/paste everything again. That's very simple, but it's one of the ways abstractions can make Pd more expressive.
So you can express yourself by programming in either version of the language. But the "New-school" version makes it easier to do that. That may be clearer with the example of abstractions-- which you no doubt use all the time-- than with examples of scope that don't rely on $0. But that's why I refer to other modern languages which don't suffer from that roadblock.
-Jonathan
Roman
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list