Next: Final thoughts
Up: Developers
Previous: Core API
While Madagascar does not strictly have a design requirement for
programs to enter the main distribution, there are some general
guidelines to programs that we would like developers to follow. In
particular, we would like developers to: design programs that have
error handling and parameter checking, that accept command line
arguments to control important parameters in the program, and write
programs that are limited in scope. For example, a program that is
limited in scope is a program that computes the Fourier transform of a
real-valued signal and outputs a complex-valued RSF file. Conversely,
a program that overreaches in its scope, would be a program that
conducts a long series of processing completely in another language
(say C or Fortran). You should avoid designing programs with too much
scope, because you cannot fully leverage the advantages of SCons and
Python, if everything is happening inside a C or Fortran program.
Figure 1:
A Madagascar program reads RSF files, processes them, and then outputs them at the most fundamental level.
![\begin{figure}\begin{picture}(5,0.5)(0,0)
\put(0,0){\framebox{(}1,0.5){RSF file...
...tor(1,0){1}}
\put(4,0){\framebox{(}1,0.5){RSF file}}
\end{picture}
\end{figure}](img1.png) |
Next: Final thoughts
Up: Developers
Previous: Core API
2011-11-03