内容紹介
プログラミングに対する考え方が根本的に変わる、本当に素晴らしい本である。- ビョーン・ストラウストラップ,C++生みの親
プログラミングをより深く理解したい開発者・エンジニア必読の1冊!
アドビやシリコンバレーでプログラマー向けにおこなわれた講演をもとにして、著者は、ジェネリックプログラミングのきわめて重要なテクニックを描き出します。とくに、安全で、信頼性のあるハイパフォーマンスソフトウェアにとって鍵となる抽象化に焦点をあてています。
上級のソフトウェア開発者、アーキテクト、技術者を対象に、クヌースの理論やストラウストラップの実践を完璧なまでに補足する本書は、優れたソフトウェアの作成方法を求める達人プログラマーたちにとって、新生面を開く画期的な本です。著者は、現在のソフトウェア改善法に対する最大の可能性を引き出す「規律」に焦点をあてています。
コンポーネントから信頼性の高いアルゴリズムを生み出すための数学の利用の仕方、また、アルゴリズムとデータ構造の間の効果的なインターフェースを設計するための数学の利用法を提示しています。
本書は、離散数学(集合、論理、代数学)の理解を前提にしていますが、一貫して実際的なプログラミング問題についての優れた解決に重点を置いています。両著者は、C++のコードを用いて、自分たちの概念とテクニックを説明しています。しかし、このテクニックは、すべて等しく、現在のオブジェクト指向言語に幅広く適用できます。
特別付録としてC++開発者ビョーン・ストラウストラップによる「C++サブセットの定義」付き。
著者について
Alexander Stepanov(アレクサンダー・ステパノフ):1967 年から1972 年までモスクワ国立総合大学で学ぶ。1972 年からプログラミングを行っており,最初はソビエト連邦で,1977 年に移住してからは米国でプログラミングをしている。オペレーティング・システム,プログラミング・ツール,コンパイラ,ライブラリーなどのプログラム経験がある。プログラミングの基礎に関する彼の業績は,GE,Brooklyn Polytechnic,AT&T,HP,SGI,Adobe により支持されてきた。1995 年,C++ Standard Template Library の設計に対して,Dr. Dobb’s Journal のExcellence in Programming Award を受賞。Paul McJones(ポール・マクジョーンズ):1967 年から1971 年までカリフォルニア州立大学バークレイ校でエンジニアリング数学を学ぶ。オペレーティング・システム,プログラミング環境,トランザクション処理システム,企業・消費者アプリケーションの領域で,1967 年からプログラミングを行っている。カリフォルニア州立大学,IBM,Xerox,Tandem,DEC,Adobe で働いた経験がある。1982 年に彼とアレクサンダー・ステパノフは,彼らの論文“The Recovery Manager of the System R Database Manager” で,ACMProgramming Systems and Languages Paper Award を受賞。訳者紹介柴田 芳樹(しばた よしき):1959 年生まれ。九州工業大学情報工学科で情報工学を学び,1984 年同大学大学院で情報工学修士課程を修了し,以来,様々なソフトウェア開発に従事。ゼロックス社のパロアルト研究所を含め,5 年間米国に駐在してソフトウェア開発に従事。現在は,ソフトウェア開発,教育,コンサルテーション等に従事している。訳書:『Effective Java 第2 版』『プログラミング言語Java 第4 版』『JavaPuzzlers 罠,落とし穴,コーナーケース』『Google Web Toolkit ソリューション』『Java リアルタイム仕様』(以上,ピアソン・エデュケーション),『アプレンティスシップ・パターン』(オライリー・ジャパン)著書:『Java 2 Standard Edition 5.0 Tiger 拡張された言語仕様について』(ピアソン・エデュケーション),『プログラマー“まだまだ” 現役続行』『ソフトウェア開発の名著を読む【第二版】』(以上,技術評論社)