著者:PrlSoft
ページ数:970

¥1,000¥0

各言語の各機能のコード例集です。1個(以上)のプログラミング言語をご存じの方が、別の言語ではどのように記述するのかを短時間で把握できることを目指した本です。

あるいは、機能や文法が言語によってどう違うのかを素早く比較・把握できることを目指した本です。

あるいは、言語のコード記法をwebで調べ始める前に本書を一瞬開いてみることにより、時間をなるべく節約することを目指した本です。

約50項目×10言語=500個程度のコード片(または簡略説明)からなります。1個のコード量は、1行,数行,100行越え,などさまざまです。

本書は第2版: Rust追加, 数言語削減(断念), 書名変更,

( 購入者様向け:
最新更新日: 2022年7月23日 項目順変更
更新 2022年6月 構造体
最新版を取得するには、購入者様がAmazonのカスタマーサポートにチャットか電話で「最新版に更新」依頼する必要があるようです。 )

主な対象読者:
・中級以上。1個(以上)の言語をご存じの方。
・プログラムを読むのが好きな方。
・説明を読むよりコード例を読むほうがわかりやすい、という方。
・難解な理屈や理論よりも、どう書くとどうなるか、を知りたい方。
・各種言語の雰囲気をつまみ食いしたい方。
・多数言語(10言語)を一気に効率よく比較・把握したい方。
・忙しい方。短時間で特定プログラミング言語を把握したい方。
・web検索で迷子になる時間をなるべく節約したい方。
・文法の早見表(チートシート)が欲しい方。
・無駄、冗長、まわりくどい説明、筆者の主観・見解・評価・余談、などが嫌いな方。

本書が不向きな読者:
・プログラミング初心者。
・プログラムを読むのが苦手な方。
・プログラミング言語の機能や概念の説明・解説を読みたい方。
・筆者の主観・見解・評価・余談、などを読みたい方。
・本の全ての行を理解できないと気が済まない方。
・本の全ての情報の説明や解説の記述を求める方。

注意:
・(文章や図による) 説明はほぼ皆無です。なるべく説明不要になるコード(と最小コメント)を目指しました。つまり、本書は書籍というよりも、コード(snippet)集、チートシート、に近いです。
・本書の情報はほとんどが assert() (とコメント) で記述。 assert(A) は A が真(true)。 A の部分が本書では最重要。

・長い行が多いので、なるべく大型端末で、画面を横長の向きで閲覧推奨。
・大型fire端末等での2段組み解除手順例: [その他の設定]の[複数の列を表示]をオフ。
・既定の文字サイズは小さ目にしてます。読者の好みに応じて調整設定していただく必要。

本書の形式: 必要な情報のみ残して無駄や冗長を極力排除したコード片と必要最小の説明コメントのみ。

本書の内容: 各種文法。ライブラリの情報は、文字列操作,連想配列,ファイル,スレッド, などのみ。

本書の推奨利用方法:
・webで調べ始める前に本書を一瞬開いてみる。
・興味本位で各言語の違いを眺めてみる。
・ページ順に読まない。興味のある項目のみ読む。
・全ての行を理解しようとしない。必要な行のみ読む。
・全項目のうち何項目わかるか確認してみる。(時間ある場合)

動作確認version:
C言語(C18) C#(10)(2022) JavaScript(2021) Python(3.10)(2022) PHP(8.1)(2022)
Swift(5.5)(2022) Kotlin(1.6)(2021) Go言語(1.18)(2022) TypeScript(4.6)(2022) Rust(1.58)(2022)

免責:
・筆者は執筆経験ゼロ、(いくつかの言語以外は) 各言語も知識ゼロ、の状態からweb情報のみで執筆しました。したがって、本書はいろいろ問題点も多いと思います。

本書の構成: 1.機能別 2.言語別 の2部構成。それらは同一内容で、並び順が異なる。言語間の差異を比較・把握したい方は前半の 機能別 を。特定言語のみ把握したい方は後半の 言語別 を。
免責: つまり、本書の実際の情報量は、本書全体の約半分です。

内容項目(初級):
コメント main(hello world) インストールと実行例 assert printf 1行内に複数文 1文を複数行に分割記述

免責: インストールと実行例は、執筆時点、Windowsでの例。とても単純なコマンドライン例のみ。有用な点も少しはあると考え、記載。

内容項目(主に中級以上):
基本型一覧 変数 定数 型別名 列挙 演算子 文字列操作 文字列リテラル 配列 タプル 構造体 連想配列 フィルタ 参照変数 null安全 if while for foreach switch
関数 ラムダ式 クロージャ yield クラス 抽象クラス interface ducktyping trait RAII ジェネリクス 名前空間 例外 ファイルIO スレッド #if #define コレクション

免責: フィルタ の項は、 filter(), map(), sort() のコード例のみ。コレクション の項は、主な型名(種類)やメソッド名のみ。

内容抜粋: (いくつかの言語の)
型推論 (変数,関数などの項に記載)
正規表現利用(検索,置換,グループ後方参照) (文字列操作の項に記載)
共用体(union) (構造体の項に記載)
参照キャプチャ (ラムダ式の項に記載)
nullable, optional (null安全の項に記載)
slice, destructuring, comprehension(Python) (配列の項に記載)
LINQ(C#) (フィルタの項に記載)
参照型 値型 mutable, immutable (参照変数の項に記載)
値渡し 参照渡し 名前付き引数 可変長引数 (関数の項に記載)
coroutine,generator (yieldの項に記載)
演算子定義(overload) 継承 型cast (クラスの項に記載)
構造的部分型 (ducktypingの項に記載)
mix-in, 多重継承 (traitの項に記載)
upper-bound, lower-bound, invariant, covariant, contravariant (ジェネリクスの項に記載)
mutex, atomic, thread-pool, promise/future, async/await (スレッドの項に記載)
条件コンパイル(#if) マクロ(#define)

いただくかもしれない批判:
・ 説明不足or過多。
・ レイアウト乱れ(行が長い)、図が無い、文字装飾(太字など)が無い、hyperlink不足、など。
・ 間違い。
・ 不完全。重要項目がいろいろ欠落。徐々に加筆予定。
・ 洗練不足。無駄,冗長なコードが含まれる。
・ 項目分割不足。
・ 古い。言語は日々変化。本書は主に2019年ごろの情報。
・ 各言語の思想,慣例に反する。
・ コードのスタイルがよくない。各行にコードを詰め込みすぎ。読みにくい。
・ 変数名などの名前 (例 i1) がよくない。
・ 言語間での不統一や記述抜け。徐々に改善したい。
・ 未調査や疑問点 (TODOと表記) が残っている。

凡例: “S1″(文字列) s1(文字列変数) a1(配列変数) i1(整数変数) 123(整数値 234 1 2 3 なども) 1.23(小数値) f1(関数名,小数変数) p1(引数名,参照変数) C1(クラス名) o1(オブジェクト変数)
m_i1(メンバ変数) s_i1(static変数) m1,M1(モジュール名) T1(型名) E1(列挙型名) e1(列挙変数,例外変数) AAA(列挙値) t1(タプル変数) AAA.* file1.* (ソースファイル名)

注意: 実際のプログラムではもちろんこのような名前は使うべきではない。

シリーズ一覧

 

  Kindle Unlimitedは、現在30日間無料体験キャンペーンを行っています!

この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。

Kindle Unlimited 無料体験に登録する