Abstract. The traditional overlap between computer science and philosophy centres upon the issue of in what sense a computer may be said to think. A lesser known issue of potential common interest is the ontology of the semantics computer science assigns to programming languages such as Pascal or Java. We argue that the usual purely mathematical approach of denotational semantics necessarily excludes important semantic notions such as program reliability. By studying the ontology of determinism versus non determinism we deduce the presence of vagueness in programming language semantics, this then being compared to the Sorites paradox. Parallels are drawn between Williamson's treatment of the paradox using ignorance and generalised metric topology.