When I was a programmer, and even when I was a teacher of programming, I would wonder about where data structures and algorithms came from, and to what extent people use pass-by-value, pass-by-reference, and pass-by-name for communication in daily life, and whether we use those techniques for activities besides communication, and whether the universe somehow uses those techniques, and about many other speculative questions. Now those questions attract me to the philosophy of computer science. But the phenomena yielded by computing don’t seem to be commonly studied as philosophical subjects. Most inquiry is embedded in, and therefore directed by, the computational model, applying symbols, inductive definitions, and set-theoretic operations to philosophical questions about computing. I propose turning this inside out, identifying the significant artifacts of computer science and giving them philosophical treatment in their own right, outside of the digital realm.
In this spirit, I offered a contribution during the HaPoC symposium at IACAP 2014, applying questions of ontology to the algorithm. What else is possible? See a few ideas at the blog “Teaching the Philosophy of Computer Science,” at http://teachingphilofcs.blogspot.com/, particularly the most recent entry, for June 27, 2014.
Formal models and explanations are important. They give us incomparable insight, foundation, and inspiration. The other approach suggested here should be regarded as complementary. And there must be work out there already that falls into this category, of which I am simply ignorant; members who are conversant with such work are invited to note it here.