(function(doc, html, url) { var widget = doc.createElement("div"); widget.innerHTML = html; var script = doc.currentScript; // e = a.currentScript; if (!script) { var scripts = doc.scripts; for (var i = 0; i < scripts.length; ++i) { script = scripts[i]; if (script.src && script.src.indexOf(url) != -1) break; } } script.parentElement.replaceChild(widget, script); }(document, '

What is it about?

There are a wide range of positions regarding the ontological nature of computer hardware and software. Moor (1978) argues that there is no significant ontological distinction between the two; Suber (1988) argues that computer hardware is a kind of software; Colburn (1999) defines software as a special kind of entity he calls “concrete abstraction”, and Turner (2011) classifies software as a specification. In this paper, I examine the positions of each philosopher, and based on this examination, define ontological categories that account for computer hardware and software. As a result, clear distinctions emerge between computer hardware and software: A software program is a specification that consists of one or more programming language instructions and whose concretization is embodied by an artifact that is designed so that a physical machine may read the concretized instructions, whereas hardware is an artifact whose functions are realized in processes that directly or indirectly bring about the result of some calculation.

Read more on Kudos…
The following have contributed to this page:
William Duncan
' ,"url"));