Wirth's law

Last updated

Wirth's law is an adage on computer performance which states that software is getting slower more rapidly than hardware is becoming faster.

Contents

The adage is named after Niklaus Wirth, a computer scientist who discussed it in his 1995 article "A Plea for Lean Software". [1] [2]

History

Wirth attributed the saying to Martin Reiser, who in the preface to his book on the Oberon System wrote: "The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness." [3] Other observers had noted this for some time before; indeed, the trend was becoming obvious as early as 1987. [4]

He states two contributing factors to the acceptance of ever-growing software as: "rapidly growing hardware performance" and "customers' ignorance of features that are essential versus nice-to-have". [1] Enhanced user convenience and functionality supposedly justify the increased size of software, but Wirth argues that people are increasingly misinterpreting complexity as sophistication, that "these details are cute but not essential, and they have a hidden cost". [1] As a result, he calls for the creation of "leaner" software and pioneered the development of Oberon, a software system developed between 1986 and 1989 based on nothing but hardware. Its 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. [1]

Other names

The law was restated in 2009 and attributed to Google co-founder Larry Page. It has been referred to as Page's law. [5] The first use of that name is attributed to fellow Google co-founder Sergey Brin at the 2009 Google I/O Conference. [6]

Other common forms use the names of the leading hardware and software companies of the 1990s, Intel and Microsoft, or their CEOs, Andy Grove and Bill Gates, for example "What Intel giveth, Microsoft taketh away" [7] and Andy and Bill's law: "What Andy giveth, Bill taketh away". [8]

Gates's law ("The speed of software halves every 18 months" [9] ) is an anonymously coined variant on Wirth's law, its name referencing Bill Gates, [9] co-founder of Microsoft. It is an observation that the speed of commercial software generally slows by 50% every 18 months, thereby negating all the benefits of Moore's law. This could occur for a variety of reasons: feature creep, code cruft, developer laziness, lack of funding, forced updates, forced porting (to a newer OS or to support a new technology) or a management turnover whose design philosophy does not coincide with the previous manager. [10]

May's law, named after David May, is a variant stating: "Software efficiency halves every 18 months, compensating Moore's law". [11]

See also

Related Research Articles

<span class="mw-page-title-main">Niklaus Wirth</span> Swiss computer scientist (1934–2024)

Niklaus Emil Wirth was a Swiss computer scientist. He designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally recognized as the highest distinction in computer science, "for developing a sequence of innovative computer languages".

<span class="mw-page-title-main">Oberon (programming language)</span> General-purpose programming language

Oberon is a general-purpose programming language first published in 1987 by Niklaus Wirth and the latest member of the Wirthian family of ALGOL-like languages. Oberon was the result of a concentrated effort to increase the power of Modula-2, the direct successor of Pascal, and simultaneously to reduce its complexity. Its principal new feature is the concept of type extension of record types. It permits constructing new data types on the basis of existing ones and to relate them, deviating from the dogma of strictly static typing of data. Type extension is Wirth's way of inheritance reflecting the viewpoint of the parent site. Oberon was developed as part of the implementation of an operating system, also named Oberon at ETH Zurich in Switzerland. The name was inspired both by the Voyager space probe's pictures of the moon of the planet Uranus, named Oberon, and because Oberon is famous as the king of the elfs.

In computer programming, a p-code machine is a virtual machine designed to execute p-code. This term is applied both generically to all such machines, and to specific implementations, the most famous being the p-Machine of the Pascal-P system, particularly the UCSD Pascal implementation, among whose developers, the p in p-code was construed to mean pseudo more often than portable, thus pseudo-code meaning instructions for a pseudo-machine.

Trusted Computing (TC) is a technology developed and promoted by the Trusted Computing Group. The term is taken from the field of trusted systems and has a specialized meaning that is distinct from the field of confidential computing. With Trusted Computing, the computer will consistently behave in expected ways, and those behaviors will be enforced by computer hardware and software. Enforcing this behavior is achieved by loading the hardware with a unique encryption key that is inaccessible to the rest of the system and the owner.

Feature creep is the excessive ongoing expansion or addition of new features in a product, especially in computer software, video games and consumer and business electronics. These extra features go beyond the basic function of the product and can result in software bloat and over-complication, rather than simple design.

Originally, the word computing was synonymous with counting and calculating, and the science and technology of mathematical calculations. Today, "computing" means using computers and other computing machines. It includes their operation and usage, the electrical processes carried out within the computing hardware itself, and the theoretical concepts governing them.

<span class="mw-page-title-main">Wintel</span> Partnership between Microsoft Windows and Intel

Wintel is the partnership of Microsoft Windows and Intel producing personal computers using Intel x86-compatible processors running Microsoft Windows.

An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles.

Software bloat is a process whereby successive versions of a computer program become perceptibly slower, use more memory, disk space or processing power, or have higher hardware requirements than the previous version, while making only dubious user-perceptible improvements or suffering from feature creep. The term is not applied consistently; it is often used as a pejorative by end users (bloatware) to describe undesired user interface changes even if those changes had little or no effect on the hardware requirements. In long-lived software, perceived bloat can occur from the software servicing a large, diverse marketplace with many differing requirements. Most end users will feel they only need some limited subset of the available functions, and will regard the others as unnecessary bloat, even if end users with different requirements require those functions.

<span class="mw-page-title-main">Oberon (operating system)</span> Operating system

The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language Oberon. It was originally developed in the late 1980s at ETH Zurich. The Oberon System has an unconventional visual text user interface (TUI) instead of a conventional command-line interface (CLI) or graphical user interface (GUI). This TUI was very innovative in its time and influenced the design of the Acme text editor for the Plan 9 from Bell Labs operating system.

Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the language Pascal and preserves its heritage, but is incompatible with Pascal. Instead, it is a minor variant and refinement of Oberon-2 with a more expressive type system and built-in string support. Component Pascal was originally named Oberon/L, and was designed and supported by a small ETH Zürich spin-off company named Oberon microsystems. They developed an integrated development environment (IDE) named BlackBox Component Builder. Since 2014, development and support has been taken over by a small group of volunteers. The first version of the IDE was released in 1994, as Oberon/F. At the time, it presented a novel approach to graphical user interface (GUI) construction based on editable forms, where fields and command buttons are linked to exported variables and executable procedures. This approach bears some similarity to the code-behind way used in Microsoft's .NET 3.0 to access code in Extensible Application Markup Language (XAML), which was released in 2008.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

A2 is a modular, object-oriented operating system with unconventional features including automatic garbage-collected memory management, and a zooming user interface. It was developed originally at ETH Zurich in 2002. It is free and open-source software under a BSD-like license.

In computing, minimalism refers to the application of minimalist philosophies and principles in the design and use of hardware and software. Minimalism, in this sense, means designing systems that use the least hardware and software resources possible.

Steven McGeady is a former Intel executive best known as a witness in the Microsoft antitrust trial. His notes and testimony contained colorful quotes by Microsoft executives threatening to "cut off Netscape's air supply" and Bill Gates' guess that "this antitrust thing will blow over". Attorney David Boies said that McGeady's testimony showed him to be "an extremely conscientious, capable and honest witness", while Microsoft portrayed him as someone with an "axe to grind". McGeady left Intel in 2000, but later again gained notoriety for defending his former employee Mike Hawash after his arrest on federal terrorism charges. From its founding in 2002 until its sale in November 2013, he was Chairman of Portland-based healthcare technology firm ShiftWise. He is a member of the Reed College Board of Trustees, the Portland Art Museum Board of Trustees, and the PNCA Board of Governors, and lives in Portland, Oregon.

<span class="mw-page-title-main">Windows 3.0</span> Third major release of Microsoft Windows

Windows 3.0 is the third major release of Microsoft Windows, launched in 1990. Its new graphical user interface (GUI) represents applications as clickable icons, instead of the list of file names in its predecessors. Later updates expand capabilities, such as multimedia support for sound recording and playback, and support for CD-ROMs.

The Ceres Workstation was a workstation computer built by Niklaus Wirth's group at ETH Zurich in 1987. The central processing unit (CPU) is a National Semiconductor NS32000, and the operating system, named Oberon System is written fully in the object-oriented programming language Oberon. It is an early example of an operating system using basic object-oriented principles and garbage collection on the system level and a document centered approach for the user interface (UI), as envisaged later with OpenDoc. Ceres was a follow-up project to the Lilith workstation, based on AMD bit slicing technology and the programming language Modula-2.

Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It was later used for programming outside the context of the Lilith.

Andy and Bill's law is a statement that new software will always consume any increase in computing power that new hardware can provide. The law originates from a humorous one-liner told in the 1990s during computing conferences: "what Andy giveth, Bill taketh away." The phrase is a riff upon the business strategies of former Intel CEO Andy Grove and former Microsoft CEO Bill Gates. Intel and Microsoft had entered into a lucrative partnership in the 1980s through to the 1990s, and the standard chipsets in Microsoft Windows were Intel brand. Despite the profit Intel gained from the deal, Grove felt that Gates was not making full use of the powerful capabilities of Intel chips, and that he was in fact refusing to upgrade his software to achieve optimum hardware performance. Grove's frustration with the dominance of Microsoft software over Intel hardware became public, spawning the humorous catchphrase, and later, the law.

References

  1. 1 2 3 4 Wirth, Niklaus (February 1995). "A Plea for Lean Software". Computer . 28 (2): 64–68. doi:10.1109/2.348001 . Retrieved 2007-01-13.
  2. Ross, Philip E. (December 2003). "5 Commandments". IEEE Spectrum.
  3. Reiser, Martin (1991). The Oberon System User Guide and Programmer's Manual. ACM Press. ISBN   0-201-54422-9.
  4. Welsh, Geoffrey (1987). "Yes, There IS a Difference Between Micros and 'Big' Computers". TPUG News . 2 (1). Archived from the original on March 10, 2005.
  5. "Can "Page's Law" Be Broken?". Slashdot. June 2009.
  6. "Sergey Brin On Breaking "Page's Law" Of Software Sluggishness". YouTube. 2009-05-27. Archived from the original on 2021-12-21. Retrieved 2009-05-27.
  7. "What Intel giveth, Microsoft taketh away". OSNews. 2007-11-15. Retrieved 2017-08-17.
  8. "Ten Laws Of The Modern World". Forbes. 2005-04-19. Retrieved 2017-08-17.
  9. 1 2 Gates' law, from the Jargon Lexicon, in the Jargon File (version 4.4.7).
  10. Orion, Egan (March 21, 2003). "WinTel trips on Linux?", The Inquirer.
  11. Eadline, Douglas. "May's Law and Parallel Software". Linux Magazine. Archived from the original on March 20, 2011. Retrieved 9 May 2011.{{cite web}}: CS1 maint: unfit URL (link)

Further reading