145k views
2 votes
I was reading the SEP article on philosophy and computer science and there was this passage:

Suber (1988) goes even further, maintaining that hardware is a kind of software. Software is defined as any pattern that is amenable to being read and executed: once one realizes that all physical objects display patterns, one is forced to accept the conclusion that hardware, as a physical object, is also software. Suber defines a pattern as "any definite structure, not in the narrow sense that requires some recurrence, regularity, or symmetry" (1988, 90) and argues that any such structure can indeed be read and executed: for any definite pattern to which no meaning is associated, it is always possible to conceive a syntax and a semantics giving a meaning, thereby making the pattern an executable program.

Now, take some command, "Don't obey this command," where "this" refers to the self-same injunction. You can't obey it, because obeying it would mean not obeying it. Your failure to obey it can't be taken for a deliberate choice to obey it, then, so although it can be satisfied in a sort of external(?) way, this satisfaction is worthless.

Would, "X: don't run program X," be open to compliance, though? I had thought at first that running an imperative program would mean having an input window, like a command prompt, where you'd type, "Run," and then ENTER, or "X.exe" and then ENTER. So, "Don't run this program," could be obeyed, I thought, by intentionally omitting any sort of input for the relevant prompt. So I thought that there was a gap between imperatives per se and imperative programming; but per the quoted section of the SEP article, would even, "Don't obey this command," count as a line of programming?

Note: I don't mean to say that the self-countermand is paradoxical, or then I would mean to say that if it seemed to generate a paradox, this seeming would be undermined much more transparently than the reasoning that generates the liar paradox might be undermined. So neither do I mean to say that, "Don't run this program," would be paradoxical. But either the imperative or the program poses a problem, albeit a simple or even trivial one. Do they both pose the same problem, or do the seemingly slight differences in their compliance-vs.-satisfaction conditions testify against the idea of everything being a program?

User Biobirdman
by
8.4k points

1 Answer

3 votes

Final answer:

The passage discusses the idea that hardware can be considered a form of software. However, it's important to understand the context in which these terms are used in computer science. When it comes to running a program with an imperative command, intentionally omitting the required input would not be in compliance with the instruction.

Step-by-step explanation:

The passage you mentioned discusses the idea that hardware can be considered a type of software. Suber argues that any physical object, including hardware, displays patterns that can be read and executed like software. However, it's important to understand the context in which these terms are being used. In computer science, hardware refers to the physical components of a computer system, such as the processor, memory, and storage devices. On the other hand, software refers to the programs and instructions that run on the hardware and enable the computer to perform specific tasks.



When it comes to your specific question about running a program with an imperative command, such as "Don't run this program," it's important to note that running a program requires specific actions or inputs to execute it. If you intentionally omit the necessary input, you would not be running the program as intended. In this case, you would not be following the imperative command, making it in compliance with the instruction. So, it's not the same as simply "not obeying" a command.

User Parvinder Kumar
by
7.5k points

No related questions found