Software and Hardware
Last Update: Friday, 18 July 2025 |
Note 1: Many of these items are online; links are given where they are known. Other items may also be online; an internet search should help you find them.
Note 2: In general, works are listed in chronological order.
(This makes it easier to follow the historical development of ideas.)
§12.1: The Nature of Computer Programs:
§12.2: Programs and Algorithms:
§12.3.2: Software, Music, and Art:
§12.3.4: Copyright vs. Patent:
§ 12.4.1: Levels of Understanding:
disagrees:
See also p. 59, where he talks about
"realizations or embodiments of a Turing machine".
§12.4.4: "Following Instructions":
A simpler example of center embedding is the sentence
where the sentence 'Cats chase' is embedded in the center of the
sentence 'Mice eat cheese', qualifying the kind of mice that eat cheese,
namely, the ones that cats chase.
If we replace these words with others,
we get a center-embedding sentence that is harder to understand:
Here, the sentence 'Dogs dog' (meaning "Dogs follow closely") is
embedded in the similar sentence 'Dogs dog dogs' (meaning "Dogs follow
other dogs closely").
Finally, if we replace these words with still others, we get the
following perfectly grammatical and meaningful sentence of English:
Instead of cats chasing and dogs dogging, we have buffalo
buffaloing (that is, bison intimidating; note that the plural of
'buffalo' is also 'buffalo', just as the plural of 'sheep' is also 'sheep').
Embedding 'Buffalo
buffalo' into 'Buffalo buffalo buffalo' (meaning "Some bison intimidate
other bison"), we get the sentence above, which means "Bison that other
bison intimidate intimidate in turn still other bison").
A distinction is sometimes made between a "basic action" (think of a
primitive operation of a programming language) and a "non-basic action"
(think of a new operation defined by procedural abstraction, as discussed
in §16.10.3). Non-basic actions are done "by doing" certain basic
actions.
(This is also related to the distinction made in §16.5
between an algorithm (A) and its purpose or goal (G), as in the
formulation: In order to accomplish G, do A. Here, A is like a
basic action, and G is like a non-basic action.)
For more on the basic/non-basic distinction, see:
§12.5: Suber: Software is Pattern:
"Does it help to know that any large number, however random, hides a
masterpiece? All you need is the right player."
§12.6: Software Is a Concrete Abstraction:
For physiological examples of multiple implementations (or
realizations),
see:
"A programming language is a language after all, albeit a
hightly constrained one. As such, it is a perfect medium for
the poet comfortable with other highly constrained poetic forms like the
sonnet or haiku". (p. 123)
Sandomir, Richard (2023),
"Martin Goetz, Who Received the First Software Patent, Dies
at 93",
New York Times (21 October).
"Intentional system theory deals just with the performance specifications of
believers while remaining silent on how the systems are to be implemented."
Mice cats chase eat cheese.
Dogs dogs dog dog dogs.
Buffalo buffalo buffalo buffalo buffalo.
—Richard Powers, Orfeo: A Novel (New York:
W.W. Norton, 2014), p. 199.
Copyright © 2023--2025 by
William J. Rapaport
(rapaport@buffalo.edu)
http://www.cse.buffalo.edu/~rapaport/OR/A0fr12.html-20250718