ALGOL (קיצור של ALGOrithmic Language) היא משפחה של שפות תכנות פרוצדורליות, שפותחה החל מאמצע שנות ה‑50. "פרוצדורלית" פירושה שכותבים תוכניות כקבוצת פרוצדורות או צעדים קצרים.
ALGOL הציגה לראשונה תכונות חשובות רבות והפכה במהירות לסטנדרט פרקטי לתיאור אלגוריתמים. "אלגוריתם" הוא רצף צעדים לפתרון בעיה. לעתים השתמשו ב‑ALGOL כפסאודו‑קוד, כלומר כתיבה של אלגוריתם בשפה קריאה ולא בהכרח בשפה שמיועדת להפעלה על מחשב.
השפעתה על תחביר שפות האימפרטיביות (שפות שמגדירות צעדים ברורים לביצוע) הייתה מכרעת. שפות מאוחרות יותר, כמו פסקל, שאבו רבות מהרעיונות תחביריים של ALGOL. למשל סימון ההשמה := והפרדה בין פקודות בעזרת נקודה ופסיק נגזרו ממנה.
למרות ההשפעה המחקרית, ALGOL לא הצליחה בתעשייה ונשארה נפוצה בעיקר באירופה. הסיבות כללו חוסר במבני נתונים וטיפוסים עשירים, ולא הגדרת פקודות קריאה/כתיבה למכשירים חיצוניים, מתוך חשש לתלות בחומרה. זה הקשה על העברת תוכניות בין מערכות. גם יצרניות גדולות כמו IBM לא קידמו את השפה והעדיפו שפות מתחרות.
ל‑ALGOL היו מספר גרסאות שמסומנות לפי השנה: ALGOL 58 נוצרה על ידי ועדה בינלאומית שניסתה לטפל בבעיות שהתגלו בשפת פורטרן הוותיקה. ALGOL 60, מ‑1960, הפכה לניב הנפוץ ביותר של המשפחה. היא הייתה גם שפת התכנות הראשונה ששימשה את המחשב שהותקן בטכניון בחיפה.
בשנת 1968 פורסמה ALGOL 68. היא תמכה בהגדרה של מבני נתונים מורכבים ושינתה את מנגנון העברת הפרמטרים מ‑call‑by‑name ל‑call‑by‑reference (שיטות להעברת ערכים לפונקציות). ALGOL 68 הייתה ברוב היבטיה שפה חדשה: נוחה למשתמש, אך קשה ליישום יעיל ומהדריה (מהדר הוא תוכנה שמתרגמת קוד לשפה שהמחשב מבין). גם היא לא התפשטה הרבה, אך השפיעה על תכנון שפות מאוחרות.
הדוגמה מראה פרוצדורה בשם Absmax. היא מחשבת את הערך המוחלט הגדול ביותר במטריצה דו‑ממדית a בגודל n על m. הערך מוחזר במשתנה y, והמיקום שלו במטריצה מסומן על ידי האיברים i ו‑k. הקוד ממחיש את הסגנון הפרוצדורלי והתחביר המיוחד של ALGOL 60.
ALGOL פירושו ALGOrithmic Language. זו משפחה של שפות תכנות מהשנים הראשונות, משנות ה‑50. "שפת תכנות" היא שפה שאיתה כותבים הוראות למחשב.
ALGOL היתה חשובה כי המציאה רעיונות רבים לראשונה. היא שימשה גם כדרך פשוטה לכתוב אלגוריתמים. "אלגוריתם" זה סדרת צעדים לפתור בעיה. לפעמים כותבים אלגוריתם בפסאודו‑קוד. פסאודו‑קוד הוא כתיבה ברורה שאינה חייבת לרוץ על מחשב.
הרבה שפות אחר‑כך לקחו רעיונות מ‑ALGOL. למשל הסימון := לכתיבת ערך, ונקודה ופסיק כדי להפריד פקודות.
ALGOL לא הפכה לפופולרית בתעשייה. היא לא כללה מספיק מבני נתונים, ולא הוסיפה פקודות לקריאה וכתיבה למכשירים. זה הקשה על הרצת תוכניות על מחשבים שונים. חברות גדולות לא קידמו אותה.
היו כמה גרסאות עיקריות: ALGOL 58 ו‑ALGOL 60. ALGOL 60 הפכה לנפוצה יותר. במחשבים של הטכניון השתמשו בה לראשונה. בשנת 1968 יצאה ALGOL 68. היא אפשרה מבני נתונים מורכבים, אבל היתה קשה לתכנת ולהכין לה מהדר. מהדר זה תוכנה שמתרגמת קוד לשפה שהמחשב מבין.
הדוגמה מראה פרוצדורה בשם Absmax. היא מוצאת את המספר בעל הערך המוחלט הגדול ביותר במטריצה. הערך נשמר ב‑y, והמיקום שלו נשמר ב‑i ו‑k.
תגובות גולשים