Pokud s jistou ironií přeformulujeme už tak dosti jízlivé znění Wirthova zákona na: Rychlejší hardware způsobuje vývoj méně účinného software, jsme už jenom krůček od zákona Gatesova: Rychlost softwaru se snižuje každých 18 měsíců na polovinu.
Gatesův zákon: Rychlost softwaru se snižuje každých 18 měsíců na polovinu.
Zákon nenese jméno svého autora. Spoluzakladatel firmy Microsoft se tu ocitá v jistě nechtěném významu proto, že právě jeho společnost a její produkty dělají nepřehlédnutelnou službu tomuto tvrzení. Bohužel v tom však nejsou sami.
Tato často citovaná teze je úsměvnou douškou, ovšem s nádechem zoufalství, k tendenci software nabobtnat tak, aby každých 18 měsíců překonal zdvojnásobení hardwarové kapacity přepočítané na jeden dolar – předpovězené Gordonem Moorem. Gatesův zákon tedy popírá všechny přínosy zákona Moorova.
Gatesův zákon popírá všechny přínosy zákona Moorova.
Bývá proto rovněž citován ve znění: Co Intel dal, Microsoft vzal, resp. Co Andy dal, Bill vzal. V této formě nese jména dotčených firem a jejich čelních představitelů z devadesátých let. Všimněme si, že za Intel zde není jmenován Gordon Moore, autor Moorova zákona, ale tehdejší CEO Intelu, Andy Grove.
Pageův zákon
V r. 2009 na konferenci vývojářů Google I/O byl tento zákon Sergejem Brinem, z ne zcela známých důvodů, připsán jeho kolegovi Larry Pageovi, taktéž spoluzakladateli společnosti Google. Brin zde doslova řekl: „Software se podle Pageova zákona zpomaluje každých 18 měsíců. Naštěstí to lidé ze světa hardware stále kompenzují. Rádi bychom však Pageův zákon zlomili a náš software pořád zrychlovali na tom samém hardwaru.“
Mayův zákon
Na tento zákon lze též narazit ve verzi: Účinnost softwaru se každých 18 měsíců snižuje na polovinu, což kompenzuje Mooreův zákon – pod označením Mayův zákon, podle britského informatika Davida Maye, spoluautora a architekta transputeru (počítače na čipu) a profesora University v Bristolu.
Bloatware
Bobtnání či kynutí software označovanému termínem bloatware jsme se dotkli už v předchozím dílu. Jde zejména o nesmyslné přidávání nepotřebné funkcionality softwarových aplikací, ale nejen o ně. Patří sem kromě nezvládnutého programového designu např. i vybavování osobních počítačů, notebooků, ale i smartphonů s přemírou systémových prostředků a utilit, jež nelze smazat, přitom velká většina běžných uživatelů je nikdy nevyužije. Mezi bloatware ovšem patří i předinstalovaný software, kterým výrobci hardware vybavují – též zcela zbytečně zatěžují svá zařízení.
Bloatware se dnes už bohužel netýká pouze komerčního software, kde umožňuje účtovat vyšší sazby za podporu a údržbu, ale přesouvá se i do světa opensource. Ten rovněž trpí posedlostí komplexnosti. S přihlédnutím k tomu, že naprostá většina dnešního software má přístup k internetu, máme tu olbřímí problém s bezpečností.
Většina výrobců se domnívá, že sw aplikace, jež neobsahuje oproti předchozí verzi celou přehršli nové funkcionality, prostě dostatečně nezapůsobí na uživatele. Zároveň ale často zapomínají, resp. neakceptují fakt, že uživatelé nechtějí řešit neustálé změny práce s danou aplikací a instalovat aktualizační balíčky po dobu desítek minut až několika hodin, aby záhy zjistili, že konfigurační nastavení v nové verzi už nefungují tak, jak by očekávali.
80 % uživatelů využívá jenom 20 % celkové funkcionality
Zdá se, že i zde platí pravidlo 80/20, kdy 80 % uživatelů využívá jenom 20 % celkové funkcionality. Je opravdu mýtem, jak opakovaně tvrdí komerční dodavatelé softwaru, že těch 20 procent se může u každého uživatele velmi lišit?
Připomeňme si slova Jamie Zawinskiho, známého jako jwz, softwarového vizionáře, jenž významně přispěl k vývoji svobodného softwaru. Ten se významně zasloužil o první verzi komerčního webového prohlížeče Netscape Navigator (původně Mosaic) a byl rovněž silným zastáncem otevřeného zdrojového kódu prohlížečů Mozilla. Na vývoj otevřeného software nakonec díky situaci na komerčním trhu rezignoval a dnes provozuje noční klub v San Franciscu.
„Mozilla (Netscape 1.0) není velká, protože je plná nepotřebných sraček. Mozilla je velká proto, že vaše potřeby jsou veliké. A vaše potřeby jsou veliké, protože internet je velký. Existuje spousta malých, štíhlých webových prohlížečů, které jinak nedělají téměř nic užitečného. Když jsme psali Mozillu, našim cílem nebylo stvořit zářivý klenot dokonalosti.“
Rozloučíme se trefnou citací Joela Spolskyho z jeho staršího blogpostu: „Nezáleží na tom, jak moc vám to vadí, vy ulízaná monstra, trh vždy volí bloatware.“
Autoři: Petr Zavoral, David Janoušek
Seriál Zákony informatiky:
- Úvod a Moorův zákon (1)
- Zákon zrychlujících se změn (2)
- Finanční deriváty Mooreova zákona (3)
- Bellův zákon počítačové evoluce (4)
- Jak Kryder odsunul Moora do vedlejší role (5)
- Jonathan Koomey a spotřeba počítačů (6)
- Metcalfe, Gilder a sítě (7)
- Sarnoffův rozhlasový zákon (8)
- Reedův zákon a sítě v sítích (9)
- Beckstromův zákon a ekonomická hodnota sítě (10)
- Robertsův zákon zvyšování přenosové rychlosti (11)
- Nielsenův zákon o internetové šířce pásma (12)
- Software je plyn. Nathanovy softwarové zákony (13)
- Jak rychle se zpomaluje software (14)
- Trh volí bloatware (Gatesův zákon) (15)
- Kolik třešní, tolik višní? Brooksův zákon (16)
- Když Brooksův zákon neplatí (17)
- Návštěva u Annie DeCaprio s Hofstadterem a Cheopsem (18)
- Organizace, její struktura a IT architektura podle Mela Conwaye (19)
Ano. A proto stále užívám na přehrávání zvuku v kompech portable Winamp 5.5 = 46 položek s celkovou velikostí 8,0 MB.
http://forums.winamp.com/showthread.php?threadid=278538
Date: Jun 2000
SESES rieši síce problém v HW ale prekonáva aj Gates0v zákon násobne
11 May 2020 at 05:36 PM EDT
„Speculative Execution Side Effect Suppression“
In Zola Bridges‘ own test using Google’s BoringSSL implementation, SESES’ed performance was just 7% that of the original speed. Yes, over a 90% hit to the performance.
https://www.phoronix.com/scan.php?page=news_item&px=LLVM-SESES-Merged
@Regine Diky za komentar a poslany link. Divam se na jejich Llamu (Winamp 5.8), ta ma ohlasovanych 7.8MB. To sw zviratko by asi nebylo tak stihle jako na obrazku, presto se zlepsuji 😉 Navic se ptaji uzivatelu na jejich preferovanou funkcionalitu. Takze pozitivni priklad a happyend!
https://www.winamp.com/#highlight-survey
@Peter Fodrek Diky za komentar a link. Skvely a velmi soucasny (to je az desive!) priklad popisovaneho jevu.
Priekopnikom v spomalovani SW je kazdopadne Autodesk.
Staci si porovnat rychlost prace v 2011 vs. 2020. Naozaj nechapem ako to dokazali takto do….t.
@Idealista Diky za prispevek. Cha! Zajimave. Hledal jsem nejaky zebricek aplikacniho desktopoveho bloatware, ale zatim nenasel. Takze Autodesk je zrejme kandidat na predni pricky.
@Idealista jaký Autodesk máte? mám Autocad 2021 a ten jsem si benchmarkem změřil že je o dost rychlejší než verze 2010
V principu je řešením modulární architektura. Každý si pak instaluje jen ty moduly, které potřebuje (a pro BFU může existovat nějaký balík, kde budou „pro jistotu“ všechny). Neříkám, že je to úplně jednoduché, ale vzdávat bychom to taky neměli 🙂
Zrovna jsem dopsal třetí díl seriálu věnovaného komplexitě softwaru: https://blog.frantovo.cz/c/383/ Jsou tam i příklady programů, kterým se podle mého docela dobře daří díky modulárnímu návrhu redukovat komplexitu (jak vlastního kódu, tak závislostí).
@Janovska – ako som pisal 2020.
Ak by vo verzii 2021 bolo dake zrychlenie, tak by to bolo super. Rovnako aj zvysenie stability programu by sa hodilo.
Pri generovani stoviek vykresov pomocou lisp scriptu to casto konci „unhanded exception“. Naproti tomu 2011 to zvladne 10x rychlejsie a bez chyb.
(script je ok, po ciastkach zbehne)
@Franta Dik za prispevek. Jdete na svem blogu hodne do podrobnosti, coz ocenuji.