「Boolean」の翻訳を「論理型」とすべき3の理由
プログラミング言語やHTMLのようなマークアップ言語などプログラミングに関する文書を呼んでいるとboolean(ブーリアン)という単語に出くわす。Booleanとは真(True)と偽(False)という2値をとるデータ型のことである。
情報元によって、このBooleanの翻訳や呼び方が異なっている。以下のように呼ばれたり訳され、最後に「型」や「値」がついたりつかなかったりする。
ブール、ブーリアン、真偽、論理、真理
このBooleanの呼び方としてどの訳し方がよいか気になったので調べた。その結果「論理型」と訳すのがよいという結論が得られた。その理由は以下3点だ。
- Booleanはlogical data type(論理型)の特殊なケースであること。
- JIS規格での翻訳の採用数が一番多い。
- 論理演算と用語が統一される。
以下でそれぞれについて説明していく。
Booleanの由来
Wikipediaによると、Booleanというのはイギリスの数学者であるGeorge Booleから名付けられている。ただ、以下のようにboolean data typeはlogical data typeの特殊なケースとも記述されている。
It is a special case of a more general logical data type; logic does not always have to be Boolean.
このことから、Booleanはlogical data type、つまり論理型と呼んでも意味としては間違っていないことがわかる。
JIS規格での翻訳の採用数
Wikipediaの記述だけだと判断がつかない。実際に公的文書において、Booleanがどのように訳されているかを参考にしたいと考えた。そこでJISの翻訳例を確認した。
JISにおいて、JIS X 3000-3999にはプログラミング言語の標準が記載されている。本文中での対応やISOの規格書などと見比べることで、各種プログラミング言語でboolやBooleanをどのように翻訳しているか調べた。JIS規格は以下のサイトを参照した。
情報処理 X 3000-3999 | kikakuri.com
JIS規格に存在するプログラミング言語関係の規格は以下のサイトがまとまっている。
ここによると、プログラミング関係のJISは全部で31種類存在する。
2016-08-03追記:JIS X 4000-4999はプログラミング言語ではないがXMLやHTML,SGMLといったマークアップ言語や,JIS X 7000-7999の応用分野としてGISのデータ形式のGMLなどでもbooleanの使用を確認できたので追加した(日本工業規格(情報処理)の一覧 – Wikipedia)。
この内、SQLやFortranなど同じ言語での重複を除外すると実質18種類となる。さらに,JIS X 4000-4999と7000-7999で有力なマークアップ言語の15種類を合計して,33種類の言語についてboolやbooleanの翻訳がどうなっているか調査した。
調査結果を以下の表に示した。
プログラミング言語 | JIS規格 | bool/Booleanの翻訳 | 説明 |
---|---|---|---|
Fortran | JIS X 3001-1:2009 | – | boolは存在せすlogical(論理型)が使われている。 |
COBOL | JIS X 3002:2011 | ブール | |
Full BASIC | JIS X 3003:1993 | – | boolは存在しない。 |
NDL | JIS X 3003:1993 | – | boolは存在しない。 |
SQL | JIS X 3005-1:2010 | ブール | |
Pascal | JIS X 3008:1994 | 論理 | |
Ada | JIS X 3009:2002 | – | JISは廃止。 |
C | JIS X 3010:2003 | 論理 | |
MIMPS | JIS X 3011:1995 | 真偽 | |
ISLISP | JIS X 3012:1998 | 真偽 | |
Prolog | JIS X 3013:2001 | – | JISは廃止。 |
C++ | JIS X 3014:2003 | 論理 | |
C# | JIS X 3015:2008 | 真理 | |
CLI | JIS X 3016:2010 | 真理 | |
Ruby | JIS X 3017:2013 | 真理 | |
POSIX C | JIS X 3030 | – | JISは廃止。 |
POSIX Shell | JIS X 3031 | – | JISは廃止。 |
ECMAScript | JIS X 3060:2000 | 論理 | |
SGML | JIS X 4151 | 論理 | |
DSSSL | JIS X 4153 | 論理 | |
HyTime | JIS X 4155 | – | |
HTML | JIS X 4156 | 論理 | |
XML | JIS X 4159 | – | |
CSS1 | JIS X 4168 | – | |
XSLT 1.0 | JIS X 4169 | 論理 | |
UML 1.0 | JIS X 4170 | 論理 | |
XSL 1.1 | JIS X 4179 | 論理 | |
SVG Tiny1.2 | JIS X 4197 | 論理 | |
VRML | JIS X 4215-1 | – | |
OpenDocument v1.1 | JIS X 4401 | 真理 | |
GML | JIS X 7136 | ブール | |
NewsML | JIS X 7201 | – | |
XBRL | JIS X 7206 | ブール |
調べたものの、BoolやBooleanという単語が使われていなかったり、JISが廃止されており確認できないものがあった。実際にBoolの使用を確認できたのは11+10=21言語であり、boolの翻訳の内訳は以下の表のとおりとなった。
分類 | 数 | 割合[%] | 言語 |
---|---|---|---|
論理 | 11 | 52.4 | Pascal,C,C++,ECMAScript,SGM,DSSL,HTML,XSLT,UML,XSL,SVG Tiny |
真理 | 4 | 19.0 | C#,CLI,Ruby,OpenDocument |
ブール | 4 | 19.0 | COBOL,SQL,GML,XBRL |
真偽 | 2 | 9.6 | MIMPS,ISLISP |
「論理」の翻訳が一番多く,次点が「真理」と「ブール」,最後に「真偽」の翻訳という順に並んだ。この結果から、「bool」や「boolean」の翻訳には「論理」が一番使われているようだ。
Fortranにおいて、Booleanに相当する型がLOGICAL(論理型)であることを考慮すると、実に5割の言語で「boolean」の訳に「論理型」が使われていることになる。また、使われている言語もC、C++、ECMAScriptと世界中で広く使われている言語となっている。
「論理」の訳は特にマークアップ言語での採用が多いのが目立つ。マークアップ言語の古典ともいえる,SMLで論理と訳されて,それを踏襲しているように思えた。
用語の統一
プログラミング言語において、Booleanと似た用語として論理演算・ブール演算がある。この中で、論理和(OR)や論理積(AND)という演算がある。
技術文書において同じようなことは同じ呼び方をしたほうがわかりやすい。そのため、ブーリアンを論理型と呼べば論理演算と用語を統一でき、関連がわかりやすい。
結論
以上のことから、「Boolean」の翻訳には「論理型」を使うべきという結論が導き出された。
今後、「Boolean」という単語をどう訳すべきか迷ったときは、「論理型」とすればよいだろう。