Oneupweb : Speaking a Foreign Language
When it comes to computer programming, there are hundreds if not thousands of languages to choose from. In fact, when approaching a new problem, a programmer may at any time invent his own “little language” to help solve it.
I’ve been reading interviews with the creators of over a dozen “mainstream” programming languages, from a book titled “Masterminds of Programming”. The diversity of these languages reflects the myriad problems these language designers faced, and their very individualistic approaches to organizing a programming solution.
It is interesting, if not surprising, that many of the language designers think it would be beneficial if their language was adopted practically everywhere. Most, however, can thoughtfully identify and explain why their language is well adapted for particular problem domains.
You might think that programming languages are far removed from the various languages spoken by human beings from the multitude of cultures, foreign and domestic. Yet, a good language for “speaking” to computers is often designed with general principles of communication in mind.
I offer a quote from one of the interviewees, the author of my favorite general-purpose language:
“For various historical reasons, many language designers tend to assume that computer programming is an activity more akin to an axiomatic mathematical proof than to a best-effort attempt at cross-cultural communication.” – Larry Wall
And a selection from his list of principles of human language, which influenced the design of Perl:
- “Healthy culture is more important than specific technology to a language’s success.”
- “The primary purpose of language is to communicate with people who are different from you.”
- “It’s OK to speak with an accent as long as you can make yourself understood.”
- “It’s particularly important for written documents to be evaluated in historical context.”
The art of computer programming has a surprisingly strong resemblance to cross-cultural diplomacy. Not only must the computer understand your program, but the people who will come along later and maintain it will also need to be able to interpret your dialect.
If you can speak to computers, as well as your co-workers, like a high-level diplomat, why not browse our latest career offerings here at Oneupweb?