[PD] Pd weaknesses (Re: poor performance when saving an abstraction when many copies are loaded in a patch)

Chris McCormick chris at mccormick.cx
Sat Jan 12 04:55:52 CET 2008

On Fri, Jan 11, 2008 at 12:28:16PM +0100, IOhannes m zmoelnig wrote:
> Chris McCormick wrote:
> >>>* No strings.
> >>you mean, like C?
> >
> >In C I can dynamically allocate an array of chars terminated by a \0
> >*with spaces* as easily as:
> >
> >char *mystring = "pants pants pants.";
> as you have shown, there is no string type in C.
> you (ab)use arrays of bytes (chars) as "strings".

Sure, of course, but everyone does this all the time. Are you saying
that every type composed of ints/chars/other subtypes is an 'abuse'?

How is it any different to 'abusing' ints to make a vector?

int *myvec = {4, 3};

> miller has often argued, that strings in Pd are as simple as arrays of 
> floats.
> (true, a float is not an ideal representation of a glyph; but neither is 
> a char)

It's all very well saying that it's possible, but it's very impractical,
and it makes Pd much less easy to use for string processing than
almost all other popular languages. For example, which GUI element can
I use to get string input (with spaces) from the user into an array
of char-floats? That's my only point - that Pd is not that great as a
general purpose programming language, for this and other reasons listed.

> each and every language is good in something and bad in something else.
> being good in something no-one else is good in, should imho be regarded 
> as a feature rather than a bug.

Yes, completely true, and exactly my point.

> >The PDa source code is different enough from the mainline Pd source code
> >that it makes it quite hard to integrate mainline Pd releases back into
> >PDa.
> this is a problem of the implementation not of the "language".

True. It would be great if the implementation was a bit better on this
front. I know that it's much better to submit code than to complain
(sorry!), but I also think it's important to vocalise the weaknesses of
any piece of software so that others will be informed about what it's
good and bad at, and not have false expectations.

> >Yep, although regular Pd patches won't just run without any changes in
> >PDa always since some objects don't work in PDa. 
> please file a bug-report for PDa :-)

Yes, good call.

> that's not the point.
> just because somebody already did the work, it doesn't mean that it has 
> not been a pain to do.

Yep, point taken. (Generally however, the more times something is ported,
the easier it becomes to do it next time assuming the changes required
to do so are incorporated).

I hope discussing the weaknesses of Pd can be seen as a positive thing
that will help people and the language itself. It's a really amazing
piece of software; I think we all know that. I am not sure how I ever
did work without it.




More information about the Pd-list mailing list