PL/I (קרי: "פי אל ואן", קיצור של Programming Language One) היא שפת תכנות אימפרטיבית, המחשב מבצע פקודות אחת אחרי השנייה, ופרוצדורלית, מחלקת קוד לחלקים שנקראים פרוצדורות. השפה פותחה באמצע שנות ה-60 על ידי IBM כדי להחליף או לאחד בין FORTRAN (למדעים) ו-COBOL (למסחר) ולהיות שפה למטרות כלליות.
בשנות ה-60 הקימה IBM ועדה שתכננה שפה חדשה, אחרי שניסיונות להרחיב את FORTRAN נכשלו. השם השתנה מ‑NPL ל‑MPPL ולבסוף ל‑PL/I. ההגדרה הראשונה פורסמה ב-1964; מדריך למשתמש ב-1965; דרישות פורמליות ב-1967; ותקן ב-1976. הפצת המהדר (הקומפיילר) החלה ב-1966. השפה נולדה סביב מערכות IBM Mainframe, אבל נוצרו גם גרסאות ל־Unix, Windows ו‑OpenVMS.
PL/I לא הצליחה להחליף במלואה את FORTRAN או את COBOL, אך בזכות כוח השוק של IBM הדגישה את ALGO L. אחד הפרויקטים הבולטים שפותחו ב‑PL/I הוא מערכת ההפעלה Multics. בשנות ה-70 לימדו אותה באוניברסיטאות, אך בסוף העשור הוחלפה לעתים קרובות על ידי Pascal. בישראל לימדו אותה באוניברסיטאות עד אמצע שנות ה-80, והיא זכתה לפופולריות בגוש המזרחי.
היא הביאה פיצ'רים חדשים לשפות אימפרטיביות: רקורסיה (פונקציה שקוראת לעצמה), מגוון גדול של טיפוסי נתונים פרימיטיביים, טיפול בחריגות בזמן ריצה (שגיאות שרצות בזמן ביצוע), ותמיכה מובנית בניפוי שגיאות (debugging). PL/I תומכת בתכנות פרוצדורלי, יתרון על COBOL באותה תקופה. לשפה יש שימוש נרחב בברירות מחדל בהגדרת משתנים: שמות שמתחילים באותיות I, N מוגדרים כברירת מחדל כ‑FIXED BIN (מספר בנקודה קבועה), אחרים כ‑FLOAT (נקודה צפה), וניתן לקבל אזהרות מהמהדר על משתנים שלא הוגדרו במפורש.
דיאלקטים מקטינים של השפה, כמו PL/M, נוצרו כדי לפשט את הלמידה וההידור.
ב‑PL/I מזהים (שמות משתנים ופרוצדורות) אינם יכולים להכיל רווחים. משתמשים בקו תחתון להפרדה, למשל NEXT_PRIME.
מילות המפתח אינן שמורות לגמרי: אפשר להשתמש בהן כשמות משתנה, והמשמעות נקבעת לפי ההקשר. זה מקשה על הניתוח הלקסיקלי של הקוד. למילה אחת יכולות להיות שתי משמעויות בשפה, למשל FIXED שמשמשת גם להגדרת טיפוס וגם כפונקציה החוזרת חלק של מספר.
PL/I מסוגלת להדפיס טקסט (דוגמת Hello World) ולממש פונקציות כמו בדיקת ראשוניות. יש לה תחביר ליצירת פרוצדורות, הכרזת משתנים ולולאות, כפי שמודגם בתוכניות הדוגמה המקובלות.
PL/I (קראו: פי אל ואן) היא שפת תכנות. שפת תכנות פירושה דרך לתת הוראות למחשב. היא נוצרה באמצע שנות ה-60 על ידי חברת IBM.
IBM רצתה שפה אחת גם למדענים וגם לעסקים. השם השתנה מ‑NPL ל‑MPPL ולבסוף ל‑PL/I. הספר הראשון על השפה יצא ב‑1964. המהדר (תוכנה שמתרגמת קוד) הופץ ב‑1966. לימים היו לה גם גרסאות ל‑Unix ו‑Windows.
PL/I לא הצליחה להחליף לחלוטין את FORTRAN ו‑COBOL. עם זאת היא שימשה לפרויקטים חשובים, למשל המערכת Multics. באוניברסיטאות לימדו אותה עד סוף שנות ה-70.
היא כללה רעיונות חדשים אז. יש בה רקורסיה, פונקציה שקוראת לעצמה. יש בה טיפוסי נתונים רבים. היא יכולה לטפל בשגיאות בזמן שהתוכנית רצה. גם יש לה כלים לניפוי שגיאות.
השפה גדולה וקשה ללמוד. קשה גם לכתוב מהדרים מהירים ויעילים, ולכן תוכנות מהסוג הזה היו יקרות.
שמות משתנים לא יכולים להכיל רווחים. משתמשים בקו תחתון, כמו NEXT_PRIME.
מילות המפתח יכולות לשמש גם כשמות של משתנים. זה מקשה על המהדר להבין את הקוד.
אפשר להדפיס "HELLO WORLD" ב‑PL/I. אפשר גם לכתוב פונקציה שבודקת אם מספר הוא ראשוני.
תגובות גולשים