Language and the Mind
Posted by: Edward in: Intro/ConceptsI’ve been taking down a few notes as I progress a bit in my reading of SICP. According to the book, programming language is not just a means of instructing a computer to perform tasks, but its true power is in its ability to serve as a framework within which we organize our ideas about processes, in its flexibility in handling complexity (i.e. the power to combine primitive ideas to form complex ones).
I wanted to know how how language (and not just programming languages) can serve this.
Here, I saw the comparison made between the elements of language (in programming) and John Locke’s “Acts of the Mind.” In programming, language works by (1) the mechanism of primitive expressions for representing the simplest elements of data and procedures; (2) the mechanism of combination for building compound elements from the simple ones; and (3) mechanisms of abstraction to name and manipulate compound elements as units.
The acts of the mind are threefold too: (1) combining simple ideas to form compound or complex ideas; (2) bringing ideas together to view them altogether without combining them, so as to get all its ideas of relations; and (3) separating ideas from all the accompanying ideas in their real existence through “abstraction” whereby general ideas are made.
My questions are, what is “real existence”?
And, the acts of the mind can be applied to the “computation” of ideas but can we say the same of data and procedures (as in programming) and can we say the same of feelings and emotions (or mental states)?
What I find interesting also is, studying linguistic features that support programming constructs and data structures. For example, is “prefix notation” a linguistic feature? The SICP makes a distinction between prefix notation and the pretty-printing formatting convention which aligns operands vertically to display clearly the structure of expression. What I find interesting here is that the simple act of shifting the spatial order of the expressions seem to have much impact in terms of its understandability (especially between humans and machines). While prefix notation is unambiguous to the machine and the adept computer programmer (who can read programs well), prefix notation seems to be confusing for most people. But the pretty-printing format is more readable simply because it conforms to the human conditioning of thinking about operations.
So I also wonder what the different linguistic features mean in terms of how people think and are conditioned to think.
Humans are really weird animals…
