他の回答でargv
は、Cに由来することに注意していますが、Cは配列を「ベクトル」と呼ぶアイデアをどこで得ましたか?
直接、それはBCPLから来ました。けれどもがargv
(文字列)の引数のベクトルを指し、BCPLはベクトルに保存されている文字列を持っていたが、彼らは文字列リテラルであり、彼らはパスカル文字列のように働きました。ベクトルには2つの要素がありliteral!0
ましたliteral!1
。長さat と文字at です。Clive Featherによると、文字列は文字配列に「アンパック」して操作し、配列を変換してから文字列に「再パック」します。これを文字列が文字配列であるCと比較してください。
はい、そうです、Cは以前に何か他のことを行っていたため、ベクトルにvを使用しました。さて、BCPL以前はこのようにベクターを使用していましたか?BCPL自体は、「Cambridge [またはCombined]プログラミング言語」を単純化したものです。これvector
は、1次元配列matrix
の同義語および2次元配列の同義語として使用されます。これはベクトルと行列の数学の表記法と一致していますが、CPLでは単なる便利なニーモニックであり、数学的な構造に関連付けられたプロパティはありません。
コンピューティング言語に関してさらに時間を遅らせることはできますか?トレイルの潜在的な分岐の1つが冷たくなっています。CPLはAlgol 60(1963年の更新)の影響を強く受けました。現在、ALGOL 68にはbits
and などの「パックされたベクトル」として記述されたタイプbytes
がありましたが、これらはARRAY
配列を参照していた以前のリリースのAlgolにはありませんでした。BCPLは1966年から来ているため、CPLはそれ以前(ただし1963年以降)でなければなりませんでした。ALGOL68(1968年と1973年に標準化)は直接的な影響を与えることはできませんでした。
一方、CPLの主な機能は、McCarthyのLISPシステムにも言及しています。これは、システム自体のデータ構造を参照するためにベクターを使用しませんが、それらはS式、M式、およびL式です(L式は文字列であるため、ベクトルと文字列の間の関連付けはなくなりました)。ない別の意味で使用するベクターは、「いつでも機械の状態」を表す「変数の数の値を」表現します。そのため、コメントで行われた仮定の証拠があります:コンピューティングで「配列」を意味する「ベクトル」という言葉は、数学で同様の用語を適用することから来るということです。