f

アーカイブ

2016-03-21

「Boolean」の翻訳を「論理型」とすべき3の理由

プログラミング言語やHTMLのようなマークアップ言語などプログラミングに関する文書を呼んでいるとboolean(ブーリアン)という単語に出くわす。Booleanとは真(True)と偽(False)という2値をとるデータ型のことである。

情報元によって、このBooleanの翻訳や呼び方が異なっている。以下のように呼ばれたり訳され、最後に「型」や「値」がついたりつかなかったりする。

ブール、ブーリアン、真偽、論理、真理

このBooleanの呼び方としてどの訳し方がよいか気になったので調べた。その結果「論理型」と訳すのがよいという結論が得られた。その理由は以下3点だ。

  1. Booleanはlogical data type(論理型)の特殊なケースであること。
  2. JIS規格での翻訳の採用数が一番多い。
  3. 論理演算と用語が統一される。

以下でそれぞれについて説明していく。

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 data type - Wikipedia, the free encyclopedia

このことから、Booleanはlogical data type、つまり論理型と呼んでも意味としては間違っていないことがわかる。

JIS規格での翻訳の採用数

Wikipediaの記述だけだと判断がつかない。実際に公的文書において、Booleanがどのように訳されているかを参考にしたいと考えた。そこでJISの翻訳例を確認した。

JISにおいて、JIS X 3000-3999にはプログラミング言語の標準が記載されている。本文中での対応やISOの規格書などと見比べることで、各種プログラミング言語でboolやBooleanをどのように翻訳しているか調べた。JIS規格は以下のサイトを参照した。

情報処理 X 3000-3999 | kikakuri.com

JIS規格に存在するプログラミング言語関係の規格は以下のサイトがまとまっている。

JIS規格 - 危ないRiSKのGoogleサイト

ここによると、プログラミング関係の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の翻訳例
プログラミング言語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 論理
SGMLJIS X 4151論理
DSSSLJIS X 4153論理
HyTimeJIS X 4155-
HTMLJIS X 4156論理
XMLJIS X 4159-
CSS1JIS X 4168-
XSLT 1.0JIS X 4169論理
UML 1.0JIS X 4170論理
XSL 1.1JIS X 4179論理
SVG Tiny1.2JIS X 4197論理
VRMLJIS X 4215-1-
OpenDocument v1.1JIS X 4401真理
GMLJIS X 7136ブール
NewsMLJIS X 7201-
XBRLJIS X 7206ブール

調べたものの、BoolやBooleanという単語が使われていなかったり、JISが廃止されており確認できないものがあった。実際にBoolの使用を確認できたのは11+10=21言語であり、boolの翻訳の内訳は以下の表のとおりとなった。

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」という単語をどう訳すべきか迷ったときは、「論理型」とすればよいだろう。

0 件のコメント:

コメントを投稿