一般的に、開発が進むと、外部コマンドで行なっていた処理を
どんどん内部化するという傾向があるように思うのだけど、
あれはどういう理由なの?

バックエンドを作っておけばいろいろなインターフェースから使えるから、
外部コマンドを使うというのは大変良い解法のように思えるのだけど。

何か問題があるの?