A post by HXA about the
ideology of software engineering prompted me to re-read an old
Ted Nelson essay. Some choice quotes:
"Virtual" does not mean, as many think, three-dimensional. It is the opposite of *real*.
Virtuality therefore means the *apparent structure of things*
Engineers generally deal with constructing reality. Movie-makers and software designers deal with constructing virtuality.
Software is a branch of movies.
Movies enact events on a screen that affect the heart and mind of a viewer. Software enacts events on a screen which affect the heart and mind of a user, AND INTERACT.
Movie sets are the substantial means by which movies are enabled (traditionally; let's not tangle this analogy by considering CGI). Because of this substance, constructing movie sets is engineering, and sometimes it's major engineering.
ReplyDeleteComputation is the substantial (though not physical) means by which software is enabled. Because of this substance, constructing computation is engineering, and sometimes it's major engineering.
Thanks for sharing this.
ReplyDeleteThough, I would say that systems control software is very *real*.
Nelson likely has a specific variety of software, let's call it humane software, in mind. Examples of this would be: operating system UIs, 3D modellers, public conversation software - every software in which humans construct artefacts.
ReplyDeleteHis point is that the virtuality of these devices is truly man-made, and not really subject to any innate constraints. As he often points out, "folders and files" don't exist a priori, and are a specific, arbitrary design.