This are very sound advices. I have arrived at very similar architecture in LSI environment.
From my experience, here are some advantages of this architecture:
- stages could be independently rewritten, so you could prototype in fast-writing language (perl in my case) and later rewrite whole stages or parts of them in fast-execution language if you need extra performance (C,C++ here);
- you could easily integrate third party software in your workflow - most of the existing tools in the field work with input and output files;
- you could reuse already written stages for different purposes - just pass them different options for input/output and parameters.
Comments
This are very sound advices. I have arrived at very similar architecture in LSI environment.
From my experience, here are some advantages of this architecture:
- stages could be independently rewritten, so you could prototype in fast-writing language (perl in my case) and later rewrite whole stages or parts of them in fast-execution language if you need extra performance (C,C++ here);
- you could easily integrate third party software in your workflow - most of the existing tools in the field work with input and output files;
- you could reuse already written stages for different purposes - just pass them different options for input/output and parameters.