Without memory for storing data, it's impossible for a program to get any work done. (Or rather, it's impossible to get any useful work done.)
Real-world programs can't afford to rely on fixed-size buffers or arrays of data structures. They have to be able to handle inputs of varying sizes,
from small to large. This in turn leads to the use of dynamically allocated memory--memory allocated at runtime instead of at compile time. This is
how the GNU "no arbitrary limits" principle is put into action.
May 17, 2004