Statistical software provides essential support for statisticians and other
s who are analyzing data or doing research on new statistical techniques. T
hose supported typically regard themselves as "users" of the software, but
as soon as they need to express their own ideas computationally, they in fa
ct become "programmers." Nothing is more important for the success of stati
stical software than enabling this transition from user to programmer, and
on to gradually more ambitious software design. What does the user need? Ho
w can the design of statistical software help? This article presents a numb
er of suggestions based on past experience and current research. The evolut
ion of the S system reflects some of these opinions. Work on the Omegahat s
oftware provides a promising direction for future systems that reflect simi
lar motivations.