Algorithms Are Immmaterial!
I was talking to some who, to my great surprise, objected when I mentioned that algorithms are immaterial things. (And the person has an advanced degree in CS!) I had thought this was so obvious that no one could object to my statement. But maybe not... maybe it is worth demonstrating.
Consider: merge sort can be implemented on an Apple II, on a Cray, on an Android phone, on a vacuum-tube computer at the FAA, and in a human brain. (My students and I actually will run it in class using a deck of cards.) The "material composition" of the implementation is going to be wildly different in each case. And yet we can state with confidence (if we understand the algorithm) whether each is indeed an implementation of merge sort.
Furthermore, merge sort also can't be just a name for the collection of all of its implementations. First of all, if that were so, how could we tell what belongs in the collection and what doesn't? And we can actually use the concept of merge sort to criticize a supposed implementation, so we can say things like, "He might have meant to write a merge sort, but he wrote a bubble sort instead," or "She almost got merge sort correct, but there is a bug on line 13."
The only sensible conclusion of these considerations is that an algorithm is an immaterial idea, i.e. a logos, that can be "made flesh" in its various implementations.
Consider: merge sort can be implemented on an Apple II, on a Cray, on an Android phone, on a vacuum-tube computer at the FAA, and in a human brain. (My students and I actually will run it in class using a deck of cards.) The "material composition" of the implementation is going to be wildly different in each case. And yet we can state with confidence (if we understand the algorithm) whether each is indeed an implementation of merge sort.
Furthermore, merge sort also can't be just a name for the collection of all of its implementations. First of all, if that were so, how could we tell what belongs in the collection and what doesn't? And we can actually use the concept of merge sort to criticize a supposed implementation, so we can say things like, "He might have meant to write a merge sort, but he wrote a bubble sort instead," or "She almost got merge sort correct, but there is a bug on line 13."
The only sensible conclusion of these considerations is that an algorithm is an immaterial idea, i.e. a logos, that can be "made flesh" in its various implementations.
Great post to start the year!
ReplyDeleteSince the idea for merge-sort first materialized in Von Neumann's brain in the 1940's and he wrote an algorithm for it on a piece of paper , the idea has passed from brain to brain via books lectures , bog posts etc, and from brain to various computer and other implementations. At no time has there been any non-material aspect involved in either the way the idea is transmitted , stored expressed or implemented.
For that reason I would think of the idea as abstract (and agnostic as to implementation :) ) rather than immaterial.