Maybe Your Next Programming Language Shouldn't Be a Programming
Author: Mary Shaw
Scaling Up: A Research Agenda for Software Engineering,
National Academy Press, pp. 75-82, 1989.
Software needs now strain the design limits of traditional programming
languages. Modern application needs are not satisfied by traditional
programming languages, which evolved in response to systems
programming needs. Current programming language research focuses on
incremental improvements, not on major changes to the nature of
software development. But major breakthroughs are needed in two
Non-programmers dominate modern computer use. Low computing costs
have enabled a wide spectrum of application, and end users who are not
programmers need to control their own computations.
Order-of-magnitude increases in service require substantial shifts of
technology. Computer users are interested in results, not in
programming; software must reflect this.
Requirements for large complex software systems exceed our production
ability. Growth of demand is greater than growth in capacity, and
system requirements exceed the scope of conventional languages.
Software lacks a true engineering base. Language concepts can support
a design level above the algorithm/data structure level and contribute
to an engineering discipline.
Programming language designers must look beyond the traditional
systems programming domain and tackle problems of special-purpose
software and system-level software design.
Brought to you by the
Software Systems Research Group in the School
of Computer Science at Carnegie Mellon
[Last modified 12-Feb-1999.
Mail suggestions to the Maintainer.]