The Problems of Philosophy - Ontology

In this post, I hope to give an overview of the first section of Russell's "The Problems of Philosophy" with a view towards programming. Keep in mind that this book is about problems, rather than solutions. This post contains a summary of the first four chapters or so.

"Is there any knowledge in the world which is so certain no reasonable man could doubt it?" Consider the following:

public List QuickSort(List list){
return MergeSort(list);
}

We can make the statement "It appears to me that the method performs a quicksort" as this is what the declaration claims to do. However, the method actually performs a merge sort. Thus, we can see that the statement "It appears to me that X is true" does not imply "X is true". In addition, we can see the division between the public signature (sometimes called the "phenomenon" or "qualia") versus the private implementation (the "noumenon" or "thing-in-itself").

The fundamental question of the first chapter is: "Given that I may only know the public signature, how can I find the actual implementation?" The initial response is to say that the public signature is the "reality", but as we saw, we can claim to be doing a quicksort when we're really doing a merge sort. Both run in log n time, and both are stable. There is no public-facing difference between the two.

The pragmatist's response is: perhaps it is doing a quicksort and perhaps a merge, but it gets us the correct answer and that is as good as the "truth." This response feels unsatisfactory; maybe for all practical purposes quicksort and merge sort are the same, but we didn't ask "What is true for all practical purposes?" we asked, "What is true?" It appears there should be some fact of the matter as to what kind of sort it is doing, even if this truth is unobtainable to us.

The unobtainability of Truth with a capital T leads some to reject the question altogether - there simply is no fact of the matter as to whether it is doing a quicksort or a merge sort, all that is true is that we recieve the impression of it sorting. These impressions are not results of what it actually does, the impressions are what it actually does. This too feels unsatisfying.

Russell defines "Idealism" as "The doctrine that whatever exists, or at any rate whatever can be known to exist, must be in some sense mental." Consider the quicksort: we generate a pivot, move stuff to the left and right, then recurse. The pivot, "left," "right" etc. are all ideas - this method takes one idea (the list) applies some other ideas (pivots, recursion etc.) and returns yet another idea (a sorted list). At no point is the inclusion of matter necessary in this, and Occam's razor tells us to discard unnecessary hypotheses. The materialist can respond that matter works equally well here: there are some electrons moving around, they move around in some different ways and then we're done - the inclusion of "ideas" is unnecessary.

Russell concludes here that, while one cannot "prove" the existence of a private implementation, it seems incredibly likely to exist given, for example, the fact that it still has effects even while you aren't looking at it.

1 comment:

  1. You shouldn't say "At no point is the inclusion of matter necessary in this", because the average person (probably non-Idealist) might not see that you mean this to apply to cases in which "matter" really is necessary (in their minds). It doesn't make as strong of a point when you use an example from programming in which people like me would think that matter isn't involved anyways.

    ReplyDelete