Prawo Wirtha

Z Wikipedii, wolnej encyklopedii
Niklaus Wirth wygłasza wykład (zdjęcie zrobione podczas jego wizyty na Uralskim Uniwersytecie Państwowym)

Prawo Wirtha – spopularyzowane przez Niklausa Wirtha w 1995 powiedzenie nawiązujące do Prawa Moore’a. Istnieją dwie jego wersje używane zamiennie:

Oprogramowanie zwalnia szybciej, niż sprzęt przyspiesza.

lub:

Oprogramowanie staje się wolniejsze szybciej niż sprzęt staje się szybszy

Zgodnie z prawem Moore’a sprzęt staje się coraz szybszy, co pewien okres możliwości sprzętu podwajają się. Prawo Wirtha zauważa, że nie oznacza to jednak rzeczywistego przyspieszenia wykonywania konkretnego zadania. Programy często stają się z czasem większe i bardziej złożone, przykłada się też coraz mniejszą wagę do efektywnego wykorzystania zasobów.

Przykładem działania prawa Wirtha jest proces rozruchu (ładowania) komputera z systemem operacyjnym na komputerze osobistym. Można zauważyć, że często proces ten przebiega wolniej, niż dawniej.

Dzieje się tak z kilku przyczyn. Po pierwsze, oprogramowanie staje się bardziej skomplikowane ze względu na zwiększającą się funkcjonalność czy bezpieczeństwo, co pozostaje niewidoczne dla przeciętnego użytkownika. Drugim problemem jest dążenie do skrócenia czasu powstawania oprogramowania. Stosuje się języki wysokiego poziomu i aplikacje wspomagające proces programowania, jednocześnie obniżając wymagania względem efektywności i prędkości działania. W wyniku tego programiści oddalają się od maszyny, wędrując ku marzeniu tworzenia aplikacji bez napisania ani jednej linijki kodu. Powoduje to konieczność istnienia wielu warstw interpretacji, które przetwarzają projekt utworzony w formie mniej lub bardziej zrozumiałej dla człowieka na zestaw instrukcji komputera w sposób sztywny i ograniczony, co spowalnia wykonywany przez procesor program.

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • The School of Niklaus Wirth: The Art of Simplicity, László Böszörményi, Jürg Gutknecht i Gustav Pomberger (Edytorzy), Morgan Kaufmann Publishers, 2000, ISBN 1-55860-723-4.