Wirthin laki on tietojenkäsittelytieteen sanonta, jonka mukaan ohjelmistojen suoritus hidastuu nopeammin kuin tietokonelaitteistojen suorituskyky kasvaa.[1]

Laki on nimetty Niklaus Wirthin mukaan, joka esitti väitteen vuonna 1995 artikkelissa "A Plea for Lean Software".[2][3] Artikkelissa Wirth kiinnittää huomiota seikkaan, että esimerkiksi uudemmat tekstieditorit vaativat enemmän muistia ilman että ohjelmat ovat sen nopeampia ja ilman jatkuvaa laitteiston kehitystä uudempia ohjelmia ei voitaisi käyttää lainkaan. Wirth myös mainitsi kaksi muuta lakia: "ohjelmisto laajenee käyttämään saatavilla olevan muistin" (Parkinson) ja "ohjelmistosta tulee hitaampaa nopeammin kuin laitteistosta tulee nopeampaa" (Reiser).[4]

Wirthin mukaan syitä monimutkaistuville ohjelmistoille ovat:[4]

  • ominaisuuksien lisääminen, vaikka käyttäjä käyttää niistä vain osaa
  • virheellinen käsitys, jonka mukaan monimutkaisuus olisi sama kuin hienostunut
  • kehityksen aikataulupaineet, jotka haittaavat suunnittelua

Muita nimityksiä muokkaa

Vastaavaa lakia on 2000-luvulla nimitetty "Pagen laiksi" Googlen perustajan Larry Pagen mukaan, mutta sen mukaan "ohjelmisto hidastuu kaksinkertaisesti joka 18 kuukausi".[5] Samaa muotoilua on kutsuttu myös "Gatesin laiksi" Microsoftin Bill Gatesin mukaan.[6] Tietojenkäsittelytieteilijä David Mayn mukaan sitä kutsutaan myös "Mayn laiksi" vastineena Mooren laille.[7]

Lähteet muokkaa

  1. Philip E. Ross: 5 Commandments spectrum.ieee.org. 1.12.2003. Viitattu 4.1.2024. (englanniksi)
  2. Niklaus Wirth, "A Plea for Lean Software," Computer, vol. 28, no. 2, pp. 64-68, February, 1995, viitattu 2.9.2016, lisäteksti.
  3. What is Wirth’s Law? techslang.com. Viitattu 4.1.2024. (englanniksi)
  4. a b Niklaus Wirth: A Plea for Lean Software (PDF) people.inf.ethz.ch. Viitattu 4.1.2024. (englanniksi)
  5. Can "Page's Law" Be Broken? developers.slashdot.org. 1.6.2009. Viitattu 4.1.2024. (englanniksi)
  6. Gates's Law catb.org. Viitattu 4.1.2024. (englanniksi)
  7. Douglas Eadline: May’s Law and Parallel Software 16.3.2011. Arkistoitu . Viitattu 4.1.2024. (englanniksi)