したがって、一連のことは一連のことであり、文字/バイトなどの連続であることは明らかです。文字列と呼ばれることもあります。しかし、誰が最初に文字列と呼んだのでしょうか?そしていつ?そして、どのような文脈でそれが立ち往生しましたか?私はいつもこれについて疑問に思っていました。
したがって、一連のことは一連のことであり、文字/バイトなどの連続であることは明らかです。文字列と呼ばれることもあります。しかし、誰が最初に文字列と呼んだのでしょうか?そしていつ?そして、どのような文脈でそれが立ち往生しましたか?私はいつもこれについて疑問に思っていました。
回答:
Hugoが1963年に引用する前に、実際の引用を入手できますか?はい。ジョン・マッカーシーは、1960年4月から、シンボリック式の再帰関数とその機械による計算、パートIで「文字列」という言葉を使用しました。
原子記号の場合、大文字のラテン文字と数字の文字列を使用します…
しかし、この質問にとってより便利なのは、データ型としての文字列への参照です:
許可される文字の文字列はすべて[L]式です。
それは素晴らしい例ではありません。「文字列」と言うことで、マッカーシーは、プログラマーが今日意味する特殊な意味で「文字列」を使用していません。Javaプログラマーに「文字列」と簡単に言うと、「文字の」部分が暗黙的であることがわかります。McCarthyの使用はこの機能を実証していません。マッカーシーがそれを安全にプレイしていたのか、それともその用語が本当に存在しなかったのかを確認するために、1950年代に戻ろうとします。LISPはおそらく数学的な計算に基づいているため、ここではあまり役に立たないでしょう。そのため、McCarthyの文字列関数は、文字列処理へのアイデアの最初の応用であったかもしれません。
1960年代の重要な文字列処理システムは、1964年の文字列操作言語SNOBOLでした。これは上記のMcCarthyの論文を引用しますが、COMITとSCLについても説明します。彼らがSCLについて引用している仕事は未発表であり、不運な行き止まりです。
COMITは追跡が簡単です。Art of Computer Programming(第1巻、第3版、p.461)は、VH Yngveが1963年のCACM記事を書いたことを示しています。しかし、私は「文字列」の最も早い使用を探しているので、著者は以前の出版物を検索します。
最初に見つけることができるのは、1958年7月からの機械翻訳用のプログラミング言語です。これには、「string」という単語の使用が1つだけ含まれています。
句読点またはスペースの間の文字の各連続文字列は、辞書で検索されます。
繰り返しますが、この使用法はマッカーシーの使用法に似ています。これは、現在の意味で使用されている「ストリング」の証拠ではありません。論文を詳細に見ると、データ構造はカード上の「行」であることがわかります(より長い「行」の継続を可能にします)。
OK、私たちはCOMITの歴史の中で前進し、何が得られるかを見ていきます。最初の有用なリファレンスは、1959年6月の会議の議事録からの機械翻訳用のCOMITシステムです。
D SIN(F)をCOS(F)D(F)で置き換えたい場合、Fは無制限で、構成要素の任意のシーケンスである可能性があるため、この文字列を表す表記法$を使用します。
これは、今日の使用方法に似ているようです。「文字列」は単独で、ボーナスには認識可能な特殊記号があります。一部のBASICフレーバーでは、文字列変数を表すためにドル記号が使用されます。
この頃から、単語「文字列」もで何度も表示される記号の文字列を処理するためのコマンド言語 ACM '58会報からペルリスとスミスを、一度でシェア709システム:シンボリックプログラミングのマシン実装ベームによると、鋼。
1960年代初期にACMデジタルライブラリで「文字列」を検索すると、「ALGOLでの文字列処理」、「新しい言語での文字列操作」、「英数字情報のリスト型保存技術」などのタイトルを含む62の結果が得られます。それまでにアイデアは定着しているようです。
私は、文字の順序付けられたリストとしてのコンピューターサイエンスの専門用語の意味での「文字列」は、1960年頃の数年で一般的になったと主張します。その前に、YngweやMcCarthyのような著者は、「文字列」と言い、理解されましたが、今日使用されている意味で「文字列」をむき出しの単語として使用できませんでした。
速記は、おそらくPerlis and Smithの論文によってコンピューティングの主流に導入されました。広く引用されているわけではありませんが、1960年4月にジョセフ・W・スミスが書いたALGOLへの構文的および意味的拡張があります(マッカーシーのLISPの記述と同じCMCM)。その論文から:
このホワイトペーパーの目的は、ALGOLの構文および意味の拡張セットを提案することです。提案されている拡張機能は、その言語での「文字列」操作の説明を容易にするように設計されています。それらは、シンボル操作のための包括的な言語を構成しません。
私にとって、これは、学術用語集で確認されている記号計算のデータ型を意味する「文字列」の証拠を構成し、商業計算に使用されるツールに重要に導入されました。
ちなみに、Jean Sammet(1972)の「プログラミング言語:歴史と未来」では、COMITとSNOBOLが文字列操作の先駆者であったことが示唆されているため、以前の例はないと確信しています。
コンピューティングで最初に見つけた参考文献は、1963年 3月のMETEOR: MITのAI LabsのDaniel G. Bobrowによる文字列変換のためのLISPインタープリターです。
オックスフォード英語辞典はから以前の計算例がある1956の問題計算機学会誌を:
完全にソートされたシーケンスが取得されるまで、制御フィールドの文字列を往復するための領域が確保されます。