Monday, May 07, 2007

The Sapir-Whorf Hypothesis And Functional Languages

So I've been trying to take seriously the writings of Paul Graham and ESR and give learning Lisp a go (again - learned a bit as a side-effect of some AI courses). And during that endeavor, my mind has been stewing over the Sapir-Whorf hypothesis. The basic idea behind Sapir-Whorf (another recurring topic of RAW's, but I also noticed that it popped up in a book by Clifford Pickover I read recently) is that language determines thought.

It's just that something like this is so hard to measure, that I'll just say that to me, the Sapir-Whorf hypothesis seems correct to me at least in particular instances. Lisp really bring this to the fore, but if you have been through various programming paradigms, you probably already have noticed something similar, if maybe on a smaller scale. I doubt it's just me who has noticed this, and if I remember correctly, the GoF Patterns book as well as Paul Graham made this explicit, but I wonder how many have tied this to Sapir-Whorf.

If you know Design Patterns, think about how this language of common ideas may have changed your thinking. If you went from non-structured programming to procedural (say, Basic or assembler to Pascal) or from procedural programming to OOP, you've probably noticed a change in your thinking.

The leap to really grokking Lisp has really wrapped my mind around the axle, though. I understand why, until Paul Graham started really championing it that it garnered very little interest except among a few anointed. For one, the term "macros" is inherently loaded and doesn't really explain what is possible in Lisp. I won't get into the whole "Lisp is slow" nonsense - anyone familiar with Java will be familiar with this canard which lingers even when Java has been proven to be as fast as, sometimes even faster than, C++.

However, this is a very special case of "languages" - programming languages aim to express thought in a way that is deterministic - unlike most natural languages, and so developers (well, I'll extrapolate my experience here to others) working in a particular language can often start thinking in a language, and so having a language that is designed to carry thoughts into action may have more likelihood of demonstrated Sapir-Whorf to be true...

Have you seen the session Peter Seibel ("Practical Common Lisp" APress) put out?

He basically touches on the same thing. Actually, they have a copy of his book at the Denver Library. I can't say I'm a guru by any stretch, but I can say that simply working though the examples in this book has been an great experience.
Thanks for the heads-up! I have not seen that session - I'll check it out. I have used some of the Practical Common Lisp that was online, however.

I don't really think I've "got" Lisp yet, either, but I hope to get there...and I hope ESR is right in saying that learning Lisp will make me a better programmer.

Meanwhile, I can say that Sapir-Whorf is certainly true about a language changing thought - at least for certain values of "language" and domains of thought.
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?