« 長期休暇 | メイン | Snow on board on snow »
2007年02月14日
ライブラリ
プログラムを書いていると、「文字列検索」や「データの並べ替え」など、似たようなロジックがあちこちに出現することに気が付きます。
しかし、同じようなコードを毎回記述 (あるいはコピー&ペースト) するのは退屈で手間がかかる上に、ミスの発生原因にもなりがち。
そのため、こうしたロジックは色々な場面で使いまわせるように「部品」化され、ライブラリ と呼ばれるソフトウェア資源として蓄積されます。
ライブラリの作成には、アプリケーション作成のそれとは少し異なる設計・実装技術が必要とされます。 アプリケーションは対象となるプラットフォーム (環境) で正しく動作すればそれで良いので、保守性を妨げない程度であれば、「特化」した設計が許容 (あるいは推奨) されます。
これに対し、ライブラリは様々なプラットフォーム上で (差異なく) 動作することが求められるため、汎用的かつ柔軟に設計・実装されることが重要となります。 しかしその一方で、ライブラリに含まれるロジックは頻繁に使用されるため、パフォーマンス (実行効率) においても高い性能を要求されます。
ライブラリ開発は、高いスキルが必要な割に、地味で評価されにくい (単体では動作しないため) 仕事であり、多くのプログラマがこれを敬遠する傾向があるようです。 しかし、逆に考えれば、ライブラリ開発こそがプログラマとしての腕の見所・見せ所だったりするわけで……。
担当: 成田 (趣味は車輪の再発明)
そのため、こうしたロジックは色々な場面で使いまわせるように「部品」化され、ライブラリ と呼ばれるソフトウェア資源として蓄積されます。
ライブラリの作成には、アプリケーション作成のそれとは少し異なる設計・実装技術が必要とされます。 アプリケーションは対象となるプラットフォーム (環境) で正しく動作すればそれで良いので、保守性を妨げない程度であれば、「特化」した設計が許容 (あるいは推奨) されます。
これに対し、ライブラリは様々なプラットフォーム上で (差異なく) 動作することが求められるため、汎用的かつ柔軟に設計・実装されることが重要となります。 しかしその一方で、ライブラリに含まれるロジックは頻繁に使用されるため、パフォーマンス (実行効率) においても高い性能を要求されます。
ライブラリ開発は、高いスキルが必要な割に、地味で評価されにくい (単体では動作しないため) 仕事であり、多くのプログラマがこれを敬遠する傾向があるようです。 しかし、逆に考えれば、ライブラリ開発こそがプログラマとしての腕の見所・見せ所だったりするわけで……。
担当: 成田 (趣味は車輪の再発明)
投稿者 beko : 2007年02月14日 20:00
|
トラックバック
このエントリーのトラックバックURL:
http://aizu.nowhere.co.jp/mt/tkevn244.dir/4427
コメント
ドキュメントの執筆が間に合わないので、協力してくださる方を募集しております。
基本ライブラリ群
http://www.nowhere.co.jp/~narita/library/doc/
DBI (データベース制御)
http://www.nowhere.co.jp/~narita/library/dbi/doc/
投稿者 なりた : 2007年02月15日 18:43

