חוק וירת

מתוך ויקיפדיה, האנציקלופדיה החופשית

בענף המחשוב, חוק וירְת טוען כי "תוכנה הופכת לאיטית בקצב הגבוה יותר מהאצת החומרה". ניבוי זה מיוחס לניקלאוס וירת, שטבע את האמרה בשנת 1995.

הסבר[עריכת קוד מקור | עריכה]

בהתאם לתחזית של חוק מור מ-1965, מוכפל כוח החישוב מדי שנתיים בממוצע. עם זאת, חוק וירת קובע שאין הדבר משפיע בהכרח על המהירות בה נעשית העבודה המועילה בתוכנה. תוכניות נוטות לגדול ולהסתבך עם הזמן, ונתיבי הריצה נוטים להתארך. זאת ועוד, יש מתכנתים המסתמכים באופן עיוור על חוק מור ומצדיקים בעזרתו קוד מקור לא יעיל, בחושבם שקוד זה לא יהווה בעיה שהרי החומרה תהפוך למהירה יותר בכל מקרה.

תוכנה משמשת ליצירת תוכנה, ומתכנתים רבים עושים כיום שימוש בסביבות פיתוח משולבות, מהדרים, שלדי תוכנה ספריות קוד וכדומה. שכבות תוכנה אלה מגבירות את רמת ההפשטה ומביאות את המתכנת להבנה טובה יותר של צורכי המשתמש, אך באותה העת מרחיקות אותו מהפרטים של החומרה. כדי להביע את הפשטות האלה בשפה המובנת למעבד, נדרשות שכבות פירוש רבות ומספר גדול מאוד של הוראות מכונה. כשתנאים אלה מתקיימים ללא בקרה מתאימה, התוצאה היא התנפחות תוכנה, הנחזית בחוק וירת.

דוגמה לחוק וירת אפשר לראות במערכות הפעלה מודרניות למחשבים אישיים. זמן האתחול של מחשב אישי ארוך מהזמן שנדרש לאתחול מחשב בשנות השמונים או התשעים[דרוש מקור][מפני ש...], למרות הגידול העצום שחל במהירות ובכוח החישוב של החומרה.

ביקורת[עריכת קוד מקור | עריכה]

חוק גייטס[עריכת קוד מקור | עריכה]

חוק גייטס הוא וריאציה של חוק וירת וחוק מור, הקובעת שמהירותה של תוכנה מסחרית בפיתוח יורדת ב-50% כל 18 חודשים, ולכן מונעת מהמשתמש את היתרונות הטמונים בחוק מור.

חוק גייטס מבטא את תסכולם של משתמשים רבים החשים בהאטה במהירות התוכנה מדי גרסה שהם מתקינים, האטה המחייבת אותם להחליף את החומרה בה הם משתמשים בפרקי זמן קצרים מהצפוי. החוק נקרא על שמו של ביל גייטס אף שגייטס לא ניסח או ביטא אותו בעבר. הוא נקרא על שמו כדי לבטא הלך רוח הומוריסטי על כך שדווקא מוצרי מיקרוסופט הולכים ונעשים איטיים יותר עם כל הוספה של טלאים או תכולות חדשים.

ראו גם[עריכת קוד מקור | עריכה]

לקריאה נוספת[עריכת קוד מקור | עריכה]

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