The Philosophy of Software is a critical introduction to the subject of algorithms, code and software that introduces and engages with their social and philosophical implications. This book has been written to appeal not only to people interested in the subject but also to those from a non-technical background who want to know more about our softwarised societies. Indeed, software is a tangle or a knot, which ties together the physical and the computational, the material and the digital, into a comprehensive system for control and manipulation. However, software also exceeds our ability to place limits on its entanglement, and has entered everyday life to an amazing degree in the 21st Century. From washing machines to central heating systems, to children's toys, television and video; the old mechanical world is being revolutionised by the silent logic of digital devices. It is time, therefore, to examine our algorithmic situation.