סקראץ'
גרייס הופר
מדענית מחשב אמריקנית, וריר אדמירל(תת-אלוף) בצי האמריקני
עש, סוג של חרק, באג (BUG)
ניפוי שגיאות
המונח "ניפוי שגיאות" מוכר יותר בעולם התכנות כ"דיבאגינג" (Debugging) קשה לי לדמיין מישהו בעולם התכנות הישראלי המשתמש במונח "ניפוי שגיאות". הסיבה לכך נובעת מהעובדה, שממילא צריך רוב הזמן להשתמש באנגלית - לכתוב פקודות באנגלית, לקרא חומר חדש והסברים חדשים באנגלית, ללמוד באנגלית, ואפילו לדבר עם לקוחות באנגלית. יוצא שתרגום המילה דיבאגינג ל"ניפוי שגיאות" מצריך תרגום יותר מהמילה האנגלית! ☺
אז מה זה "דיבאגינג"?
המדענית והאדמירלית גרייס הופר הייתה ממפעילי המחשב הארוורד מארק 2 (Harvard Mark II) מחשב שנבנה על-ידי אוניברסיטת הרווארד והצי האמריקאי (1947). היא לא הבינה למה המחשב שלה לא עובד. לאחר חיפוש מאוץ נמצא עש תקוע באחד מחלקי המחשב. העש קיצר את המערכת וגרם לבעייה. כשסיפרו לגרייס האדמיראלית את סיבת התקלה היא המציאה את המונח "דיבאגינג" הוצאת חרק (Bug) מהמערכת. אבל המונח "באג" לתיאור בעייה טכנית היה ידוע עוד משנת 1878 מימיו של הממציא תומס אדיסון.
המונח דיבאגינג או בקיצור דיבאג מתאר תהליך, שבו עוברים על תוכנה על מנת לאתר בעיות הגורמות לתכנה לא לעבוד, או לעבוד באוםן בלתי צפוי. דוגמה פשוטה. אנחנו רוצים שדמות תזוז שמאלה, היינו בערכים שליליים על ציר ה X. אנחנו לוחצים על דגל ירוק, והדמות זזה ימינה. בדיקה מהירה מגלה שבאמת בפקודשה "זוז" כתבנו את הערך "10" במקום "10-". שינינו את הערך, לחצנו שוב על דגל ירוק, והדמות אכן זזה שמאלה. הפעולה הזאת של מעבר על הפקודות וחיפוש אחר בעיות נקראת "דיבאג". כמובן שככל שהתכנה מורכבת יותר, ומספר שורותיה ודמויותיה רב יותר, כך תהליך הדיבאג יכול להיות ארוך יותר וקשה יותר.
חלק האתגרים באתר ניסיוני, וכנראה יעבור עוד שינויים רבים.