ことのはの散策
concrete, abstract, general: 具体的,抽象的,一般的
上智大学 伊藤 潔
2008年5月16日
concrete
「具体的,具象的」, abstract 「抽象的」, general 「一般的」の示す意味について述べます.
抽象データ型(abstract
data type)と抽象の項で,abstract
「抽象的」について述べました.
abstractやabstractionは,「抽象」と訳すときの「象」とは,かたち,姿,かたどりを意味します.「抽象」は,「かたち,姿,かたどりを外に引き出す」を意味します.これは,対象としているものを特徴づける重要な性質を取り出すことです.一般的ではありませんが,文脈によっては,「抽出」と訳してもいい場合もあります.
abstractionは,「抽象化」で,対象の振る舞いや特性を決定する,本質的な重要な性質を抽出することです.枝葉末節な事柄や実現方法は表に出さない,ということです.曖昧にするとか,現実離れというような意味を強調すべきではありません.
形容詞abstractは,「抽象的」ですが,意味合いは「曖昧な」とは限りません.動詞abstractは,「抽象化する,抽出する,取り出す」です.
抽象という日本語は,事物が一般的にとらえられているという意味と,具体性がない,曖昧という意味があります.abstractも曖昧という意味がありますが,日本では,前者の意味を捨て去ってしまうことが多々ありますので,注意が必要です.
このように見てくると,abstractは,general
「一般的」という言葉に置き換えてもよい場合もあります.
concrete 「具体的」は,abstract
「抽象的」, general 「一般的」という言葉のもつ,一般的な性質を抽出したものというニュアンスに対して,具体的な事物を指します.
concrete exampleは,「具体的な例,現実的な例」です.abstract exampleは,具体的な事物が持つ性質を踏まえた「一般的な例」です.
"Concretely speaking"と"Generally speaking"は,「具体的に述べると」と「一般的に述べると」です.
プログラミング言語で,concrete
syntaxとは,ひとつのプログラミング言語の具体的な構文法です.ある分野で使われるプログラミング言語は,それぞれ,concrete
syntaxを持ちます.その分野で記述すべき対象や構造が想定でき,それを具体的なプログラミング言語から離れて,必要な構文要素と構文法を記したものを,abstract
syntaxといいます.
コンパイラの構文解析が生成するabstract syntax tree 「抽象構文木」 (単にsyntax tree
「構文木」とも呼ぶ)は,どのような,プログラミングの言語でも,例えば,式を挙げると,必ず,operatorとoperandから構成されており,その関係を木構造で表したものです.具体的なプログラミング言語によっては,使われるoperatorには違いがあります.operator,
operandについては,「operation,
operator, operand, n-ary operation: 演算,演算子,オペランド,n項演算」に記しました.
concreteな事物から,一般的な性質,特性を抽出したとき.abstractという言葉を使うことが多いです.
|
|
|
|
|
concrete |
具体的,具象的 |
|
|
|
|
|
|
abstract |
抽象的 |
|
|
general |
一般的 |
|
|
|
|
|
|
concrete example |
具体的な例,現実的な例 |
|
|
abstract example |
一般的な例 |
|
|
|
|
|
|
Concretely
speaking |
具体的に述べると |
|
|
Generally
speaking |
一般的に述べると |
|
|
|
|
|
|
concrete
syntax |
|
|
|
abstract
syntax |
|
|
|
|
|
|
|
abstract
syntax tree |
抽象構文木 |
|
|
syntax
tree |
構文木 |
|
|
|
|
|
|
operator |
|
|
|
operand |
|
|
|
|
|
|
|
|
|
|
|
|
|
|