Archive for the ‘Software and Philosophy’ Category

Software and Philosophy

Thursday, January 8th, 2009

No reading today, only planning a pocket book as a selection of expanded, edited and commented posts with philosophical inclinations:

Software and Philosophy: An Anthology of Metaphorical Bijections (ISBN: 978-1906717513)

- Dmitry Vostokov @ SoftwareGeneralist.com -

On Good Software

Wednesday, January 7th, 2009

According to Cardinal Thomas de Vio Cajetan we proportionally qualify God and its creatures as “good” (*). For example, God is more “good” than its creations. The same proportionality exists between finite software creations and their infinite (in comparison) creators. Can be software more “good” than its creator? Quite possible… But more often it is the other way around. In the software world this problem is also complicated by the difference between software components and their execution, a one to many relationship. Therefore, when we talk about “this good software product”, do we refer unequivocally to specific instances of software execution, all possible executions or software creators?

(*) The Oxford Companion to Philosophy, 2nd edition, p. 119 

- Dmitry Vostokov @ SoftwareGeneralist.com -

On Babbage-Chambers Paradox

Tuesday, January 6th, 2009

The same process suddenly reveals a different law (*). Although in the preceding definition the notion of a process should be taken generally, in the software world it often happens when a running process or an operating system suddenly exhibits all sorts of strange, sudden and unexplainable behaviour after some time or when running in a different environment. Here we can consider an environment as a sort of law under which a process operates (Chambers) or a process output and interaction as a law (Babbage). As a consequence of this we can never know whether our program crashes or hangs in the future.

(*) The Oxford Companion to Philosophy, 2nd edition, p. 76

- Dmitry Vostokov @ SoftwareGeneralist.com -

On Abandonment

Tuesday, January 6th, 2009

In philosophy this term means the absence of sources of external ethical authority (*). In software when something is abandoned it has lost control or its referent lost the last reference to it, for example, abandoned threads, processes or data blocks. The latter usually known as heap or pool leaks. File abandonment is frequently the source of user frustrations when they are not able to find why there is not enough space. When we find something that doesn’t have external referents we know that the object has been abandoned. Thus we understand that we cannot say that an object is abandoned when looking at it from outside the containing system, we must look within that system, similar to an existentialist threatment of the concept of abandonment when someone must reflect to find an ethical authority and values.

(*) The Oxford Companion to Philosophy, 2nd edition, p. 1

- Dmitry Vostokov @ SoftwareGeneralist.com -