« Waiting...| Main | Who me? Worry? »

Sapir-Whorf and Hackers

| | Comments (2)
The sci-fi character Worf, from Star Trek, Next Generation
Not this guy


Philosophers have a lot to say about how to write good programs. It might not seem that way, but they do. Take the Sapir-Whorf hypothesis, which basically says that the shape and structure of a language molds the thoughts that can be expressed by that language.

It shows up in a lot of places:

  • Coding - If you know about classes, you can talk about solutions using them. Likewise, if you know about functional programming, your solution space just got a lot larger. People who know good analytical skills can solve most anything -- but it's easier or harder depending on the concepts you've been exposed to. Learn a lot of programming languages and development methodologies. If they seem stupid to you -- you're not done yet. Keep learning until you understand both the strengths and the weaknesses. Until you can "speak" in those cultures.
  • Requirements - Think you're going to talk in terms of models and use cases to a bunch of users that only know "shall" requirements, waterfall process, and static coding? it'll be like trying to explain nuclear physics to Christopher Columbus. Ain't going to happen -- easily.
  • Startups - I was reading yesterday a plea from a person that hackers should focus more on disruptive marketing opportunities. His basic point? That hackers were missing it -- a life in the bits and bytes causes us to focus on clock cycles and AJAX instead of business opportunities to help users. But isn't obvious that we going to miss it? If you spend your time debugging web applications, are you going to be thinking in terms of disruptive marketing, integrated lifestyle advertising, or leveraged opportunities? Yes -- you may have the knowledge and vocabulary to understand all of this, but your vernacular, the nouns, verbs, and sentence structures you used every day, doesn't include these concepts
  • Team building - Ever have team from so many mind-spaces it was hard to communicate? Try putting people from wildly different backgrounds in a team and expecting it to perform. Say one person from physics, one from high-pressure sales, one from politics, and one from web programming. We do this all the time in startups -- but a highly diverse team is no cakewalk
  • Planning for disruption- This is the toughest one yet. If you're inventing a disruptive technology, like the web, how do you even know the concepts that are going to be used by your users if the thing works out? For most hacks, this isn't a problem -- it's a web app, or it's a client-server program. People have words for that. It's got buttons. It has a menu. Et cetera. But if you're doing something really cool? Something that runs as part of the operating system, has little frisbees that float around and sing to the users while they use mind control to construct logic proofs with other users? It's just going to be hard to deal with that in any kind of way at all.

    One of the reasons I love computers is that they change reality. But the flip side of that is: the new reality may not be easily describable in your old language. Could you have described telemarketing to somebody who never had a telephone? My wife is trying out pay-per-posting as a home business. Ever try to explain that to a 90-year-old man who's never used a computer before and doesn't know what the internet is?


Because technology comes up with a lot of new words every year, and because technology has people from all over the place intimately involved in solutions, Sapir-Worf is here to stay. I'm not a philosopher (more than anybody else, I guess), so apologies if I got any of that wrong. (I do understand that Sapir-Worf is more about the total construct of a language. I deliberately took some artistic license)

2 Comments

"Coding - If you know about functions, you can talk about solutions using them. Likewise, if you know about object oriented programming, your solution space just got a lot larger."

But the real humor in this post is your blog system, especially the tag line together with the error code. Priceless

"Fix the system. Don't blame the people in it.
Comment Submission Error

Your comment submission failed for the following reasons: Name and email address are required."

Peace
-stephan

--
Stephan Schmidt :: stephan@reposita.org
Reposita Open Source - Monitor your software development
http://www.reposita.org
Blog at http://stephan.reposita.org - No signal. No noise.

Stephan,

Ignore that. Blame the people. Most times it's easier than fixing the system.

:)

Leave a comment

About this Entry

This page contains a single entry by Daniel published on October 17, 2007 12:40 PM.

Waiting... was the previous entry in this blog.

Who me? Worry? is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.23-en
Daniel Markham