macroscope

( はてなダイアリーから移動しました)

temperature, temporary, tempo . . .

【まだ書きかえます。どこをいつ書きかえたかを必ずしも明示しません。】

- 1 -
たびたび出てくる話だが、コンピュータプログラムの変数名で temp または tmp というのがまぎらわしくてこまることがある。

- 2 -
理工系の用語は、20世紀後半以後は [注]、英語が基本、ほかの言語の用語はそこから派生したものとかんがえられることがおおい。また、プログラム言語の文法構造を指定するキーワードも英語からとられていることがおおい。

  • [注] 20世紀前半までは、フランス語、ドイツ語、英語が同等に重要だった。学術用語のうちでも日常語とかねるものは (日本語でいえば漢字を訓よみするようなものは) 言語ごとにだいぶちがうことがある。しかし、抽象度の高い概念をあらわす用語はたいていラテン語またはギリシャ語の要素からくみたてられ、西洋語のあいだでは共通のことがおおい。(日本語では明治期ごろに漢語の要素からくみたてられ、漢字を音よみするものがおおい。)

自然現象をあつかえば、温度 (英語 temperature) がよくでてくる。物理量の記号としては大文字の T がよくつかわれる。気象では気温がでてくるが、英語では air temperature で、あきらかに温度の一種であり、物理量の記号も T、必要ならば添え字をつけて Ta のようにすることがおおい。プログラム言語の変数名や、OS上のファイル名では、大文字と小文字を区別してつかえるかなどは言語やOSごとにまちまちなのだが、いずれにしても「T」や「t」の 1文字では見落としやすいので、複数のアルファベットからなる文字列をつかいたい。しかし、temperature は (とくにそのあとに区別のための補足がつくばあい) 文字数がおおくてわずらわしいので、3~4文字にちぢめたくなって、tmp や temp とすることがおおい。(この 2つのあいだで不統一になりがちだという問題もあり、わたしはちかごろも統一しきれていない。)

- 3 -
ところが、プログラムを書いていると、臨時の変数をつかいたくなることがある。たとえば、変数 a と b の値をいれかえる作業を、代入を「←」でかくとすれば、「{ tmp ← a; a ← b; b ← tmp } 」 のような形で実現することがある。ここで臨時の変数の名まえを tmp としたのは、英語の temporary の略のつもりだ。OS のレベルでも、臨時のファイルをつかいたくなることがあり、ファイル名に tmp または temp とつけたくなることがある。

そこに、温度をあつかう変数なりファイルなりもあると、まったくおなじ文字列になって意図とちがった動作になることはさけられたとしても、まぎらわしく、プログラムやファイルの意味がわかりにくくなってしまう。

(わたしはこのごろ、臨時のファイルに tmpfile、臨時の変数に tmpvar という名まえ (あるいはそのあとに数字をつけたもの) をつかうことはあるが、単なる tmp は温度をさす、という個人的約束をきめた。ふつう、ファイル名に file とか 変数名に var (variableの略) とかいう文字列をわざわざいれることはしない。しかし temporary は形容詞であり、ことばで説明するときは file や variable をつけていうほうがふつうなので、tmpfile や tmpvar は「温度」よりも「臨時」を連想しやすいのだ。しかし、これをわたしのほかの人にもすすめられるかどうかわからない。)

- 4 -
まぎらわしさはこれだけにとどまらない。時間をあらわす物理量の記号は t (小文字) だ。温度と時間の両方が変数名やファイル名にあらわれることはよくあり、大文字・小文字だけで区別するのはあぶないから、文字列をくふうすることになる。時間を英語の「time」であらわせばまぎれないが、「時間」にあたるラテン語の要素は「temp-」 (独立した名詞としては tempus ) なのだ。「時間についての」にあたる形容詞 temporal もある。これは英語話者にとっても temporary とまぎらわしいから、英語の文章では with respect to time とか related to time などといいかえられることがおおいけれど、temporal and spatial (時間的・空間的) などの文脈ではさけがたいこともある。「臨時」の temporary もおなじ要素から派生し、意味が分化したものだ。日本語の「テンポ」や英語の tempo はイタリア語からの外来語で、音楽用語として、時間をどれだけこまかくきざむか、のような意味になっているとおもうが、もとのイタリア語では「時間」をあらわすことばだ。

- 5 -
似た形になっているのは偶然ではないらしい。ラテン語に、不定形 temperare (直説法一人称単数 tempero) という動詞があって、およそ「調整する」のような意味だ。英語では temper となっていて、動詞としては「 (楽器を) 調律する」など、名詞としては「機嫌」のような意味がある。 temperament ということばもある。 temperate は気候学用語としては「(暑すぎも寒すぎもせず) 温暖な」あるいは「温帯の」だ。temperature ももともと「温暖である度あい」なのだろう。

他方、時間の「temp-」もここからきているという話を読んだおぼえがあるのだが、確認できていない。時間を定量的に認識するためにはなんらかの調整された手段をつかうというつながりだろうか?

- 6 -
ブラジルの気象庁にあたる機関が CPTEC (Centro de Previsão de Tempo e Estudos Climáticos) であり、そのうちの「previsão de tempo」が「天気予報」なのだ。ここでは「tempo」が「天気」の意味につかわれている。もっとも、英語の time にあたるポルトガル語も「tempo」だから、これが「天気」の意味になる文脈は限定されているのだろう。なお、(ラテン語を英語で説明しているオンライン辞書サイトによれば) ラテン語の tempus も英語の weather あるいは season にあたる意味になることもあるそうだ。

(なお、previsão を要素にわけて英語に直訳すれば prevision または foresee となるが、実際の英語訳は prediction または forecast となる。)

- 7 -
変数名やファイル名は英語でつけなければならないわけではない。日本語ローマ字で、温度は「ondo」、臨時の変数は「rinzi」 (訓令式) あるいは「rinji」 (ヘボン式) などとしてもかまわない。

ただし、それを他の言語の話し手が読むと別のものを連想することはあるだろう。たとえば「ondo」をラテン系の言語の話者が読めば「波」のことだとおもうだろう . . . と予想する。ただし (ひとまず Wiktionary でいろいろみると) 「波」に対応する「ondo」という単語があるのはエスペラントなどの人工語で、イタリア語、ポルトガル語、スペイン語などでは「onda」、ラテン語にさかのぼると「unda」だそうだ。【エスペラントはインド・ヨーロッパ語族の言語にふつうの「男性名詞、女性名詞」の区別をやめ、名詞の語尾を「o」に統一した。】なお、 google translate で「ondo」をポルトガル語に変換したら「どこ」となったのでおどろいたのだが、「どこ」は「onde」であり、google translate は「ondo」を「onde」を書きまちがえたものと解釈したようだ。[この段落、2024-11-04 改訂。]