アルゴリズムはね、一応プログラマを名乗っている人種なら誰でも書けるんですが、ソレを共通処理として切り出してライブラリ化して広く公開する、という部分には、アルゴリズムとは別の経験とセンスが必要ですからなぁ。
最初にコードを書く時点で、このロジックは使い回せる、このロジックはここ専用、と意識しつつ切り分けて分離できるセンス。
この辺、正直、PG経験の入り口が職業プログラマだった連中は全然ダメな場合が殆どですよ。どうしてああ、同じファイル内のすぐ上にあるロジックをその下にコピペして平気な顔しているのか判りませんよ。


ワシは元々、Delphiコンポーネント作ってたので、(ビジュアルでも非ビジュアルでも)コンポーネントってのはクラスの一つの完成形だと思っているので、共通ライブラリを作るときもコンポーネント指向、つまり「自分の外にある事象は一切気にしないし干渉もしない」のが大原則で、それを突き詰めてこそのライブラリじゃなイカと。ええ。