מהי PL/I?
PL/I היא שפה אימפרטיבית, מובנית ורב-תכליתית אשר שילבה תכונות מתקדמות של שפות קודמות כמו Fortran ו-COBOL.
השפה כללה יכולות מתקדמות כגון טיפול בחריגים, עיבוד מקבילי, תהליכים אסינכרוניים וניהול מבני נתונים מורכבים.
PL/I הייתה נפוצה במערכות מחשוב גדולות (mainframes) ושימשה לכתיבת תוכנות לניהול בסיסי נתונים,
עיבוד פיננסי, מדידות מדעיות ויישומים עסקיים מתוחכמים.
למרות ירידת הפופולריות שלה בשנים האחרונות, היא עדיין נמצאת בשימוש במסגרות מוסדיות מסוימות.
שימושים עיקריים של PL/I
PL/I פותחה במקור כדי לתת מענה לצרכים של תעשיות שונות, ולכן היא הייתה נפוצה במיוחד בתחומים הבאים:
מערכות עסקיות ופיננסיות – השפה הייתה בשימוש נרחב בבנקים, חברות ביטוח ותאגידים גדולים.
עיבוד נתונים – בשל היכולות המובנות שלה בניהול קבצים, PL/I שימשה לניהול ועיבוד כמויות גדולות של נתונים.
יישומים מדעיים והנדסיים – השפה שילבה יכולות חישוביות מתקדמות ונעשה בה שימוש במוסדות מחקר ובאוניברסיטאות.
מערכות הפעלה – חלק ממערכות ההפעלה המוקדמות של IBM נכתבו ב-PL/I.
יישומים צבאיים וממשלתיים – בשל יכולות הטיפול במידע רגיש ומורכב, PL/I שימשה גם במערכות צבאיות וממשלתיות.
שפות תכנות דומות ל-PL/I
PL/I שאבה השראה משפות קודמות והשפיעה על פיתוחן של שפות חדשות.
ניתן לראות קשר בין PL/I למספר שפות אחרות:
Fortran – בדומה ל-PL/I, גם Fortran מיועדת לחישובים מדעיים, אך היא חסרה חלק מהתכונות העסקיות ש-PL/I שילבה.
COBOL – מיועדת בעיקר לעולם הפיננסי והעסקי, עם דגש חזק על עיבוד קבצים ודוחות, אך ללא היכולות המדעיות של PL/I.
C – שפה גמישה שנולדה בשנות ה-70 ושאבה השראה מ-PL/I בתחומים כמו טיפול בזיכרון ומבני נתונים.
Ada – שפת תכנות שפותחה עבור מערכות צבאיות ותעשייתיות עם דגש על אמינות, גם היא חלקה כמה עקרונות עם PL/I.
Pascal – אמנם שפה מובנית ופשוטה יותר, אך היא הושפעה מחלק מהעקרונות של PL/I בתחום התכנון המבני.
שאלות ותשובות למתקדמים ב-PL/I
מהם היתרונות של PL/I על פני שפות תכנות אחרות מהתקופה שבה פותחה?
PL/I שילבה את הכוח של Fortran (לחישובים מתמטיים) עם הנוחות של COBOL (ליישומים עסקיים),
תוך הוספת יכולות מתקדמות כגון טיפול בחריגות (ON ERROR), תהליכים מקבילים ותחביר מודולרי.
כיצד מתבצע ניהול זיכרון ב-PL/I?
תומכת בהקצאה דינמית של זיכרון באמצעות המילה השמורה ALLOCATE ומשחררת אותו באמצעות FREE,
מה שמאפשר גמישות רבה יותר בהשוואה לשפות ישנות יותר כמו Fortran.
איך PL/I מטפלת במבני נתונים מורכבים?
השפה כוללת תמיכה במערכים, רשומות (STRUCTURE), רשימות מקושרות ומצביעים,
המאפשרים למתכנתים לבנות מודלים נתונים מורכבים בקלות יחסית.
מהן יכולות הטיפול בשגיאות ב-PL/I?
PL/I כוללת מנגנון מובנה לטיפול בשגיאות באמצעות פקודות כמו ON ERROR, ON CONDITION,
המאפשרים ניהול חריגות בזמן ריצה בצורה מובנית.
האם PL/I עדיין בשימוש כיום?
למרות שהשימוש בה פחת משמעותית עם השנים, היא עדיין קיימת במערכות מורשת (legacy systems),
בעיקר בבנקים, חברות ביטוח וארגונים גדולים המשתמשים במחשבי Mainframe של IBM.