On Sun, Feb 08, 2009 at 10:05:31PM -0500, Hans-Christoph Steiner wrote:
On Feb 8, 2009, at 9:29 AM, Mathieu Bouchard wrote:
On Sat, 7 Feb 2009, y wrote:
"I'm against adding a general escape mechanism, because I think it's better to find a design that obviate teh need for it..."
see also: http://lists.puredata.info/pipermail/pd-list/2005-07/029546.html http://lists.puredata.info/pipermail/pd-list/2005-07/029556.html
Basically, it's really rare among popular programming languages to
get away with not having some kind of escape mechanism or else
something nearly equivalent to an escape mechanism which isn't
taking much more room than a plain string.In Pd, your only way to handle this without editing .pd files in a
text editor, is to use multiple objects just for constructing the
string... and before Pd 0.40 it also required externals.Do you have any examples of full-fledged languages that don't have an
escaping mechanism?
Escaping mechanism would be rad. Also nice would be built-in support for the following data types/structures:
Also nice would be a standard syntax for expressing these data such as json or yaml, or something similar to C or another modern language. Pd's symbols-delimited-by-spaces approach is one of the big reasons why building synthesizers & effects is the only task I ever choose Pd for. Luckily it does that task extremely well. The other reasons are lack of introspection, and lack of dynamic patching that is non-buggy and consistent. (oh, and the fact that [netsend] and [netreceive] are both one-way communicators that should have been a single two-way communication external).
Almost every modern language has at least one of these basic features, and that is why I still stubbornly refuse to call Pd a programming language. It may be turing complete, but it's not useful for general purpose programming. It definately could be though, and the irony is that if it supported all of these general programming language features, it would be a lot easier to build synthesizers too.
Note that I criticize it because I love it. :)
Best,
Chris.