Cognition and Linguistics
I see the study and development of computer languages as two sides of the same coin. A computer language should enable the programmer to express, clearly and concisely, an algorithmic intent. It should not burden the programmer with a particular model of computation, ex.
Cognition of Linguistics
In order that we express to computers what we really mean, we should carefully study the relationship between algorithms and the language used to express them. We should abstract out the ideas which lead to certain forms of expression over other forms. We should also study how the familiarity of a single computational model restricts the deveolpment of higher-order abstractions.
Linguistics of Cognition
Insofar as reasoning is the manipulation of symbols, we must seek to understand the influence that a particular language has on the relative ease of certain abstractions.