Programmes vs Data [was: Re: [plug] Community Seminars]

James Devenish devenish at guild.uwa.edu.au
Sat Jun 19 15:25:36 WST 2004


Hi,

Surely the definition of "programme" or "data" is context-dependent,
just like "e-mail attachment", "Internet firewall", "web download" and
"VPN" mean nothing in particular until you declare a specific context
(e.g. audience) to which those words are being presented. For those of
us not in the field of computer science, can anyone tell us whether
there is an absolute definition that separates "programme" from "data"?
What happens if I have a PowerPC programme sitting on a disk that is
being used within an UltraSPARC computer? Is that compiled software
called a "programme" or "data". I'd still call it a "programme", and yet
the UltraSPARC device will see it as nothing more than "data". And what
if I look at the hard disk in isolation from any computer...isn't every
single thing now called "data"?

In message <20040619041125.GL26977 at patrick.wattle.id.au>
on Sat, Jun 19, 2004 at 12:11:25PM +0800, Cameron Patrick wrote:
> | Nor are TeX and Docbook, strictly speaking.
> I'm pretty sure that XSL (which Docbook is written in)

(Actually, DocBook is not written in XSL.)

In message <20040619041125.GL26977 at patrick.wattle.id.au>
on Sat, Jun 19, 2004 at 12:11:25PM +0800, Cameron Patrick wrote:
> Likewise Postscript is a complete programming language.
>
> In message <200406191155.33293 at death.2.spammers>
> on Sat, Jun 19, 2004 at 11:55:33AM +0800, Bernd Felsche wrote:
> | A program is something that the system executes "directly"; data
> | are what programs use.

Bernd: I understand the point of view that "source code" files are data
while "compiled objects" are programmes. However, we treat some things
like programmes even though they are data. For example, programming
languages such as PostScript and Java rarely lead to "compiled objects".
Even after using a "Java compiler", I am left with bytecode that does
not run directly on CPU. So, would you call the bytecodes "programmes"
or "data"? If "data", do they become "programmes" only then the bytes
can be run directly by the CPU platform? More loosely, what about shell
scripts? They're "clearly" data by your definition, but don't we have to
treat them as though they are programmes???

In message <40D44C03.4932.5341A8 at localhost>
on Sat, Jun 19, 2004 at 02:21:55PM +0800, Arie Hol wrote:
> > Even with embedded Javascript?
> Javascript is only embedded in a HTML page as means of transportation
> - once the page is processed by the browser the javascript is
> interpereted by the browser - according to its designated purpose and
> functionality.
> 
> > | A program is something that the system executes "directly"; data
> > | are what programs use.
> A program is a series of instructions which are understood (carried
> out) by a computer, regardless of whether it is compiled or
> interpretted.
[...]
> Data - is generally regarded as unprocessed information - ie raw facts

Arie: I was attracted to your above definition of data, yet it still
doesn't resolve the question of what is "programme" and what is "data".
E.g. how do you draw the line between "instructions" and "data"? To take
Cameron's example of XSL: it sounds like it matches your definition of
"interpretted programme" because it contains instructions. Yet, those
instructions are not presented procedurally and must be interpreted
(e.g. syntax checking) before being "used". (XSL programmes are
basically never stored on disk in a "compiled" form.) So, is an XSL file
called "programme" or "data"? Sounds like both, which is a position with
which I am comfortable. However, I suspect this does not sit well with
Bernd's idea that programmes and data are distinct.





More information about the plug mailing list