Wednesday, January 20, 2010

The Nature of Language

After my last post “How Fluent is too Fluent”, I began really thinking about the nature of human language and how it relates to computer programming language.

Computer languages at their core only really perform one task – they convert information to and from ones and zeros. But human language is much more. It allows us to be expressive and nuanced. It allows us to share ideas, state and clarify positions, record history, express and elicit emotions. It is a call to action and a way to categorize meaning. It is a speech, a sermon, a homily, a parable, a soliloquy. It is a poem, a joke, a riddle, a limerick. It is an oath, a vow, a greeting, a farewell, a command, a question. It is every thought that has ever been conceived. Can or should coding languages ever reach that apotheosis?

Ultimately, it is up to the designer to decide the level of “humanity” an API contains, but consider this - as professionals, one of our responsibilities is to ensure that our code effectively communicates with other developers. Does code that reads like prose accomplish this? Does it better convey our intent? Does and/or can it help to reduce the level of intellectual friction poorly written code can cause? Could it allow us to focus more on the solution and less on the medium if we were allowed write code the way we think, and not the way the compiler thinks? Are we just a vehicle to the cold, concrete bleakness of ones and zeros?

A computer is only raw materials without a human being to interact with it. Maybe it is the reason nature allowed us to be created in the first place. “Why are we here?” - ones and zeros.

No comments:

Post a Comment