Compact programming |
A Plea for Lean Software
Niklaus Wirth
Source: Computer, v.28 n.2, p.64-68, February 1995Abstract
Memory requirements of today's workstations typically jump substantially--from several to many megabytes--whenever there's a new software release. When demand surpasses capacity, it's time to buy add-on memory. When the system has no more extensibility, it's time to buy a new, more powerful workstation. Do increased performance and functionality keep pace with the increased demand for resources? Mostly the answer is no. The author contends that software's girth has surpassed its functionality, largely because hardware advances make this possible. He maintains that the way to streamline software lies in disciplined methodologies and a return to the essentials. He explores the reasons behind software's increasing heft and relates the history of Project Oberon as an example of how software should be built. Oberon's primary goal was to show that software can be developed with a fraction of the memory capacity and processor power usually required without sacrificing flexibility, functionality, or user convenience. The Oberon system has been in use since 1989, serving purposes that include document preparation, software development, and computer-aided design of electronic circuits, among many others. The system includes storage management, a file system, a window display manager, a network with servers, a compiler, and text, graphics, and document editors.