I am now reading the book “Language in Space – a window on Israeli Sign Language” by Irit Meir and Wendy Sandler (ISBN 965-311-056-X). The book applies linguistic analysis to the Israeli Sign Language, used by most of the Deaf in Israel.
There are similarities and differences between spoken and signed languages. There are principles, which serve as common denominator between those languages.
As I am thinking about programming languages, I wonder whether they can be regarded as a third kind of languages. In other words, if we apply linguistic analysis to programming languages, what can learn from the linguistic analysis results? An example for a programming language, whose design takes into account linguistic issues in an explicit way, is Perl, especially Perl 6.
One major difference between human languages and programming languages is that humans can freely invent new words, new ways to modify words, and new ways to combine words into sentences. However software developers are constrained by the compiler/interpreter’s limitations and cannot easily break away from those constraints.
For example, to discuss sorting in Hebrew you need only to invent a new meaning for the word “מיון”. However to discuss sorting in a program, you need to develop, find, beg for, or steal a library, which implements the sorting algorithms, which interest you.
Recent programming languages are less constraining than early ones (with the exception of LISP, which was early, difficult to learn but not constraining). Languages like Perl and Python support lists (arrays indexed by numbers) and hashes (associative arrays, which map arbitrary-but-immutable values into other arbitrary values). They also support classes/objects. I wonder if there are more concepts, like lists, hashes and objects, which need to be supported in order to make programming languages feel as unconstrained as human languages.
Like this:
Like Loading...