Javaは
int
およびInteger
boolean
およびBoolean
これは少し矛盾しているようです、なぜか
bool
vs Boolean
プリミティブ型に確立された短い名前を使用するには?または
integer
とInteger
を使用して型名の整合性を維持しますか?I think C++はbool
を使用することを決定しましたJavaよりも少し前にboolean
を使用することを決定しました。当時の標準ですか?)C拡張機能もあるので、bool
には歴史的な優先順位がありました。最初はbool
を本能的に使用しようとすることがよくありました(現代の編集者はすぐにこれを見つけずに追加のコンパイルラウンド)なので、現在の状況の背後にある理論的根拠を知っておくといいでしょう。
誰かがその話の一部()を覚えているか、ネットで関連する歴史的議論を見つけてリンクすることができれば、それは素晴らしいことです。
これらの設計上の決定に実際に関与した人々と連絡を取らない限り、決定的な答えを見つけることはできないでしょう。ただし、JavaとC++の両方の開発のタイムラインに基づいて、Javaのboolean
は、C++へのbool
の導入前、またはそれと同時に、そして確かにbool
が入る前に選択されたと推測します幅広い用途。boolean
は、その長い使用履歴(ブール代数など)、またはすでにboolean
型を持っている他の言語(Pascalなど)に一致するために選択された可能性があります。
現実世界における言語の進化:C++ 1991-2006 によると、bool
型は1993年にC++に導入されました。
Javaは、1995年の最初のリリースにboolean
を含めました( Java言語仕様1. )。私が見つけることができる最も古い言語仕様は Oak 0.2仕様 です( Oakは後にJavaに名前が変更されました )。そのオークの仕様は「著作権1994」とマークされていますが、プロジェクト自体は1991年に開始され、どうやら 1992年の夏までに動作するデモがありました 。
実際、Javaは、ここでの履歴に対してより正確です。真と偽の値の理論は George Boole によって発明され、一般的に Boolean Algebra と呼ばれています。
bool
は実際には長い名前を避けるためのショートカットにすぎませんが、最近のIDEのオートコンプリートサポートを考えると、これはもはや正当な理由ではありません(かつてJavaはboolean
に行くことにしました。
私はJavaの決定プロセスの一部ではありませんが、誰かが歴史に関心がある場合は、「ブール代数」が関連する歴史的優先順位であり、C/C++の決定に疑問を投げかけ、なぜ彼らがブールの名前を切り捨てたことを疑うかもしれません。 e
。