第1章 言語を深く効率的に学ぶ方法 1 1.1 比較した学習 2 言語もルールも違う C言語およびRuby言語における真値と偽値 3 Java 3における真値と偽値 1.2 歴史から学ぶ 4 言語デザイナーの意図を理解する どの言語を学べばいいのか分かりません 4 さまざまな言語で効果的な方法を学びましょう 5 1.3 概要6 第2章 プログラミング言語の誕生の歴史 7 2.1 プログラミング言語の誕生の歴史 8 ケーブル8の接続 プログラム内蔵9 Fortran言語は10 2.2 プログラミング言語の出現の理由 11 怠惰:プログラマーの三つの美徳の一つ 11 言語にはそれぞれの利便性があります 12 2.3 概要13 第3章 文法15の誕生 3.1 Syntax 16とは何か オペレーター優先度16 構文は言語設計者によって設定されたルールです。17 3.2 スタックマシンとフォース言語 17 計算過程18 計算次数18の表現方法 スタックマシン19は現在も使用されています 3.3 構文ツリーとLisp言語20 フロー20を計算してください 計算順序の表現方法 20 構文ツリー21は現在も使用されています コラム 理解が正しいかどうかを確認するために、まずそれを表現しなければなりません 23 3.4 接尾辞記法24 文法アナライザー24 ルール25の競技 何を勉強すればいいかわからないとき 25 3.5 概要26 第4章 プログラム27のプロセス制御 4.1 構造化プログラミングの誕生 28 4.2 if文誕生前 28 なぜif文28があるのでしょうか? なぜもしも... else 文30 4.3 文 - 繰り返し実行されるif文をより簡潔にする 33 while文を用いた表現 33 while文を使わない表現 34 4.4 命題について - 値が増加するwhile文をより簡潔にする 35 命題35に用いる式 文に用いない式 35 foreach - 処理対象のオブジェクトに基づいてループ操作を制御 36 4.5 概要 37 第5章 機能39 5.1 機能の役割 40 分かりやすく、まるで組織の40のように 再利用が簡単で、パート41と同じです プログラム41における再利用の特徴 5.2 リターンコマンド42 機能の誕生 43 ジャンプ目的地の記録用専用メモリ44 列関数命名45 スタック45 5.3 再帰コール 47 ネスト構造の効率的な取り扱い 48 ネスト構造の取り扱い 48 5.4 概要 52 第6章 エラー処理53 6.1 プログラムにもエラーはあります 54 6.2 誤差55のコミュニケーション方法 エラー情報をリターン値55で伝達します ミスをしたら58にジャンプしてください 6.3 文構造 61 誤りの可能性がある囲みコード ジョン・グッドナフの意見61 CLU言語62の導入 C++言語62の導入 Windows NT 3.1 63の紹介 6.4 出口は64を1回だけ必要とします なぜ最終的に64が導入されたのか 2対方式の誤りなしの操作 64 6.5 例外を投げるタイミング 68 関数が68と呼ばれている場合のパラメータ不十分 アレイアウトバウンド69 エラーの直後に例外70を投げてください 6.6 例外通過 71 例外配達付き問題71 Java 71の検査例外 検査異常が広く使われない理由 73 コラム 具体的知識と抽象的知識 73 カラムラーニングはゆっくり噛んで飲み込むことを強調します 6.7 概要 74 コラム 75を読むべきところから始め 第7章 名称と範囲 77 7.1 なぜ78という名前が取られたのか 名前の選び方 79 名称の対立80 紛争を避ける方法 80 7.2 スコープ81の進化 ダイナミックスコープ82 スタティックスコープ84 7.3は静的スコープで完璧な88ですか? 他言語における範囲 88 入れ子関数に関する問題89 外部スコープの再バインド 91 7.4 概要 93 第8章 95式 8.1 タイプ96とは何か? 8.2 値のオンとオフの表現 97 デジタル数字97の発明 7セグメントデジタルチューブディスプレイ98 アバカス99 8.3 デジタル数字100に必要な電球の数 10進数から2進数100まで 八進制とヘックス102の比較 8.4 実数の表現方法 103 不動点数 - 小数点の位置は103で決まります 浮動小数点数 – 値自体には10進部分の始まりに関する情報が含まれています 104 8.5 なぜタイプ107が起こるのか ジャンルの悩みなし 107 初期のFortran言語におけるタイプ108 プロセッサに変数タイプ108を伝えてください。 暗黙型変換 109 8.6 タイプ111の様々な展開 ユーザー定義かつオブジェクト指向の112 112式の特徴 ジェネリックタイプ、ジェネリック、テンプレート 113 ダイナミックタイプ116 タイプ推論 118 8.7 概要 122 詳細を読む前にアウトラインをマスターしてください 122 第9章 コンテナとストリングス 125 9.1 コンテナの種類 126 9.2 なぜ異なる種類の容器が存在するのか 127 配列と連結リスト127の比較 連結リストの強みと短所 130 列 ビッグO記法 – 計算時間とデータとの関係の簡潔な表現 第131巻 言語の違い 132 9.3 辞書、ハッシュ、連合配列 132 ハッシュリスト133 ツリー134 要素読み取り時間136 万能のコンテナ138は存在しません 9.4 キャラクター139とは何ですか? 文字セットと文字の符号化方法 139 コンピュータ誕生前のコーディング140 EDSACの文字エンコーディングは142です。 ASCII時代とEBCDIC時代142 日本のコード144 shift_jisコーディングはプログラムを壊す 145 マジックアノテーター147 Unicodeは統一された148をもたらします 9.5 ストリング150とは何ですか? 長さ情報を持つパスカル文字列とこの情報のないC文字列 150 1文字はJava言語の文字列153の16ビットに相当します Python 3 153で導入された設計変更 ルビー1.9のためのチャレンジ154 9.6 概要 155 第10章 並列処理 157 10.1 パラレルプロセッシングとは何か 158 10.2 158年以前の区分 10.3 2つの方法を交互に使う方法 159 協調マルチタスクモード – 適切なノードでの交互159 プリエンプティブマルチタスクモード - 一定時間後に交互160度 10.4 レースコンディション160の回避方法 レース条件161を確立するための3つの条件 共有禁止 - プロセスとアクターモデル162 修正なし - コンスト、ヴァル、イモータブル164 介入なし 164 10.5 閘門の問題点と対策 166 ロック166の問題 トランザクションメモリの助けを借りたリゾルト167 取引記憶の歴史 168 トランザクションメモリが169を成功させる 10.6 概要 170 第11章 オブジェクト vs. クラス171 11.1 オブジェクト指向とは何か 172 オブジェクト指向の含意は言語によって異なる 172 その物体は実世界のモデル174です クラス175とは何ですか? 11.2 集約変数と関数のモデリング手法 175 11.3 方法1:モジュール、パッケージ176 モジュールとは何か、パッケージ176 Perlにおけるパッケージ設計オブジェクト177 モジュールだけでは十分ではありません 178 別途保存データ 179 パラメータに異なるハッシュ179を渡します。 初期化プロセスもパッケージ180に入れてください ハッシュとパッケージの結合 181 11.4 方法2:関数もハッシュに入れる 183 ファーストクラス183 関数をハッシュ184に入れます 複数のカウンターを作成する 185 共通の属性をプロトタイプ186に組み込む これはオブジェクト指向の189ですか? 11.5 方法3:クロージャー190 クロージャー190とは何ですか? なぜ閉鎖191と呼ばれるのですか? 11.6 方法4:クラス191 ホールが構想したクラス192 C++言語におけるクラス192 機能記述の役割 193 クラス193の3つの主要な機能 11.7 概要 194 第12章 継承とコード再利用 195 12.1 『遺産196』とは何ですか? 異なる実装戦略の継承 197 相続は諸刃の剣です 199 リヒター生計原理 199 12.2 マルチプル・シークション201 物は複数の分類に分類されている 201 複数継承はモード再利用202の実装に非常に便利です 12.3 多重相続の問題 - 依然として紛争はある 203 回避策1:複数継承205を無効にする 回避策2:207を順番に検索する ワークアラウンド3:混合処理211 回避策4:特性213 12.4 概要 216 コラム 章ごと、ゼロから 217
リンク:https://pan.baidu.com/s/1PN5Kicx4DdUgFOYQfr1yzQ&shfl=shareset抽出コード:観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
|