型安全とは何か、なにをもって型安全とすべきかを数理的に紐解いていける、型システムの鉄板書籍かなと思います。
¥6,732 ¥6,732 税込
獲得予定ポイント: | +67 pt (1%) |
上のボタンを押すとKindleストア利用規約に同意したものとみなされます。支払方法及び返品等についてはこちら。
これらのプロモーションはこの商品に適用されます:
一部のプロモーションは他のセールと組み合わせることができますが、それ以外のプロモーションは組み合わせることはできません。詳細については、これらのプロモーションに関連する規約をご覧ください。
を購読しました。 続刊の配信が可能になってから24時間以内に予約注文します。最新刊がリリースされると、予約注文期間中に利用可能な最低価格がデフォルトで設定している支払い方法に請求されます。
「メンバーシップおよび購読」で、支払い方法や端末の更新、続刊のスキップやキャンセルができます。
エラーが発生しました。 エラーのため、お客様の定期購読を処理できませんでした。更新してもう一度やり直してください。
型システム入門 プログラミング言語と型の理論 [プリント・レプリカ] Kindle版
このページの読み込み中に問題が発生しました。もう一度試してください。
※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機能しない場合があります。文字だけを拡大することはできません。
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。
型システムを理解するうえでの定番書を翻訳
型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。本書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報となっています。
日本語版に寄せて
監訳者序文
実用的情報
序文
謝辞
第1章 はじめに
第2章 数学的準備
■第1部 型無しの計算体系
第3章 型無し算術式
第4章 算術式のML実装
第5章 型無しラムダ計算
第6章 項の名無し表現
第7章 ラムダ計算のML実装
■第2部 単純型
第8章 型付き算術式
第9章 単純型付きラムダ計算
第10章 単純型のML実装
第11章 単純な拡張
第12章 正規化
第13章 参照
第14章 例外
■第3部 部分型付け
第15章 部分型付け
第16章 部分型付けのメタ理論
第17章 部分型付けのML実装
第18章 事例:命令的オブジェクト
第19章 事例:Featherweight Java
■第4部 再帰型
第20章 再帰型
第21章 再帰型のメタ理論
■第5部 多相性
第22章 型再構築
第23章 全称型
第24章 存在型
第25章 System F のML実装
第26章 有界量化
第27章 事例:命令的オブジェクト再考
第28章 有界量化のメタ理論
■第6部 高階の型システム
第29章 型演算子とカインド
第30章 高階多相
第31章 高階部分型付け
第32章 事例:純粋関数的オブジェクト
付録A 演習の解答
付録B 記法
参考文献
訳語集
規則図一覧
索引
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。
型システムを理解するうえでの定番書を翻訳
型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。本書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報となっています。
日本語版に寄せて
監訳者序文
実用的情報
序文
謝辞
第1章 はじめに
第2章 数学的準備
■第1部 型無しの計算体系
第3章 型無し算術式
第4章 算術式のML実装
第5章 型無しラムダ計算
第6章 項の名無し表現
第7章 ラムダ計算のML実装
■第2部 単純型
第8章 型付き算術式
第9章 単純型付きラムダ計算
第10章 単純型のML実装
第11章 単純な拡張
第12章 正規化
第13章 参照
第14章 例外
■第3部 部分型付け
第15章 部分型付け
第16章 部分型付けのメタ理論
第17章 部分型付けのML実装
第18章 事例:命令的オブジェクト
第19章 事例:Featherweight Java
■第4部 再帰型
第20章 再帰型
第21章 再帰型のメタ理論
■第5部 多相性
第22章 型再構築
第23章 全称型
第24章 存在型
第25章 System F のML実装
第26章 有界量化
第27章 事例:命令的オブジェクト再考
第28章 有界量化のメタ理論
■第6部 高階の型システム
第29章 型演算子とカインド
第30章 高階多相
第31章 高階部分型付け
第32章 事例:純粋関数的オブジェクト
付録A 演習の解答
付録B 記法
参考文献
訳語集
規則図一覧
索引
- 言語日本語
- 出版社オーム社
- 発売日2013/3/25
- ファイルサイズ8.9 MB
- 販売: Amazon Services International LLC
- このタイトルは、一部のデバイスと最新バージョンのKindleアプリでのみご利用いただけます。購入前に対応デバイスリストをご参照ください。 利用可能な端末
すべてのサポートされている端末を表示
Amazon スマイルSALE 開催中
期間限定!人気商品がお買い得。ポイントアップキャンペーン実施中
Amazon スマイルSALE を今すぐチェック
Amazon スマイルSALE を今すぐチェック
この本を読んだ購入者はこれも読んでいます
ページ: 1 / 1 最初に戻るページ: 1 / 1
登録情報
- ASIN : B07CBB69SS
- 出版社 : オーム社 (2013/3/25)
- 発売日 : 2013/3/25
- 言語 : 日本語
- ファイルサイズ : 8.9 MB
- Text-to-Speech(テキスト読み上げ機能) : 有効になっていません。
- X-Ray : 有効にされていません
- Word Wise : 有効にされていません
- 形式 : プリント・レプリカ
- Amazon 売れ筋ランキング: - 151,450位Kindleストア (Kindleストアの売れ筋ランキングを見る)
- - 5,387位工学 (Kindleストア)
- - 5,879位コンピュータ・IT (Kindleストア)
- - 9,093位コンピュータ・IT (本)
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
著者の本をもっと見つけたり、似たような著者を調べたり、おすすめの本を読んだりできます。
著者の本をもっと見つけたり、似たような著者を調べたり、おすすめの本を読んだりできます。
著者の本をもっと見つけたり、似たような著者を調べたり、おすすめの本を読んだりできます。
カスタマーレビュー
星5つ中4.5つ
5つのうち4.5つ
11グローバルレーティング
- 星5つ星4つ星3つ星2つ星1つ星5つ68%26%0%0%6%68%
- 星5つ星4つ星3つ星2つ星1つ星4つ68%26%0%0%6%26%
- 星5つ星4つ星3つ星2つ星1つ星3つ68%26%0%0%6%0%
- 星5つ星4つ星3つ星2つ星1つ星2つ68%26%0%0%6%0%
- 星5つ星4つ星3つ星2つ星1つ星1つ68%26%0%0%6%6%
評価はどのように計算されますか?
全体的な星の評価と星ごとの割合の内訳を計算するために、単純な平均は使用されません。その代わり、レビューの日時がどれだけ新しいかや、レビューアーがAmazonで商品を購入したかどうかなどが考慮されます。また、レビューを分析して信頼性が検証されます。
上位レビュー、対象国: 日本
レビューのフィルタリング中にエラーが発生しました。ページを再読み込みしてください。
- 2021年12月14日に日本でレビュー済み2000年以降のプログラミング関連の訳書の質の低下が甚だしい例に漏れません。
肝心なところで、英語の構文が取れておらず、直訳すらまともでありません。(語彙もひどいですが。substitution を代入と訳すコンパイラの人間はおそらくいないでしょう)
この本が難しいと感じるのは、訳が悪いからです。1%程度ですが、理論的に少し込み入ったところで必ずと言っていいほど、誤訳があります。
コンパイラの基本的な深い知識を前提とせず、数学書だと勘違いすれば、当然、意味がわからないでしょう。
訳者もその勘違いしている部類であるように見受けられます。
さらにこの監修の方が、ひどいことは、英語が理解できない上、実装と違うからという理由で、厳密でないという文句を、著者に言って、抽象論に難癖をつけています。これほどたちの悪い事はありません。学力がある有能な方が、よく分からない、などと言って途中で読みやめてしまうというのをたくさん見ました。
私は原著で読んでいますが、語学力のある方なら、理路整然と理解できる内容です。
追記:
この本の原著ピアースの書籍は、類を見ない本当に素晴らしいものです。
若い方は、必ず諦めないで英語で読んでください。
最初は苦しいかもしれませんが、将来あなたの力になることと所望します。
追記2:
日本の学者の頭の言語空間は変によじれていて、本来の文字の意味を取れていなく、
知識のバランス、センスが悪く、言語の用を足していないことはよくあることです。
英語を読み書きしましょう。
追記3:
substitution には「置換(読み:チカン)」という素晴らしい訳語が存在します。
replacement は「取替(読み:とりかえ)、再配置」など競合しません。
追記4:
SNS 上で、デマがまわりますとレビューの信憑性に関わりますので、経緯を補足致します。
共同の勉強会において、私は英訳を、他の方は邦訳を読まれると言う状況におきまして、
しばしば、優秀な方から「意味がわからない」と苦情を頂きました。
原著で確認しますと、直訳すらできていないところがあり、問題の意味を改竄している、ということがしばしばありました。5-11章あたりだと記憶しています。
プロの翻訳家であれば、
1. 直訳をする
2. 意味のわからない単語を英英辞典で語源から用途まで幅広く調べる。
3. 専門用語で訳語を、業界問わず、幅広く調べる。
4. 現在用いられている多種の訳語の中から、衝突性、一対一対応しているかなど慎重に検討する。
5. 万が一、見つからなければ新しい訳語を検討に加える。
6. 日本ではあまり用いられないような直訳表現を意訳する。
7. 例えば、主語、目的語を取り換える、修飾、限定 などの構造を保ちつつ、流暢な日本語に入れ替える。
8. 英文法に現れて、日本語に現れにくい、三次元的構造に関する記述を補足する
9. 専門用語に関して、日本語表現で伝わりにくい場合は補足する。
10. どうしても曖昧性が残るような場合は、原著での記述を併用する。
11. 読み直して意味が通っているように見えるか確認する。
12. 誤字脱字、変な表現がないか、何度も読み返す。
などの作業を必ず踏みますが、
このテキストの翻訳過程では、2-11 の過程をすべてすっ飛ばして、翻訳していることは、
明らかです。そうでなければ、あのような記述は得ないでしょう。
ろくに英語が話すことができない技術者を寄せ集めて、
小遣い稼ぎをすることは、このような世の中で、必ずしも悪いことではありませんが、
そのような出版が許されるのであれば酷評にさらされて当然と考えています。
たとえ翻訳をされた方々が素晴らしい技術をもっていたからといって、翻訳作業を舐め腐っていいとはなりません、彼らは原著を読んでおり邦訳を読んでいるわけではありません。
これら邦訳のテキストの読み上げで意味がとれないところが多々ありましたのは、5-11章あたりで、
それ以降(11章以降)は、我々に邦訳を併読する選択肢などあり得ませんでした。
追記5;
世界の常識として、substitution が、groupoid 上の操作であり、
さらに衝突性などの問題などにもすでに言及済みであるのに関わらず、
頑なに「代入」が相応しいと主張するのは、日本の情報科学の専門家としての程度を疑う。
コンパイラの理論や、計算論に必要な数学を少し学習すれば、
非常に見識の狭い悪訳であることは明らかです。
さらにもう一度述べておくと「翻訳」つまり translation 強いて言えば、言語の平行移動つまりは、一対一対応が大前提です。assignment --英訳--> 「破壊的代入」---邦訳--> destructive assignment となり、翻訳の大前提である、一対一対応を破壊する恥ずべきアテ語であり、そもそも翻訳と呼べる代物ではありません。
どうしてもこの訳語でないという理由も見当たりません。
言葉を扱うには、英語、日本語について精通している必要がありますが、この作品は素人の作品です。
これらは、一冊の本の翻訳という仕事を、脳内文脈が異なる多人数で行っているあたりから見ても、
正気の沙汰ではありません。
さらに、現代の型理論は、冒頭2章の定義等からも感じられるように、
数学基盤として、厳密に取り扱われることを目的とするものです。代入が見識の狭い数学の知識内で当たり前にsubstitution の訳として使われているのと同様に、大学数学では、置換という言葉が当たり前のように substitution の訳語として使われています。
こういった経緯から衝突しないことを前提に、assignmentを代入とした先人の名訳をぶち壊すこの悪訳により、潜在的な未来ある若い読者の脳内言語空間を乱し、包括的理解を妨げるのは必須です。
追記6:
監訳者の非誠実極まりない、当レビューに対する暴言論点ずらし等による世論形成に対抗し、当レビューの判断根拠を集める中で、置換群を substitution group だと記述致しました。一旦、訂正致します。
置換群には、日本語英語双方に渡り、
他に、並べ換え群や、対称群、など日本語でもいろいろ呼び名がありますが、英語における substitution group は特定のグループ内の数学者に通じる俗な呼称であり、広く普及している用語ではありません。
また、化学、数学に渡り、『置換』は substitute の良い訳語として広く定着しており、
当翻訳に対する、批判内容に一切変更はありません。
追記7:
当レビューの目的は、
翻訳の素人のような作品が広く流通する中で、
若く懸命な読者層に、何よりも、一次情報つまりは原文に触れることの重要性が広く認知される事を主眼としています。
追記8:
本レビューの翻訳の不当性の根拠として一番わかりやすい例として、
挙げた substitution と assignment に関する、住井氏の反論をかつてのレビューコメントで拝見した経緯があります。
翻訳という行為をなめた問題の本質とは、話がそれるものであるが、
ChatGPT-4o 氏とその反論に関して協議したので、その結果を述べる。
substitution の訳語として、衝突性を加味すると、最もふさわしい訳語は、「置換」である。
assignment の訳語として、衝突性を加味すると、最もふさわしい訳語は、「代入」である。
substitution を「代入」、assignment を「破壊的代入」としたい意図はわからないでもない。
しかしながら、substitution「構造的代入」、assignment「状態的代入」とする方が本質を捉えている。
Topos の文脈などで例をとると、
substitution は pullback であり、可逆的な「置き換え」の操作のことである。
一方 assignment は points of object であり、「米田的な観点」である。
(米田の補題が、object の中身をあらわにするものである、ということからこの意味は取れるだろう)
平たく言えば、
substitution:地図上で「この道を別の道に置き換えてみよう」→ 地形構造は変わらない
assignment:その地図上で「ここに旗を立てて、“ここが今いる場所だ”とする」→ 状態が一つに決まる
この意味で assignment は「状態指定」が本質的な訳語ではある。
しかしながら、「状態指定」と長い訳語にして、訳語の一対一を壊したり、「指定」として曖昧性を増やすことを嫌い、
米田世代は、assignment に「代入」をあて、substitution を「置換」とすることを解決策と選んだことが推察されよう。
結論として私の主張に変わりはないが、若い読者の混乱の無い様に、主張反論を整理し、語句の意味を明白にしておく。
- 2013年3月30日に日本でレビュー済み読み始めました。
読書記録を取り始めました。
[・・・]
プログラマの視点で、何がどう役立つかを考えながら読んでいます。
訳者の住井英二郎が作ったMinCamlをMacintoshで動かそうとしながら読んでいます。
ご意見、ご指摘をお願いします。
ps.
Software Foundationの輪講には参加しています。
[・・・]
ps2.
某TH大学の某U先生が、歴史的な流れ、必要なことについての記述の不十分性を指摘されていました。
内容がわかりかけたら確認してみます。
ps3.
2年前のPPLの時、「何のために」がない研究についての反省を聞いたことがあります。
型システムが、何のためにあるのかの理解を第一目標にします。
- 2017年11月30日に日本でレビュー済み「TAPL」の略称で知られる、型システムの世界における定番の入門書です。入門といっても、「これを読めば型システムの研究を始める準備が整う(たとえば、型システムに関する論文が読めるようになる)」という意味での入門ですが。
プログラミング言語における部分型、多相、高階型、型推論といったトピックに興味があり、理論的な背景が知りたいという人におすすめです。
けっこうボリュームがある書籍ですが、後半からはさまざまな型システムの紹介になるので、興味のあるトピックだけ拾い読みする使い方でも良いでしょう。