Platonism about Software

Shawn over at Words and Other Things, discusses the issue if there are software platonists.

He points to what would it mean for someone to be software platonist thus:

A mathematical platonist would say that the natural numbers would exist
even if humans never did and a software platonist would say, e.g., that
LISP or Apple OS X would exist even if humans never did. Further, the
natural numbers were around long before there were humans, and,
similarly, LISP and Apple OS X were around long before there were
humans. We started exploring the natural numbers a long time ago but
only recently started exploring LISP and even more recently Apple OS X.

While I agree that in this formulation it would be weird for someone to be a software platonist,  I think we can make a point for the very close thing to programs, and those are algorithms. We can take for example a specific algorithm for sorting data – Quick Sort.

We can say that this algorithm is a way to perform a specific task in sequence of steps – sorting of data, and that as a way it would exist even before C. A. R. Hoare discovered it. That the ways to the task exist before we think of them, is also included in the way we talk. We wonder for example if there is a way to do specific task. 

We can, in a similar vein, talk about a Turing machine as a way to perform a set of different tasks. For each of these tasks there is one or more algorithms which can be performed by the Turing Machine.

So, if in this way algorithms as ways to perform specific tasks on a Turing machine, are independent from there being humans, what is that makes the talk about things like LISP or Apple OS X different?

Here is a reason I can think of…

LISP and particularly Apple OS X are not abstract enough, they are not abstract ways to solve a particular task, but are concrete phenomena which have their start at time, they are related to specific programmers and designers, their incidental decisions, and so on.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s