読書メモ ・「ソフトウェアの匠」 ・プログラム言語の進化はコンピュータ技術の中では遅い ・プログラム言語が考え方を規定する ・ビジネスの素材としてのJavaは成功。Javaの冒険をしない姿勢 ・インタプリタ言語は実行効率より開発効率、柔軟性を目指す ・KDEはQtライブラリを利用。ライセンスはQPL ・アスペクト指向:関心事(制御・管理したい共通特性)をうまく整理できるようにした。関心事でシステムを分離。 複数のクラスやオブジェクトに対し、横断的に適用可能な構造や振る舞いを抽出したものがアスペクト。クラスを定義する際の視点とは独立。 アスペクトの内容を変更してもクラスやオブジェクトに影響を与えない。ログやセキュリティ、トランザクション管理などがアスペクトとなる。 ・機能に着目した「機能中心」のシステムは不安定な構造になりがち ・データに着目した「データ中心」のシステムはより安定した構造 ・エンティティ:関連するデータを束ねたもの ・オブジェクト指向:機能とデータのまとまりで構造化。クラスという小さな単位でシステムを構造化。うまく小さな単位にできなければ、その問題領域はうまく解析できない ・パターン:繰り返し直面する特定の「問題状況」とそれへの「標準的な対処の仕方」をペアにしたもの。複雑な振る舞いの正規化 ・システムアーキテクチャ内での各階層のつながりを追う縦のトレーサビリティ。要求から設計までの各工程での成果物をつなぐ横のトレーサビリティ。 ・システム導入の目的やその結果、到達すべきゴールを明らかにするための「現実世界1」。それを具体的にどう実現するかを定義する「現実世界2」。 ・モデルに記述できないところに強みがある -目次- 第1部 基盤技術編(まつもとゆきひろのプログラミング言語論―なぜ、言語は作られ続けるのだろうか 八田真行のオープンソース論―私がその定義にこだわるわけ) 第2部 システム開発編(羽生田栄一のオブジェクト論―コトバに着目して見つけ出した概念を体系化する 羽生田栄一のデザイン・パターン論―実はオブジェクト指向と相反する ほか) 第3部 利用技術編(高林哲の検索技術論―ローテク検索に至る顛末 津留雅文のBIOS開発論―機能拡張と互換性維持の矛盾を解決 ほか) 第4部 知的財産権編(今野浩のソフトウェア特許論―今求められるソフトウェア技術者の発言) 匠の対談 萩原正義×羽生田栄一 やっぱ好奇心を持ち続けたい |