\documentclass{article}
\input{6828-preamble}

\begin{document}
\psetnum{19}
\date{2004/11/17}

\begin{pset}
  \begin{problem}
    I've used shell programming for relatively simple programs that
    are meant to be used interactively during a shell session, and
    (sometimes longer) programs for automating repetitive maintenance
    tasks.

    Shell programming is less appropriate for complex programs (that
    require more powerful abstraction techniques), anything that needs
    to run fast, or problems that require functions defined in C
    libraries.
  \end{problem}

  \begin{problem}
    More complex programs can be more easily written in shell scripts
    if new semantics from higher-level languages are integrated, as in
    \texttt{es}. The speed of shell code can be increased by allowing
    more functions to be performed from within the shell rather than
    by spawning an external program (since fork/exec are relatively
    expensive). Compiling the code and processing more of it at
    compile-time rather than runtime may also increase the speed of
    the code (some shells seem to be heading down this road).
  \end{problem}
\end{pset}
\end{document}
