長尾 高弘 翻訳
長尾 高弘 原著
Andrei Alexandrescu 著
中川 真宏 監修
原 健治 監修
プログラミング言語の定番といえばC言語ですが、昨今の現場で必要とされる機能を実装するには低レベルに過ぎ、かといってC++は言語自体が複雑、JavaやC#は動作させるための機構が大きすぎ、といずれも“帯に短し襷に長し”。本書で解説するD言語は、それら各開発言語の難点を克服すべく開発された、マルチパラダイムプログラミング言語であり、OOP言語です。1999年にコンパイラ開発者として著名なウォルター・ブライトによって開発され、着実に“使える言語”に育っているD言語を、初歩から応用までスッキリと解説します。
WalterBrightによる序文
ScottMeyersによる序文
イントロダクション
監修者からひとこと
第1章 Dにダイビング
数値と式
文
関数の基礎
配列と連想配列
基本データ構造
インターフェイスとクラス
値か参照か
まとめ
第2章 基本データ型と式
シンボル
リテラル
演算子
まとめとクイックリファレンス
第3章 文
式文
複合文
if文
staticif文
switch文
finalswitch文
ループ構文
goto文
with文
return文
throw、try文
mixin文
scope文
synchronized文
asm文
まとめとクイックリファレンス
第4章 配列、連想配列、文字列
動的配列
固定サイズの配列
多次元配列
連想配列
文字列
配列の一匹狼的な従兄弟:ポインタ
まとめとクイックリファレンス
第5章 データと関数、関数型のスタイル
単純な関数を書き、単体テストする
引数渡しの方法とストレージクラスの指定
型引数
シグネチャの制約
オーバーロード
高階関数と関数リテラル
ネスト関数
クロージャ
配列を越えて─レンジ、擬似メンバ
可変個引数関数
関数の属性
コンパイル時評価
第6章 クラス、オブジェクト指向型のスタイル
クラス
オブジェクト名はリファレンスである
オブジェクトのライフサイクル
メソッドと継承
staticメンバによるクラスレベルのカプセル化
finalメソッドによる拡張性の抑制
カプセル化
1つのルートがすべてを支配する
インターフェイス
抽象クラス
ネストクラス
多重継承
多重サブタイプ化
パラメータ化されたクラスとインターフェイス
まとめ
第7章 その他のユーザー定義型
構造体(struct)
共用体(union)
列挙された値(enum)
エイリアス、別名(alias)
templateによるパラメータ化スコープ
mixintemplateでコードを注入する
まとめ
第8章 型修飾子
immutable修飾子
immutableを含む構成
immutable引数とメソッド
immutableコンストラクタ
immutableが関わる変換
const修飾子
constとimmutableのやり取り
引数から戻り値への修飾子の伝播
まとめ
第9章 エラー処理
throwとcatch
型
finally節
nothrow関数とThrowableの特別な性質
2次例外
スタックの巻き戻しと例外の影響を受けないコード
未処理例外
第10章 契約プログラミング
契約
アサーション
事前条件
事後条件
不変式
契約チェックの省略─リリースビルド
契約は入力の修正のためのものではない
契約と継承
インターフェイスでの契約
第11章 スケールアップ
パッケージとモジュール
安全性
モジュールのコンストラクタとデストラクタ
ドキュメンテーションコメント
C、C++とのやり取り
deprecated
version宣言
debug宣言
Dの標準ライブラリ
第12章 演算子オーバーロード
演算子のオーバーロード
単項演算子のオーバーロード
2項演算子のオーバーロード
比較演算子のオーバーロード
代入演算子のオーバーロード
添字演算子のオーバーロード
スライス演算子のオーバーロード
$演算子
foreachのオーバーロード
クラス内での演算子オーバーロードの定義
opDispatch:まったく異なるもの
まとめとクイックリファレンス
第13章 並行処理
並行処理をめぐる状況
データ共有の簡単な歴史
共有はもうデフォルトではない
スレッドの起動
スレッド間でのメッセージ交換
receiveによるパターンマッチ
ひねりの入ったファイルコピー
スレッドの終了
アウトオブバンド通信
満杯のメールボックス
shared型修飾子
sharedデータに対する操作とその効果
synchronizedclassを使ったロックベースの同期
synchronizedclassのフィールドの型
デッドロックとsynchronized文
sharedclassを使ったロックフリーコーディング
まとめ
付録A参考資料
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 002 下から11行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 013 上から11行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 026 下から7行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 030 「2.2.2 整数リテラル」2行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 032 脚注3 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 037 「2.2.6 配列、連想配列リテラル」1つ目のコードの下の文章 1行目 |
未 | 未 |
|
2016.01.25 | ||||||
1刷 | 039 コラム内リスト |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 045 本文上から2行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 061 表2-5の式「a += b」の説明 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 091 本文最下行 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 096 図4-2 |
未 | 未 |
|
2013.05.08 | ||||||
1刷 | 130 本文上から4行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 140 5.5.1 関数の半順序関係、4行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 140 5.5.1 関数の半順序関係、上から8行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 143 下から4行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 155 本文下から5行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 183 本文上から10行目(1つ目のリストの直前) |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 186 1つ目のリストの下の本文6行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 192 本文下から3行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 195 2つ目のリストのコメント |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 197 「6.7 カプセル化」7行目 |
未 | 未 |
|
2015.10.27 | ||||||
1刷 | 217 1つめのリスト 13行目 |
未 | 未 |
|
2015.11.09 | ||||||
1刷 | 227 最終行 |
未 | 未 |
|
2015.11.09 | ||||||
1刷 | 228 1つ目のリストの次の行 |
未 | 未 |
|
2015.11.09 | ||||||
1刷 | 229 15行目 |
未 | 未 |
|
2016.01.25 | ||||||
1刷 | 233 6行目 |
未 | 未 |
|
2015.11.09 | ||||||
1刷 | 236 7.1 「構造体(struct)」3~4行目 |
未 | 未 |
|
2015.11.09 | ||||||
1刷 | 268 2つ目のリストの下、本文2行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 317 箇条書き内真ん中 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 345 本文最下行 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 351 本文上から5行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 354 本文上から5行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 361 本文最終行 |
未 | 未 |
|
2014.08.27 | ||||||
1刷 | 369 箇条書きの下、本文1行目 |
未 | 未 |
|
2013.07.17 | ||||||
1刷 | 388 最終行 |
未 | 未 |
|
2015.10.22 | ||||||
1刷 | 410 2行目 |
未 | 未 |
|
2015.10.22 | ||||||
1刷 | 415 2行目 |
未 | 未 |
|
2015.10.22 |
peng225 さん
2014-06-04
単にD言語の書き方が載っているだけでなく、D言語がどのような思想に基づいて設計されているかがよく分かる一冊。これを読んで本当にD言語の素晴らしさに感動した。少々誤字が目立つのはご愛嬌。
ottu さん
D言語を解説した和書はこれしかない。パーフェクトガイドなんて存在しない。