עדה (שפת תכנות)

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

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

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

בשנת 1983 אושר בפעם הראשונה מהדר לשפת עדה. (מהדר NYU Ada/Ed translator).

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

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

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

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

עקרונות הנדסת תוכנה רבים נאכפים בעדה כדי לשמור על "הרגלים טובים": משתנה לולאת For מוכר רק בתוך הלולאה, ולא ניתן לשנות אותו; במשפט Switch/Case חייבים למלא Case-ים עבור כל הערכים האפשרים; כשמבצעים השמה למבנה חייבים למלא את כל השדות; "התעסקות" במצביעים אפשרית אבל מורכבת ולא נפוצה.

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

עדה תומכת בריבוי משימות, כולל אובייקט סנכרון שנקרא "מפגש" (בין Task-ים).

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

לעדה יצאו שלוש הרחבות משמעותיות (לתקן המקורי מתייחסים כ־ADA-78):

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

  • "ADA: עבר, הווה, עתיד", מעשה חושב, פברואר 1985.