文字列が文字列と呼ばれるのはなぜですか?
コアポイント
- プログラミング用語「文字列」の起源は、印刷された素材の長さ(フィート)に基づいて充電されたプリンターが充電された場合に、タイポグラフィの時代に関連していると考えられています。彼らは印刷された素材をつなぎ合わせ、「文字列」という言葉を使用して文字シーケンスを表します。 1940年代および1950年代に掲載された論文では、「文字列」を使用して現代のプログラミングと同様の意味を表現するための最古の学術的な参照が見つかりました。これらの初期使用法は、句読点またはスペースの間の同じ記号または連続的な文字の文字列のシーケンスを指します。
- プログラミングで今日私たちが知っている「文字列」(文字列)という用語は、1960年代に確立されたようで、さまざまな学術論文やリソースに掲載されています。タイポグラフィの時代の使用と同様に、意味のあるキャラクターのセットを表現し、いくらかのコストをもたらすために使用されます。
- 「文字列」(文字列)という用語には、現実の世界には同等の単語がありませんが(ページのテキスト「文字列」と呼びません)、コンピューターサイエンスで一般的に理解される用語になりました。一般的なデータタイプ。著者は、この用語よりもこのデータ型に適した他の用語はないかもしれないと考えています。
これは、SitePoint PHPニュースレターの7月25日版の編集です。
なぜ文字列は文字列と呼ばれるのですか?この質問について考えたことがありますか?プログラミングとは別に、他のコンテキストでそのような単語を使用して一連の文字を表すことはありませんが、プログラミングでは、「変数」という言葉と同じくらい一般的です。なぜこれが、どこから来たのですか?
それを理解するには、最初にいくつかの関連する用語を解決する必要があります。歴史の授業時間!
font(font)は、フランス語font - 溶けたものです。マスコミの文字は確かに金属製であり、鉛foundryで溶けていることを考えると、これは理にかなっています。
大文字
大文字よりも小文字が多いことに気付くでしょう。これが予想されます - 手紙はページに一度しか使用できません。結局のところ、YouTubeのコメントやケースロックがなかったため、書かれたテキストには、書かれたテキストにははるかに多くの小文字があります。
それで、これはすべて文字列と何の関係があるのでしょうか?
まあ、印刷がより主流になるにつれて、プレスは新聞や出版社だけでなく、印刷された素材の長さ(足)に基づいて請求すると決定されると言われている個人にサービスを提供し始めています。もちろん、多くは投機的ですが、それらが一緒に生産された印刷された材料をひもで描画すると、コストを簡単に見積もって顧客に請求できます。したがって、この場合の文字のシーケンスを表すために、string> string (string)という単語を使用しているというかなりの確実性を持って結論付けることができます。 2017年7月26日編集:以下のコメントで指摘されているように、アセンブリ後にマスコミに出荷されるときに、キャラクターブロックを一緒にバンドするための実際のロープがあるようです! Twitterファンは、プロセスを示す次のビデオを送ってくれました!
それにもかかわらず、これはプログラミングの分野と何の関係があるのでしょうか?つまり、何でも
何でもについて文字列を言うことができます。それは、プログラミング以外の世界ではある程度理にかなっています。通常は使用されていなくても、物事に普遍的に簡単に適用できるのはただの言葉です。 最初のリファレンスのアカデミックコミュニティの記録を見るとどうなりますか? 1944年の「再帰的な列挙可能な正の整数セットとその決定の問題」で、私たちは現代の定義とほぼ類似しているかもしれない何かに言及しました:
作業目的のために、レター6を紹介し、11b1bb1などの「文字列」1とbを検討します。この論文では、この用語では、同じ記号のシーケンスを指します。したがって、1の文字列またはbの文字列です。これは私たちの定義に正確に適合するわけではありませんが、それはほんの始まりに過ぎません。
それから、14年後の1958年の「機械翻訳のためのプログラミング言語」で、この言葉はこのように使用され、一度だけ使用されました。
句読点またはスペースの間の各継続文字列が辞書で調べられます。
定義>>はありません。さて、私たちの文字列の概念に少し似ていますが、彼はただ説明しているように見えます。明らかに、これは当てはまりません - それはあまりにも一般的です。しかし、何らかの理由で、それは人気があったようです。
1958年の「シンボル文字列を処理するためのコマンド言語」では、この単語は今日とまったく同じ方法で使用されていますが、これには
1959年の「機械的翻訳のためのコミットシステム」に別の参照が見つかりました:
d sin(f)をcos(f)d(f)に置き換えたい場合は、fは任意のコンポーネントシーケンスに制限されない場合、シンボル$を使用してこの文字列を表します。
おかしい!これは、私たち全員がPHPから知っているドルのサインであり、実際には基本の文字列サインです。
また、1959年には、「共有709システム:シンボルプログラミングのマシン実装」でより直接的な定義を取得しました。テキストは、読み込みやリスト中に必要な他の情報を表す線形並べ替えられたビット文字列です。
実際、1960年4月のアルゴルを通じて、弦が現代の略語形式の「弦」をとるように見えます(これの前に、人々は[何か]
の文字列を言いました)。この論文の要約を参照してください。 その後、1960年5月、アルゴリズム言語Algol 60に関するレポートは、コアコンテンツに触れる形式でそれを言及しました。
それ以来、それ以来、それは現代のミームと同じくらい速く広がっています。1963年の流星:文字列変換のためのLISPインタープリターは、かなり非特異的な「...]を使用しますが、いくつかの線形リスト(文字列)の単純な変換は、定義するのが困難です。
1964年「任意のエンコードアルファベットの宣言に関する」「文字文字列」に言及した。
検索ACMには1960年代以降の他の多くのリソースが表示されていますが、そのすべてが定期的にこの用語を使用しているため、1960年代はこの用語の進化の触媒と思われ、今日のように、ゆっくりとそれを作ります。システムのニーズ。興味深いことに、最終的にはタイポグラフィ時代と同様の概念を表しています。意味のあるキャラクターのセットであり、いくらかのコストをもたらします(今回はメモリに)。
サイドノートとして - これらのすべての論文を60年以上前のすべての論文を検討してください。 60年前、彼らは穴あきカードを使用してコンピューターサイエンスの問題を解決し、学術論文でそれらについて書きました。そして、私たちは2017年のJavaScriptフレームワークとともに2017年であり、Drupalのコミュニティで誰が誰とセックスをすることができるかについて議論し、ファサードという言葉を何度も再定義しようとしています。私たちが現代のウェブ開発された「物事が箱に入る、物事が箱から出てくる」のロケット科学について議論するとき、それらの人々は、本質的に小さな絞りをだまして、デジタルにあるアナログ環境をデジタルに変換することで世界全体を形作ります砂は数字を覚えています。 結論
だから今、私たちは知っている、または少なくとも私たちが知っていると思う - 文字列(文字列)はから来ています。コンピューターサイエンスは常に、人間の目が過去に半段階と半分を持っていることを知っているように、謎とゆっくりした進化に満ちた暗い空間であり、コンピューターサイエンスの用語も元の意味を超えて超越し、進化しました彼らが今日持っているものを与えるまで。同じ名前の同じ概念は、1960年代に同時にさまざまな場所で生まれ、私たち全員が理解し、使用した統一された用語に進化し、最も重要なことに、私たち全員が同意しました。
あなたがそれについて注意深く考えるとき、私たちはより良い言葉を使うことができますか?文字列(文字列)は、「現実世界」の同様の用語から完全に切断されているためにほとんど不自然に感じますが(ページの「文字列」というテキストを呼び出すことはありません)用語のデータ型。できますか?教えて。
コンピュータープログラミングの文字列のfaq
コンピューターサイエンスの「文字列」という言葉の歴史的な起源は何ですか?
コンピューターサイエンスの「文字列」という言葉は、「文字文字列」というフレーズに由来すると考えられています。これは、データが多くの場合、英数字のシーケンスまたは「文字列」として表されることが多いプログラミングで最初に使用されました。この用語は、データ型をプログラミング言語の文字シーケンスとして説明するために使用され、今日に使用されています。
プログラミングの他のデータ型と文字列はどのように異なりますか?
スタンドは、文字、数字、特殊文字を含む可能性のある文字のシーケンスです。整数やブール値(それぞれ数値または真/偽値を表す)などの他のデータ型とは異なり、文字列はテキストを表現および操作するために使用されます。これらは、ほとんどすべてのプログラミング言語の基本的なデータ型であり、操作と分析のためのさまざまな組み込みの方法が付属しています。
なぜいくつかのプログラミング言語で文字列が不変であるのですか?
JavaやPythonなどのいくつかのプログラミング言語では、文字列は不変です。これは、文字列が作成されると変更できないことを意味します。この設計の選択は、主に効率性と安全上の理由です。ストリングはプログラムで大量に使用されることが多いため、それらを不変にすることで、システムがメモリの使用速度と処理速度を最適化できるようになります。また、可変文字列に関連する潜在的なセキュリティリスクを防ぎます。
弦はメモリにどのように保存されますか?
スタンドは通常、メモリに保存されます。文字シーケンスとして、各文字は使用される文字エンコードに応じて、一定数のバイトを占有します。たとえば、ASCIIエンコーディングでは、各文字がメモリの1バイトを占有しますが、Unicodeエンコードでは、文字が2つ以上のバイトを占有できます。文字列の終わりには、通常、特別な空の文字がマークされています。
文字列でどのような一般的な操作を実行できますか?
連結(2つの文字列の連結)、サブストリング抽出(文字列の一部を取得)、文字列の比較(2つの文字列が等しいかどうかを確認)、文字列検索(特定の文字列の比較を含む多くの操作を文字列上で実行できます。文字列内の文字またはサブストリング)。これらの操作は通常、プログラミング言語に組み込みの方法として提供されます。
文字列を別のデータ型に変換する方法は?
ほとんどのプログラミング言語は、文字列を他のデータ型に変換する機能または方法を提供します。たとえば、Pythonでは、int()関数を使用して数値文字列を整数に変換するか、float()関数を使用してフローティングポイント数に変換できます。ただし、文字列が有効な数値を表していない場合、これらの変換は失敗します。
文字列補間とは何ですか?
文字列補間は、変数または式が文字列に直接挿入されるプログラミング手法です。これは、より読みやすく便利な方法で文字列をフォーマットするためによく使用されます。文字列補間の構文は、プログラミング言語によって異なります。
文字列と文字配列の違いは何ですか?
文字列は文字のシーケンスであり、文字配列は各要素が文字である配列です。 Cなどのプログラミング言語では、文字列はnull文字で終わる文字として表されます。ただし、多くの高レベルの言語では、文字列は独自のメソッドとプロパティを備えた個別のデータ型です。
文字列リテラルとは何ですか?
スタンドリテラルは、プログラムソースコードに直接書かれた文字列です。それは通常、引用符で囲まれており、それが単一の引用か二重引用符であるかは、プログラミング言語に依存します。文字列リテラルは一定の値として扱われ、一部の言語では不変です。
文字列で特殊文字を表現する方法は?
ラインブレーク、タブ、引用文字などの文字列の特殊文字は、通常、エスケープシーケンスで表されます。エスケープシーケンスは、バックスラッシュ()に続いて、文字または文字シーケンスが続きます。正確な構文と使用可能なエスケープシーケンスは、プログラミング言語によって異なります。
以上が文字列が文字列と呼ばれるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
