איך מדבגים מערכת שרצה ביותר מ-100 פריימים בשניה? break point מקפיא נקודה בזמן. לכתוב ל-terminal בקצב הזה חסר משמעות. הדרך שנותרה לנו היא להוסיף שכבת רינדור שכל מטרתה debugging. בדוגמה אני מציג את הזום של האריח ואת הגבולות שלו. אריח שהופך אדום, יוחלף ברגע שיטענו מחליפיו.
לינוס טורבאלדס ידוע בכך שהוא מוכן לשבור למפתחים את הלב, אבל לא למשתמשים.
יש באג בקרנל שנשאר שנים רק כי תוכנה ישנה כלשהי הסתמכה עליו. כשהעיקרון הוא:
We do not break userspace
קחו שניה ללמוד את הסגנון שלו מהציטוט המצורף
@idkn_5@assync שכבת הדיבאג נעדרת כל אופטימיזציה. כשאני רוצה להבין מה קורה, ממש לא מפריע לי לצנוח מ120 ל-60 פריימים לשנייה.
וכשמה כן היא, שכבה נפרדת. היא מורידה ביצועים אך ממש לא נוגעת בלוגיקה.
היא תמיד נקראת אחרי פונקציות הרינדור כדי א. לדעת מה רונדר. ב. לצייר מעל השכבה הקודמת.
והמקור במלואו שווה קריאה :)
Fix your f*cking "compliance tool", because it is obviously broken.
And fix your approach to kernel programming.
Linus
https://t.co/HnHWFBktUI
שפת zig מספקת לנו אופרטורים מיוחדים ל-wrapping ו-saturating.
אופרטור הרוויה (saturation) מונע מאיתנו לחרוג מטווח מסויים. בדוגמה הבאה, הגדלת משתנה מסוג char בערך הגדול מערך החריגה ישאיר את הערך הרווי (255) ללא שום שגיאה.
>>>
יש לזה כינוי, BDFL - בתרגום חופשי ״רודן נאור לכל החיים״
הכינוי נטבע לתאר את Guido van Rossum היוצר של פייתון
וכמובן הוענק גם לטורבאלדס
https://t.co/FWVGLB6cJk