Congnitive Linguistics can provide a better insight into how we organize and think about code. Being objective about it can improve your development process no matter which aspect of the programming community you are in.
(or, auf Anglish...) When you use something you know deeply to get a handle on something you know less well (or that doesn't yet exist, or is more abstract)
"The greatest thing by far is to be a master of metaphor. It is the one thing that cannot. be learned from others; it is also a sign of genuis, since a good metaphor implies and eye for resemblance." – Aristotle, De Poetica, 322 B.C.
What most people think of when they think of metaphor in a computing context.
Iconography, desktops, windows, and trashcans are, like poetry, only the most visible use of metaphor.
The UNIX command-line filesystem nterface depends deeply on primary metaphors of containment and locality.
GUI metaphors go wrong when their conceptual blends contain elements that do no meaningful compression. Laying out a calendar app like a day planner is a good compression ... giving it a leather cover is not
GUI metaphors go wrong when their conceptual blends contain elements that do no meaningful compression. Laying out a calendar app like a day planner is a good compression ... giving it a leather cover is not
Gave us an easy way to get our arms around a complex problem.
Gave us a ready-made application structure (System workflow / Entity Names / Class hierarchy)
In sort, applying a solution from one domain frame to a problem in a less well known domain brought the problem down to a human scale and made us more productive