Makefilesには多くの素晴らしい点があり、お尻には多くの苦痛があります。
さまざまなプロジェクト(私は研究科学者、「データサイエンティスト」など)を行う過程で、ディスク上のいくつかのデータオブジェクトから始めて、それらからさまざまなアーティファクトを生成し、それらのアーティファクトからアーティファクトを生成することがよくあります。すぐ。
「このオブジェクトはこれらの他のオブジェクトに依存している」、「このオブジェクトはこれらのオブジェクトから次のように作成されている」と言ってから、Makeのようなフレームワークに実際のビルドの詳細を処理するように依頼するとよいでしょう。 、更新する必要のあるオブジェクトの特定、複数のプロセッサへの作業のファームアウト(Makeの-j
オプションなど)など。Makefilesはこれをすべて行うことができますが、大きな問題は、すべてのアクションをシェルコマンドとして記述しなければならないことです。これは、RやPerl、または他の同様の環境で作業している場合には便利ではありません。さらに、Makeの強力な前提は、すべてのターゲットがファイルであるということです。いくつかの例外と回避策がありますが、ターゲットがデータベース内の行などである場合、それはかなり苦痛になります。
明確にするために、私はソフトウェアビルドシステムを求めていません。私は(より一般的には?)アーティファクトの依存関係のウェブを扱う何かに興味があります。
この種の依存関係Webのフレームワークを知っている人はいますか?データサイエンスを実行したり、結果がどのように生成されたかを視覚的に示したりするための優れたツールになる可能性があるようです。
最近見た非常に興味深い例の1つはIncPyでしたが、しばらく触れられていないようで、Pythonと非常に密接に関連しています。それはおそらく私が望んでいるよりもはるかに野心的であり、それがPythonと非常に緊密に結合されなければならない理由です。
漠然とした質問で申し訳ありませんが、いくつかの説明が役立つかどうか教えてください。