« The Love Boat Meets Santa's Workshop| Main | Is it the Tools? or the People? »
Maybe Worf Was Right?
In the show "Star Trek: The Next Generation" there was a Klingon who served on the Enterprise. Worf, being highly skilled in the art of weaponry, was always wanting to use this or that weapon to solve whatever problem appeared. Aside from the fact that all of the aliens in NG were parodied to a point where they could never have a working civilizaion, perhaps there is a lesson here. There's a theory in computer science that says whatever programming language you use can affect your choice of solutions.
The Sapir-Whorf hypothesis applied originally to spoken and written languages. It said, simply, that the language you use -- the constructs of your sentences and thoughts -- change the way you view the world. As far as I know, it's still open to discussion in the linguistic world.
Interestingly enough, this theory has also been applied to computer programming languages. The idea is that if you're a Java programmer you're always going to think of solutions in terms of Java language operations. Or if you're a database programmer, your solutions will always center on a database platform.
I both agree and disagree with this hypothesis. While I think that if you are "immersed" in a language, perhaps during a programming project, you are naturally going to start thinking in terms of that language. But this is just self-obvious clap-trap: if I speak English the words I use to express my thoughts are going to be English, right? Geesh.
Where I disagree is in the implication that this hypothesis has: languages make the programmer. Au contraire, mon ami. This confuses analysis with design. Analysis is exactly the art of describing problems in non-technical terms. The "problem space", as we call it, is the problem in terms of the customer. Design, on the other hand, is starting to turn that analysis into a solution. Does design involve language constructs? Absolutely. But saying that the language choice drives the solution is a far cry from the full-bodied, rich, aromatic, picture we are supposed to have of the software development process.
I think Worf had a point: where did I put that phaser?
Leave a comment