Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Philosophy is the discipline whose adherents kick up a load of dust, then complain they can't see". Murray Gell-Mann.

Mind you, I do have a degree in Philosophy from a faculty very firmly in the analytic school. Logic, metaphysics and ontology have been helpful in thinking about software problems. For instance, you can think of Russell's On Denoting ("the king of France is bald") as being about null pointers, or dangling pointers. And Kripke's rigid designators are a solution to the bad pointer problem. One of my lecturers, Jeremy Butterfield, would always exclaim "because Quine is our hero" whenever he mentioned the great man. "No entity without identity" and "to be is to be the value of a bound variable" are useful rules for software design as well as ontology.



You forgot the precision of language usage and precision and clarity of definitions, which has been the foundation of math - the way to deal with meaningful abstractions, and then so called computer science, where naming, clarity and reduced to the essence (to an optimum) abstractions (ADTs) are the most important aspects.

Classification (ontology) and labeling of a human language gives us meaningful type systems (Java has nothing to do with it). Logic gave us control structures and ultimately algorithms.

The philosophy of science and epistemology gave us the absolute necessity of tests and reality checks (otherwise one ends up with Hegelian abstract nonsense or what we call theoretical physics).

And metaphysics is just nonsense for weak minded to boost their self-esteem, which gave us "everything must be Object Oriented, statically typed, absurdly verbose" crap.


Lets replace language with an arbitrary (but precise!) 1:1 token system.

After all, etymology, idiom, metaphor, anacoluthon, etc., just muddy the waters of clarity.

And if clarity is what we value above all else, then we can ply our new arbitrary signification language to make all thinking about precise denotation of external entities and their logical relations.

Fuck Plato.


According to Dennet, "AI makes philosophy honest".

Philosophy benefits from the precision and enforced clarity of computer science and math.

I'm sure computer science can benefit from philosophy too, but not sure if the benefit is enough that it's worth it for a computer scientist to study philosophy in the time they would otherwise use to study computer science.

Of course it's always better to be proficient in both.


It's always made me sad when I come across people who's entire philosophical training makes them believe that philosophy is only about playing with puzzles like "the king of France is bald" or that someone like Quine's (or Russell's or Kirpke's) work is the epitome of philosophy.

It reminds me of Schoppenhaur's maxim that "every person takes the limits of their own field of vision for the limits of the world."

Dammit, there can be a lot more to philosophy than language puzzles!

Limiting philosophy to just playing with them is I think one of the main reasons that most people recoil when they come in contact with philosophy as it is practiced in most academia these days. They take that to be what philosophy is all about -- as that's how it's usually presented to them by analytics.

Most people have a lot of questions serious, which are desperately important to them, and which philosophy has traditionally engaged in. But analytic philosophy often either completely ignores them or provides only the most superficial treatment to them -- treating them as puzzles or games, or buries them in technicalities. It's really no wonder that such an attitude is a huge turnoff for people for whom these issues are real and of literally life-or-death importance.

So they recoil and go back to "folk philosophy" as some analytics condescendingly call it, and philosophy as is mostly studied in academia these days climbs every higher in to its ivory tower.


But philosophers do spend a lot of time on such formal, sober, lab coat style analysis of rational arguments and language and so on.

Just like how computer scientists spend a lot of time working on stuff like type theory (which of course has strong ties to 20th century philosophy, even to the positivists in some ways) which could be seen as anemic or formalistic or whatever.

I have sympathy for people who have burning life-and-death questions but to me it seems somewhat foolish to look for their answers in philosophy. Wearing my philosophy dabbler's hat, questions like that mostly seem like they have a feeling of urgency because they are confused and emotionally charged, and I (somewhat condescendingly, if you'll let it slide) suggest careful analysis of the premises and definitions involved, to maybe attain a less urgent and stressful state of mind.

Someone might find it extremely important to find the answer to the question of whether God is real. There are certainly philosophers who have written fervently about it, say Kierkegaard. But I think of the quiet kind of passion of someone like Spinoza, who in a way sidestepped that whole urgent question, and did it very carefully, analytically, and productively.

Mostly I think people will find their own allegiances and ways. Philosophy is very broad and diverse. If one school operates in a way you dislike, what's there to do but find another one? Or start one...


Do you mind please explaining rigid designators from Kripke and how they apply to pointers? That sounds like a neat insight! :D


http://plato.stanford.edu/entries/rigid-designators/

A rigid designator designates the same object in all possible worlds. Translation to software terms: a safe pointer/reference refers to the same object in all possible process lifetimes. Consider Python: everything is an object, including integers. If you look into the C implementation of CPython you'll see that the runtime creates certain commonly used object up front, rather than on demand as is the case for most objects. IIRC integers 0 to 10 are created upfront. So if we exec 'i = 0' in Python and don't change i then i refers to the same object every time we execute. It's a rigid designator!


Kripke was a philosopher first ? I never thought to look at his biography before this and always expected him to be a CS guy.


I don't think Kripke has ever been anything but a philosopher. His work has influenced computer science, but he hasn't ever really directly worked in that field himself. The closest he's come to a CS journal or conference is publishing in a few philosophy of computing conferences, and a bunch of logic journals (but generally the ones more in the philosophical-logic tradition, not computational logic).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: