[PD] is pd a programming language?

Mathieu Bouchard matju at sympatico.ca
Thu Dec 23 19:52:37 CET 2004

On Wed, 22 Dec 2004, pix wrote:
> On Tue, Dec 21, 2004 at 04:02:20PM -0800, pun chik wrote:
> > yesterday i was in the middle of a discussion about if pd is or not a
> > programming language.
> > Is pd a programming language?

> you have data (floats, ints, symbols, tables, the data stuff), and
> control flow (select, route, until, spigot). i'm pretty sure you can
> implement a turing machine simulator with it (at least if you use the
> data stuff, and possibly even without).

A Turing machine can be quite trivially implemented using one array for
containing the tape data, and two numboxes, one to indicate the machine
state and one for the current tape position. Since the tape can be used in
arbitrary bidirectional patterns, I guess I would make the machine start
at the middle of an empty array, and then whenever the machine reaches the
end of the tape, I extend that side of the array.

> the discussion only gets tricky if the person you are arguing with is
> holding on to some computationally irrelevant conception of what a
> programming language infact is, in which case the point of the
> disagreement lies elsewhere.

The definitions I tend to use in practice are that: a language is the set
of all (finite) sequences of characters, and rules to decide which ones
are valid, and rules that define some meaning for each valid sequence;
alternatively, a language is anything that is equivalent to this first
definition of language; and then a programming language is any language
that is Turing-complete.

For example, HTML is clearly a language but it's not Turing-complete until
you add JavaScript or Flash or XSLT.

Whether a "visual language" fits the (second) definition of a language
depends on how much is actually being communicated visually, not counting
whatever is just an impression of communication. E.g. you can't call
abstract painting a language if there is no common ground of
interpretation. The PureData language communicates something because
someone can make (him|her)self understood by the PureData program through
those visual signs.

Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju

More information about the Pd-list mailing list