idiosyncratic/routine

Icon

Plato and Turing Walk into a Bar…

So I was at Pages with a friend last Saturday browsing through some books and oddities while trying to kill some time, and found this book called Plato and a Platypus Walk into a Bar…. The premise of the book seemed intriguing enough, so I impulsively bought it. I’ve always been curious about what Philosophy really is all about besides drooling over the Dalai Lama on a regular basis, so I thought that spending $13 on a paperback beats an $800 course registration for an Intro to Philosophy course anytime.  Here’s one of the “enlightened” jokes from the book:

A seeker has heard that the wisest guru in all of India lives atop India’s highest mountain.  So the seeker treks over hill and Delhi until he reaches the fabled mountain.  It’s incredibly steep, and more than once he slips and falls. By the time he reaches the top, he is full of cuts and bruises, but there is the guru, sitting cross-legged in front of his cave.

“O, wise guru”, the seeker says, “I have come to you to ask what the secret of life is.”

“Ah, yes, the secret of life,” the guru says. “The secret of life is a teacup.”

“A teacup? I came all the way up here to find the meaning of life, and you tell me it’s a teacup!”

The guru shrugs. “So maybe it isn’t a teacup.”

The great thing about the book is that it gives context to the Far Side-y jokes you’ve heard before (and probably didn’t wholly understand like I did…or didn’t) and dissects the philosophy behind it all.  For example, the joke above (if you can call it that) tries to illustrate the principles of Teleology, the metaphysics of trying to explain our purpose in life (with a hint of stoicism). But the more interesting thing is that while I was reading it, I can’t help but connect it as to how some concepts in Computer Science has philosophy written all over it. Take duck-typing as an example:

In computer programming, duck typing is a style of dynamic typing in which an object’s current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface. The name of the concept refers to the duck test, attributed to James Whitcomb Riley [...], which may be phrased as follows:

If it walks like a duck and quacks like a duck, I would call it a duck. [wikipedia.org]

If you’re a philosopher, you might probably pick up some underlying Essentialism in this concept, as illustrated by this comic from the book:

“Why is an elephant big, gray and wrinkled?”

“Because if he was small, white, and round, he’d be an aspirin.”

However, in the case of duck typing, accidental attributes of objects can be perceived as something inherent, and construed as an essential property of the object instead.  The accidental nature of how a duck walks and quacks suddenly becomes inherent in trying to define an object’s “duck-ness”.  This can lead to some problems as illustrated by this point:

In essence, the problem is that, “if it walks like a duck and quacks like a duck”, it could be a dragon doing a duck impersonation. You may not always want to let dragons into a pond, even if they can impersonate a duck. [wikipedia.org]

I guess I shouldn’t be surprised by all of this, given that the topic of philosophy within modern technology has already permeated into mainstream ideology.  Even the fundamentals of Computer Science is embedded in philosophy as exemplified by program correctness proofs and even binary logic.  But the fact that philosophy has influences and applications in language design for example, is mind-bending for me.  Languages embody certain philosophical principles that can change a programmer’s mindset and approach to programming, and problems in general.

And that’s only the beginning. If you want to get your mind blown as to how deep the rabbit hole goes, try reading this and this (the second one’s heavy reading, but it’s worth it at the end).  Maybe this is a thesis in the making.

Silly rabbit, Trix are for kids.

Filed under: Computer Science, academia, philosophy , , ,

“quote”ations

" I would like to change the world, but I don't know where the source code is. "

moi?

Geofrey Josef Flores is a Software Developer at IBM Toronto. He is finishing with a Software Engineering degree at University of Toronto on June 2009. As a frustrated artist he occasionally shoots with his Nikon D40x , and with music inclinations that includes playing guitar and singing. He apparently likes to talk about himself in third person as well.

click!

The Importance of Being Idle Half Chichen Ooops! Kingston Paradise Tulips are a-bloomin' A Day at the Dock