Knots & NetsRather than wishing for fish by the water, go home and weave a net.
ZH
Knots & Nets ZH

Analyzing Concepts in Computer Science

@XingHua Learning & Thinking 3 min read

Conceptual analysis?

On "concept," from Wikipedia. To keep the concept complete, I've quoted a fairly long passage here:

A concept, also called an idea, is an abstract, general thought or notion, or an entity that serves as a category or class designating entities, events or relations. Concepts ignore the differences among the things in their extension and treat them as if they were identical, so concepts are abstract. They apply equally to everything in their extension, so they are universal. Concepts are also the basic elements of propositions, just as words are the basic semantic elements of sentences.

Concepts are bearers of meaning, not agents of meaning. A single concept can be expressed in any number of languages; terms are the forms in which concepts are expressed. The concept of a dog can be expressed as Hund in German, chien in French and perro in Spanish. The fact that concepts are, in a sense, independent of language is what makes translation possible: words in different languages have the same meaning because they express the same concept.

A concept is a person's understanding of a complex process or thing. Philosophically speaking, the concept is the basic unit of thought. In everyday usage, people often treat a concept as equivalent to a word or a noun (a term). Chinese culture is traditionally regarded as not emphasizing the definition of concepts, and therefore as not having developed logic and the related philosophy and science.

Conceptual analysis means tracing the meaning, origin and possible contexts of a word. It's extremely common in philosophy: before discussing any question, you first have to analyze every concept in it and get completely clear on what each word means, and only then can the discussion move forward.

Rhetoric and distortion in translation

There are many reasons conceptual analysis is needed. A concept's meaning may have shifted over time, or a word may be entirely foreign and have lost its original meaning in translation. Computer science is itself an imported science in China, and nearly all of its technical terms are translations. So conceptual analysis here leans more toward removing the distortions introduced by translation.

In computer science, none of the many books I've read so far, not even the formal computer science education I received, included anything on analyzing terms. And because Chinese tends to value rhetoric over analysis, images that were fairly plain in the original English may, once translated into Chinese, pick up implicit rhetorical devices for the sake of elegance or imagery, and start to become mysterious. At that point, going back to the original word becomes very important.

Some such translations:

  • handle, translated as 句柄 (literally "phrase handle")
  • socket, translated as 套接字 (literally "sleeve-joint word")
  • meta-programming, translated as 元编程 (literally "primal programming")
    and so on. In English these meanings are fairly plain, but in Chinese, to keep the terms concise and elegant, the translators borrowed a lot of native imagery, and that imagery is itself rather hazy. The originally clear meaning becomes hazy and hard to grasp. These translations are products of their history and the technical background of their time. If they were made today, they probably wouldn't be done that way at all; the key words might even be kept in English.

When we run into such words, we need to look at when they were translated and what the source word was before it became Chinese. Once we find the source word, we should understand it within its own context. But even the source word deserves analysis, because it didn't come out of nowhere either. Computing is a very young science, and many of its words are newly coined. Some were made up outright; others also used some rhetoric, extending an original meaning into the computing domain.

A word isn't extended without reason. Behind it there's usually some inner connection between concepts, and this often forms a rhetorical device: metaphor.

The metaphors behind concepts

Another benefit of conceptual analysis is that it lets us see the metaphors behind concepts, which in turn helps us understand a concept's core idea better and more deeply.

For example, a few metaphors I personally like:

  • docker: the dockworker metaphor
  • handle: the door-handle metaphor
  • callback: the call-you-back metaphor
  • hook: the hook metaphor

What these metaphors have in common is that their plain original meaning is connected, in a somewhat implicit way, to the concept in computer science: the two share a very similar structure or meaning. If you want to grasp what a term means quickly, it's very important to combine its metaphor with the context at hand.

The philosophy behind conceptual analysis

Distinguishing the "efficient cause" from the "final cause"

To be continued

Related