情報工学で非常に重要かつ多用される対概念として「ハイレベル」〈high-level〉と「ローレベル」〈low-level〉がある。これは抽象度の高低を表わす概念だが,日本語で表現するのは思いのほか難しい。この問題について少し考えてみたい。
抽象化とは何か
抽象というのは,物事から注目すべきことを抜き出して捉えることであり,抽象度の高さとは元の具体的な物事からどれだけ離れた捉え方か,ということを意味する。情報工学における抽象化とは,機械,つまり勘機〈コンピューター〉の物理的な動作原理から人間にとって重要な事象を抜き出して捉えることであり,その程度をハイレベル・ローベルと表現しているわけだ。
「ハイレベル」はよく「人間が理解しやすいように」と説明されることがあるが,これは正確ではない。機械を抽象化するということは,確かにある程度のところまでは人間の直感に近づくことを意味する。多くの人にとって丁度良い程度に抽象化された機械が「直感的」といわれるが,高等数学のように日常的な感覚を越えた抽象化も存在する。こうした抽象化は,理解するにも高度な知識が必要になる。ハイレベル・ローレベルというのは,あくまでも物理的な機械と抽象概念がどの程度離れているか,ということを表しているに過ぎない。
地上を見下ろしている航空機の高度とイメージしてみると分かりやすいかもしれない。
訳語の抽象度
さて,このハイレベル・ローレベルには日本語で「高水準」と「低水準」,あるいは「高級」と「低級」という,ややぎこちない訳語があてられてきた。
これらの訳語の問題として,本来の意図にはない良し悪しや難しさの程度,あるいは地位の高低を表現しているように見えてしまう,ということが昔からよく指摘されてきた。わざわざ訳語を使っておいて,その旨を注釈するということが常習化している。はっきり言えば「誤訳」なのだ。
この翻訳問題は,英語と日本語における単語の「抽象度」の差に起因している。英語でもハイレベルやローレベルというのは,地位の高低という意味で使われる。ただ,英単語は概して抽象度が高く,一つの語が文脈によって幅広い使われ方をする傾向にある。だから,英語話者はハイレベル・ローレベルという表現も,どの文脈で使っているのかによって受け取り方を自然に切り替えられるのだろう。
一方の日本語は,意味を事細かに表現出来る漢字があることで,単語の意味が具体性を持ち過ぎ重くなる傾向がある。このために,英単語を漢語的表現で訳そうとすると,余計な印象を含んでしまうことが多い。ハイレベルを高水準と訳す類はまさにそれだ。
参考までにだが,こういう場合,訳語の抽象度を高めてみるのも手だ。様々な訳語・造語を生み出してきた私の経験上,これには二通りの方法がある。一つは,「漢字を削る」ことだ。今回の例でいえば「高」と「低」それぞれ一字にしてしまう。抽象概念を多く必要とする数学用語では,抽象的な一字用語は珍しくない。もう一つの方法は,比較的抽象度の高い「大和言葉を使う」ことだ。つまり「高い」と「低い」だけで表現してしまう。もちろん,これでは原語より漠然とし過ぎているので現実的な解決策ではない。
高層と低層,表層と深層
最終的に私が行き着いた改訳案は2組ある。直訳系で「高層」と「低層」,意訳系で「表層」と「深層」だ。
高層・低層は,原語の直訳とも言える案だが,多くは物理的な高度や建築物について使われる表現で,高水準・低水準,高級・低級と違い社会的な上下関係のような意味合いを含まない。この点でより好ましい訳語といえる。
上層・下層という案も考えたが,これも上層部や下層社会といった表現のある語なのであまり好ましくない。また,言語学では言語の社会的威信の違いを表す上層言語・下層言語という用語があり,明らかに論組〈プログラミング〉言語のそれと衝突する。
高層・低層が最も無難な改訳案といえるだろうが,もう一つ魅力的な案がある。それが表層・深層だ。これは原語より一歩踏み込んで,想品〈ソフトウェア〉開発者にとって極めて直感的な表現になっているので個人的には捨てがたい案だ。とりあえず,高層・低層を暫定案としておき,表層・深層については有効活用の検討を進めたい。