Much of my programming is informed by my mother's career as a linguist.
She grew up part of an Anglo-Scots family in Argentina and is fluent in both Spanish and English. From an early age she worked hard to expose me to a range of languages through friends. Not just European languages but also any others (including Nepalese, Urdu and others from an old Gurkha officer).
At school I was made to study French, Latin and Ancient Greek.
I did not turn out as she expected - she taught me the analysis and understanding of languages in general but I instead focussed it on English and computer languages.
When dealing with customers it is essential to understand what they are trying to communicate. I became better at this when I fully realised that English is not just one language but a family of dialects and jargons. The way that different groups of people use English can lead to all kinds of misunderstandings. Just think of the different uses of the word 'Monitor':- A computer display, a thread monitor, a school prefect/official, the verb etc.
In many cases I have found that disagreements arise not because of differences about how a system should work but instead because of differences in how the words describing the system are used.
When it comes to computer languages the awareness of language can be very revealing. One of my favourite examples of this is a brilliant speech by Guy Steele: Growing a Language.
I'd recommend that any software developer, designer or architect pay a little more attention to linguistics.
No comments:
Post a Comment