アクセスカウンター アクセスカウンター アクセスカウンター
アクセスカウンター アクセスカウンター アクセスカウンター
 

ことのはの散策

 

concrete, abstract, general: 具体的,抽象的,一般的


                                                                                      上智大学 伊藤 潔

                                                                          2008年5月16日

 

 concrete 「具体的,具象的」, abstract 「抽象的」, general 「一般的」の示す意味について述べます.

 
抽象データ型(abstract data type)と抽象項で,abstract 「抽象的」について述べました.

 abstractabstractionは,「抽象」と訳すときの「象」とは,かたち,姿,かたどりを意味します.「抽象」は,「かたち,姿,かたどりを外に引き出す」を意味します.これは,対象としているものを特徴づける重要な性質を取り出すことです.一般的ではありませんが,文脈によっては,「抽出」と訳してもいい場合もあります.
 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