PL/I
מתוך ויקיפדיה, האנציקלופדיה החופשית
PL/I (קרי: "פי אל וואן") היא שפת תכנות שפותחה בתחילת שנות השישים על ידי חברת IBM. בעוד ששפות שקדמו לה יועדו לשימוש מסוים (FORTRAN נועדה לשימושים מדעיים, COBOL נועדה לשימושים מסחריים) PL/I נועדה להיות שפת תכנות למטרות כלליות. השפה שפותחה הגשימה יעד זה, וכללה יתרונות נוספים שנבעו מהניסיון שנצבר בפיתוח שפות תכנות. השם PL/I, הוא קיצור של Programming Language One.
לאור שאיפה זו השפה כללה מבנים רבים שנועדו לסייע למתכנת לכתוב בקלות תוכניות מגוונות. לרוע המזל הדבר הוביל לשפה מסובכת יחסית, ומתכנתים רבים נתקלו בבעיות בשל הכרה חלקית של השפה. כיום, ולמעשה מאז פיתוחה של שפת C, מעצבי שפות משתדלים לפתח שפות פשוטות.
אחד מהפרויקטים הראשונים שפותחו בשפת PL/I, ומעידים על עוצמתה, רבגוניותה וגמישותה, הוא מערכת ההפעלה Multics. שפת PL/I נלמדה באוניברסיטאות בישראל (אלה שהעמידו מחשב IBM לרשות תלמידיהן) עד אמצע שנות השמונים.
השפה פותחה לסביבת IBM Mainframe, ובמהלך השנים נוצרו גם גרסאות יוניקס ו-Windows שלה. אף שחברת IBM ממשיכה לפתח את השפה וליצור גרסאות חדשות שלה, כיום PL/I אינה מהווה שפה שבה מקובל לפתח מערכות חדשות, אם כי עדיין פועלות בהצלחה מערכות שנכתבו בעבר בשפה זו.
PL/I היא מימוש מובהק של תכנות פרוצדורלי, וזהו יתרון בולט שלה על, COBOL, המתחרה העיקרית שלה בשנות השישים והשבעים.
דוגמה לפונקציית PL/I הבודקת האם מספר נתון הוא מספר ראשוני:
- PRIMALITY: PROC (NUMBER) RETURNS (BIT (1)); /* בדיקת ראשוניות של מספר */
- DECLARE NUMBER FIXED (9); /* המספר הנבדק */
- DECLARE F FIXED (9);
- DO F=2 TO SQRT (NUMBER); /* לולאה עד שורש המספר הנבדק */
- IF FIXED (NUMBER / F) * F = NUMBER
- THEN RETURN ('0'B); /* המספר אינו ראשוני */
- END;
- RETURN ('1'B); /* המספר ראשוני */
- END PRIMALITY;

