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

אין לי כוח לעבוד.
בעצם, יש לי כוח לעבוד, אבל לא לעבודה הזאת.
בעצם בעצם, יש לי כוח אפילו לעבודה הזאת אבל אין לי חשק לעבוד.
אבל גם זה לא מדוייק. יש לי חשק לעבוד על המון דברים, רק לא על הדברים הנכונים.
דחיינות מובנית
"לעצלנים יש תמיד תשוקה לעשות משהו" אמר המרקיז דה-וובנארג, ומניסיון אישי רב שנים ורפיון – הוא צודק. תשוקה לא חסר. הבעיה היא המושא של התשוקה.
כבר הזכרתי כמה פעמים את מאמרו המופלא של פרופ' ג'ון פרי "דחיינות מובנית" הכולל בתוכו את הפסוק המפורסם מאת רוברט בנצ'לי:
"כל אדם מסוגל לכל כמות של עבודה, ובלבד שאין זו העבודה שמוטלת עליו באותו רגע".
כל כך נכון. כל הקריירה האנטי-פרודוקטיבית שלי בנויה על פסוק זה. רק בזכותו פינת הקפה שלי קיימת, ופסוקים של קוד, ותשבצים, ודיאגרמות ושטויות רבות אחרות שעשיתי בזמן שהייתי אמור לעשות דברים חשובים הרבה יותר.
וכאן שואלת הג'וניורה הטרייה: מה אתה לא מפחד שיפטרו אותך? אתה בכלל גם עובד לפעמים?
אז אומר זאת כך: לא אני לא מפחד, ואני בכלל כן עובד, לפעמים, אבל כמה שפחות. העיקרון שהוא נר לרגלי ופאץ' לקבצי הוא עיקרון הפעולה המינימלית, או עבוד מעט והרווח הרבה. ומפאת חוסר הסבלנות שלכם ועודף העצלנות שלי, מי שרוצה ללמוד איך לעשות את זה, נא לעיין בפוסטים הרלוונטים.
קוד נטול קפאין
אלא שלאחרונה נפל דבר בישראל. וכן אני יודע שנפלו ועדיין נופלים פה כל מיני טילים וכטב"מים וכאלה, וזה באמת הרבה יותר חשוב מהשטויות שלי. אבל עדיין – לקחו לי את הקפה!
לפני כמה שבועות כבר עסקתי בנושא בצורה היפותטית לחלוטין, ושם החלטתי לפצוח בשביתה היפותטית, ואף הבאתי את דברי ידידי המהנדס החכם: "נכנס קפה יצא קוד, ולכן אם אין קפה אז אין קוד".
אבל לאחר יום אחד בלי פינת קפה, באופן לגמרי לא היפותטי הבנתי שהוא טעה. אם אין קפה זה לא שאין קוד. יש קוד – אבל קוד נטול קפאין. קוד עייף. כי מהנדסים עייפים מייצרים קוד עייף.
היטיב להגדיר זאת אחד מראשוני ההיי-טק, הלא הוא סר ניוטון המכובד בחוקי המכניקה של ההיי-טק, ואציין פה רק שניים מהם:
החוק הראשון של ניוטון – חוק ההתמדה: "כל עובד ממשיך במצב מנוחתו או בעבודה איטית בקצב אחיד, אלא אם כן יאלץ לשנות מצב זה על ידי כוחות מנהליים הכפויים עליו."
והחוק השלישי – חוק התאוצה: "המוטיבציה של עובד להשקיע בעבודה היא תמיד פרופורציונלית לכוח שהמנהלת שלו מפעילה עליו ובאותו הכיוון."
וחוקים אלה עובדים לשני הכיוונים, לטוב ולרע, לקוד ולבאג. תאהבו אותנו, תקבלו אהבה חזרה. תעצבנו אותנו, תקבלו עובדים עצבנים. תקחו לנו את הקפה ותעייפו אותנו, תקבלו קוד עייף.
קוד עייף
אבל מה זה בדיוק קוד עייף? אז ממש לאחרונה נתקלתי במושג "השערת האור העייף" (Tired Light) הטוענת כי חלקיקי האור – הפוטונים – מאבדים את האנרגיה שלהם ככל שהזמן עובר.
ומכאן כמובן נגזרת גם השערת הקוד העייף: לאורך הפרוייקט האנרגיה של הקוד, שהיא כידוע נגזרת של האנרגיה של מי שכותב את הקוד, הולכת וקטנה. הקוד, וגם זה שכותב אותו הופכים להיות עייפים יותר ויותר מה שעל פי רוב מעלה את כמות הבאגים הממוצעת פר קובץ. זה אגב מה שמוביל על פי תורת היחסות הפרוגרמטית להתארכות הזמן, של הפרוייקט כמובן.
הדרך המקובלת להתמודד עם הקוד העייף היא כמובן הזרמה בלתי פוסקת של קפאין לפרוגרמה, מה שיגרום לבלוטת יותרת המוטיבציה של המהנדסים לגדול ולייצר יותר קוד, וקוד יותר איכותי.
ואם לא? אז בסוף מגיע המפץ הגדול. ראו הוזהרתם!
וחוץ מזה, תגידו – אתם נפלתם על הראש?
והמהנדס החכם אומר: מהנדסים עייפים מייצרים קוד עייף.
מה לומר..
רואים שאין קפה 😌
משתתף בצערך ומקווה שיחזירו לכם את הקפה
אהבתיLiked by 1 person
שכוייח. גם אני מקוה. כבר התחלתי לכתוב את הפוסט שאכתוב אחרי שיחזירו את הקפה
אהבתיאהבתי
מה לדעתך יכול להיות הקופאין בפרוגרמה?
אהבתיLiked by 1 person
זה קל. באגים. כמו שזרימת אלקטרונים מייצרת חשמל, וזרימת כסף מניעה את הכלכלה, באותו אופן גם זרימת באגים מניעה את הפרוייקט.
אהבתיאהבתי
אינטל, ליבנו איתכם.
ואשריכם על החזרת הקפה לפינות.
אהבתיLiked by 1 person
חן חן. אשריך וקוד לך.
אהבתיLiked by 1 person