•  36
    Elegance in Software
    In Giuseppe Primiero & Liesbeth De Mol (eds.), Reflections on Programming Systems: Historical and Philosophical Aspects, Springer Verlag. pp. 273-286. 2018.
    Elegance in software is widely recognized by professionals, but not well articulated. Program elegance rests on not only efficiency, as widely acknowledged, but other features that reflect the notion in other creative endeavors where artifacts are built under constraints, such as architecture. We suggest a compendium of minimality, accomplishment, modesty, and revelation, discussion of which reveals some subtleties. Programming experience enhances appreciation of these features, especially the l…Read more
  •  92
    A Caution against the Artificialistic Fallacy
    Filozofia i Nauka 10 275-284. 2022.
    The casual justification of the influence of a technology, particularly artificial intelligence, by appeal to the existence of the technology constitutes an artificialistic fallacy, analogous to the naturalistic fallacy that is well-known in philosophy. Similar to an invocation of nature to provide moral warrant, modern tech evangelists invoke the burgeoning of hardware and software products in order to promote that burgeoning. This fallacy is often tacit or committed by omission. Emerging ethic…Read more
  •  939
    What an Algorithm Is
    Philosophy and Technology 29 (1): 35-59. 2016.
    The algorithm, a building block of computer science, is defined from an intuitive and pragmatic point of view, through a methodological lens of philosophy rather than that of formal computation. The treatment extracts properties of abstraction, control, structure, finiteness, effective mechanism, and imperativity, and intentional aspects of goal and preconditions. The focus on the algorithm as a robust conceptual object obviates issues of correctness and minimality. Neither the articulation of a…Read more