web-dev-qa-db-ja.com

「ひも」の語源

したがって、一連の文字列が一連の文字列であり、一連の文字/バイト/その他であることが明らかです。文字列と呼ばれることもあります。しかし、誰が最初にそれらを文字列と呼びましたか?そしていつ?そして、どのような状況でそれが立ち往生したのですか?私はいつもこれについて疑問に思っていました。

58
sclv

Hugoの1963年のリファレンスの前に本当の引用を取得できますか?はい。ジョンマッカーシーは シンボリック式の再帰関数とそのマシンによる計算、パートI で1960年4月から「文字列」という単語を使用しました。

原子記号には、大文字のラテン文字と数字の文字列を使用します…

しかし、この質問にとってより便利なのは、データ型としての文字列への参照です。

許可された文字の文字列はL式です。

それは良い例ではありません。 「文字列」と言うことで、マッカーシーは今日、専門家の意味で「文字列」を使用していません。 「文字列」をJavaプログラマーに簡単に言うと、「of characters」の部分が暗黙的であることがわかるでしょう:McCarthyの使用はこの機能を示していません。プッシュバックしてみましょうマッカーシーが安全に演奏していたのか、それともその用語が本当は存在しなかったのかを確認するために1950年代まで。LISPはおそらく数学の計算に基づいているため、マッカーシーの文字列関数が最初だった可能性があるため、ここではあまり役に立たない文字列処理へのアイデアの適用。

1960年代の重要な文字列処理システムは、1964年代の SNOBOL、文字列操作言語 でした。これは上記のMcCarthyの論文を引用していますが、COMITとSCLについても説明しています。彼らがSCLで引用している作品は公開されていません。不幸な行き止まりです。

COMITは追跡が容易です。 Art of Computer Programming(第1巻、第3版、p.461)は、V。H. Yngveが1963年のCACMに関する記事を書いたことを示しています。しかし、私はearliestの「文字列」の使用を探しているので、以前の出版物を著者で検索します。

最初に見つけることができるのは 1958年7月の機械翻訳用プログラミング言語 です。これには、単語「string」の1つの使用法のみが含まれます。

句読点またはスペースの間の連続する文字列はそれぞれ、辞書で検索されます。

繰り返しますが、この使用法はマッカーシーの使用法に似ています。これは、現在の意味で使用されている「文字列」の証拠ではありません。論文を詳細に見ると、データ構造はカードの「行」であることがわかります(長い「行」の続きを可能にする)。

OK、COMITの歴史の中で前進し、何が得られるかを見ていきます。最初の有用なリファレンスは 1959年6月の会議の議事録からの機械翻訳用のCOMITシステム です。

D SIN(F)をCOS(F)D(F)に置き換える場合、Fは制限されておらず、任意の構成要素のシーケンスである可能性があるので、表記$を使用してこの文字列を表します。

これは、今日の使用方法に似ています。「文字列」は単独であり、ボーナスには認識可能な特殊記号があります。ドル記号は、一部のBASICフレーバーで文字列変数を示すために使用されています。

この頃から、「文字列」という単語は、 ACM '58 ProceedingsのPerlisとSmithによるシンボルの文字列 を処理するためのコマンド言語、および シェア709システム:ベームとスチールによるシンボリックプログラミングの機械実装

1960年代初頭にACMデジタルライブラリで「文字列」を検索すると、「ALGOLでの文字列処理」、「新しい言語での文字列操作」、「英数字情報のリスト型の保存手法」などのタイトルを含む62の結果が得られます。そのアイデアはそれまでに定着しているようです。

1960年頃の数年間で、文字の順序付けられたリストが一般的になったため、コンピュータサイエンスの専門用語で「文字列」が一般的になったと私は主張します。理解されたが、今日使用されている意味での「文字列」を裸の単語として使用することはできなかった.

略記はおそらく、Perlis and Smithの論文によってコンピューティングの主流に導入されました。広く引用されていませんが、重要な引用の1つは、 1960年4月のジョセフW.スミスによるALGOL の構文および意味の拡張(マッカーシーの説明と同じCACMの問題)です。舌足らずの発音)。その論文から:

このホワイトペーパーの目的は、ALGOLに構文および意味の拡張セットを提案することです。提案された拡張機能は、その言語での「文字列」操作の記述を容易にするように設計されています。それらはシンボル操作のための包括的な言語を構成しません。

私にとって、これは、学術用語集で確認されているシンボリック計算のデータ型を意味する「文字列」の証拠を構成し、商業計算に使用されるツールに重要に導入されています。

ちなみに、 Programming Languages:History and Future by Jean Sammet(1972)は、COMITとSNOBOLが文字列操作の先祖であったことを示唆しているので、以前の例。

47
user4051

完全な答えではありませんが、「1つの行に配置されたオブジェクトの数」を意味する文字列の使用は、すでに1400年代後半にありました。 ソース

これは基本的に同じ使用法です。

14
Peter Taylor

私が計算で見つけることができる最も古い参照は、3月1963からのものです。METEOR:文字列のLISPインタープリターTransformations MITのAIラボのDaniel G. Bobrow作。

Oxford English Dictionaryには、1956発行の計算機械学会誌

完全にソートされたシーケンスが取得されるまで、制御フィールドのストリングを往復するための領域が確保されます。

5
Hugo