משתנה מטא-תחבירי
יש לשכתב ערך זה. ייתכן שהערך מכיל טעויות, או שהניסוח וצורת הכתיבה שלו אינם מתאימים. |
בתכנות, משתנה מֶטא־תחבירי (metasyntactic variable) הוא שם הניתן לדבר כלשהו שדנים בו, או לקבוצה של דברים, אשר מובן וידוע למתכנתים וחובבי מחשבים. המילה foo היא הדוגמה הקנונית לכך. השימוש במשתנים מטא־תחביריים בא לעזר גם בכך שהם משחררים את המהנדס מלהמציא שמות לוגיים למשתנים בנושא שבו הם דנים.
משתנים מטא־תחביריים נקראים כך כיוון ש:
- הם משתנים במטא־שפה אשר משתמשים בה כדי לדבר על תוכניות (ראו גם פסבדו־קוד);
- הם משתנים אשר ערכיהם הם לעיתים קרובות משתנים בעצמם (למשל בשימוש כמו "הערך של f הוא הסכום של foo ו־bar").
אולם, ההנחה הסבירה והמקובלת לסיבה האמיתית לקביעת המושג הוא שזה פשוט נשמע טוב: המושג הוא חלק מז'רגון המחשבים.
דוגמאות
Foo ו־Bar
- ערך מורחב – Foobar
Foo הוא המשתנה מטא־תחבירי הראשון שבו נוהגים להשתמש. לעיתים רבות הוא משולב עם bar כדי ליצור foobar. דבר זה מרמז אולי ש־foo נובע ממונח סלנג של מלחמת העולם השנייה בשם fubar, שהוא ראשי התיבות ל"מקולקל/דפוק מעבר לכל אפשרות לזיהוי", אם כי אתר תיק הז'רגון טוען בצורה משכנעת שfoo קדם לfubar. למילה Foo היה גם שימוש כמילת הבלים בקומיקס הסוריאליסטי "Smokey Stover" שהיה פופולרי בשנות ה-40 וה-50. ראו גם לוחם פו לאטימולוגיה נוספת של המילה, וכמו כן גם RFC 3092 [1] .
Bar הוא מן סוג של כינוי, שימוש נפוץ בו הוא ייצוג של מושג לא מוגדר, ערך, תהליך, פונקציה, אירוע, יעד, ולעיתים רחוקות ככינוי לאדם.
Baz
Quux
Quux הוא המשתנה מטא־תחבירי הרביעי, אשר השימוש בו נפוץ לאחר baz. אולם, לאחרונה הפך Qux נפוץ יותר בשימוש כמשתנה רביעי, כאשר Quux הופך להיות החמישי. הסיבה לכך כנראה היא שלאחר Quux באים בדרך כלל Quuux ,Quuuux וכו', ולכן Qux מתאים לתבנית זו באופן מושלם.
xyzzy
xyzzy היא מילת קסם ממשחק המחשב הרפתקאת המערה הכבירה, וככזה יש לו שימוש נפוץ כמשתנה מטא־תחבירי, במיוחד בידי האסכולה הישנה של ההאקרים.
Spam & Eggs
Spam ו־Eggs הם משתנים מטא־תחביריים קנוניים אשר להם שימוש בשפת התכנות פייתון. זוהי התייחסות למערכון מפורסם של מונטי פייתון, אשר על שמם השפה נקראת.
Fred & Barney
על שמם של הדמויות מהסדרה המצוירת "משפחת קדמוני".
Ned Baker ו- Meg O'Brien
נד בייקר הוא שם בדוי (ולא דמות בדויה) או כינוי, המשמש במקום שבו יסופק שם אמיתי בזמן מאוחר יותר. יש לו שימוש נרחב בפיתוח של תוכניות מחשב אשר צריכות לטפל בשמות של אנשים אמיתיים לאחר שהפיתוח שלהם יסתיים. שמות נפוצים נוספים אשר יש להם שימוש דומה הם שמות עם פיסוק (למשל Meg O'Brien) כדי לבחון את יכולת התוכנה לטפל בפיסוק כזה.
Null Exit
ושם המכיל טרמינולוגיה של תכנות או מסד נתונים כדי לבדוק ששימוש במונחים בהקשר זה לא ישפיעו על פעולת התוכניות..[1]
דוגמאות אחרות
thud, corge, grault, garply, waldo, plugh.
שפות אחרות
לפעמים לשפות אחרות יש משתנים מטא־תחביריים משל עצמם, למשל Aap, Noot, Mies מהשפה ההולנדית, pippo, pluto, paperino מאיטלקית, toto, tata, titi מצרפתית, וכן הלאה.
ראו גם
קישורים חיצוניים
- ערך על Foo בתיק הז'רגון (באנגלית)
- RFC 3092 התזכיר של IETF על Foo (באנגלית)
הערות שוליים
- ^ קומיקס בנושא השפעת שמות אנשים על פעולת תוכנות מחשב, אתר xkcd (באנגלית)