Fortran
פורטרן (באנגלית: FORTRAN) היא שפת תכנות פרוצדורלית מהראשונות שפותחו, והראשונה עבורה נכתב מהדר. נכתבה בעיקר לשימושים מדעיים, ונמצאת בשימוש נרחב עד היום, בעיקר עבור יישומים מדעיים הדורשים חישובים תובעניים.
![]() | |
![]() | |
כרטיס מנוקב לשפת FORTRAN IV | |
פרדיגמות | אימפרטיבית, מבנית, גנרית |
---|---|
תאריך השקה |
1957 ![]() |
מתכנן |
ג'ון באקוס ![]() |
מפתח | IBM |
טיפוסיות | סטטית, חזקה, בטוחה |
הושפעה על ידי | Speedcoding |
רישיון |
רישיון MIT ![]() |
סיומת | .f, .for, .f90, .f95 |
fortran-lang | |
![]() ![]() |
בגרסאות ראשונות שלה נכתב שם השפה כ-FORTRAN ובמאוחרות שונה הכתיב ל-Fortran. השפה התפתחה במידה ניכרת במהלך שנות קיומה, וגרסאות עדכניות שלה תומכות גם בתכנות מונחה עצמים.
היסטוריה
עריכההמהדר הראשון של פורטרן פותח למחשב IBM 704 בשנים 1954–1957 על ידי קבוצה של עובדי IBM בראשות ג'ון באקוס. בגרסתה הראשונה התבססה השפה על מספור השורות ושימוש נרחב בפקודת GOTO. בגרסאות הבאות טופלו בעיות אלה, ובגרסה FORTRAN 77 נוספה פקודת IF-THEN-ELSE. שפת התכנות זכתה לתפוצה רחבה בקרב מדענים העוסקים בפיתוח תוכנה עתירת חישובים, והדבר היווה תמריץ לפיתוח מהדרים המייצרים קוד מהיר ככל האפשר. במקביל התפתחה השפה עצמה, וגרסאות בולטות שלה הן FORTRAN IV, FORTRAN 66, FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003.
הגרסה Fortran 90 היוותה שדרוג מהותי, בהוסיפה לשפה הקצאת זיכרון דינמית, פעולות על מערכים, סוגי נתונים מופשטים, רקורסיה ומצביעים. Fortran 95 הוסיפה לשפה תמיכה בתכנות מקבילי.
התקן האחרון של השפה, שפורסם בשנת 2004, קרוי Fortran 2003, ובו נוספה תמיכה בתכנות מונחה עצמים וקישוריות טובה יותר עם שפת C.
יצרנים של מחשבי-על פיתחו גרסאות מיוחדות של השפה לשם ניצול תכונות מיוחדות של מחשביהם, לשם השגת ביצועים מהירים ביותר. גרסה נוספת, WATFOR, פותחה באוניברסיטת ווטרלו וזכתה להצלחה רבה באוניברסיטאות.
נאס"א השתמשה במחשבי IBM עליהם מורצת שפת התיכנות פורטרן, כחלק מהמירוץ לחלל, לאחר שההסתמכות על חישובים אנושיים הפכה פחות ופחות רלוונטית לעומס החישובים הנדרש [1] (הדבר מוזכר בסרט "מאחורי המספרים" ).
הקוד של הגשושיות וואיג'ר כתוב בשפת Fortran 5[2].
דוגמת קוד לפורטרן 77
עריכהתוכנית למציאת מחלק משותף מקסימלי
* euclid.f (FORTRAN 77)
* Find greatest common divisor using the Euclidean algorithm
PROGRAM EUCLID
PRINT *, 'A?'
READ *, NA
IF (NA.LE.0) THEN
PRINT *, 'A must be a positive integer.'
STOP
END IF
PRINT *, 'B?'
READ *, NB
IF (NB.LE.0) THEN
PRINT *, 'B must be a positive integer.'
STOP
END IF
PRINT *, 'The GCD of', NA, ' and', NB, ' is', NGCD(NA, NB), '.'
STOP
END
FUNCTION NGCD(NA, NB)
IA = NA
IB = NB
1 IF (IB.NE.0) THEN
ITEMP = IA
IA = IB
IB = MOD(ITEMP, IB)
GOTO 1
END IF
NGCD = IA
RETURN
END
הגדרות רשמיות של השפה
עריכה- ANSI X3.198-1992 (R1997). Title: Programming Language "Fortran" Extended. Informally known as Fortran 90. Published by ANSI.
- ISO/IEC 1539-1:1997. Title: Information technology - Programming languages - Fortran - Part 1: Base language. Informally known as Fortran 95. There are a further two parts to this standard. Part 1 has been formally adopted by ANSI.
- ISO/IEC 1539-1:2004. Title: Information technology -- Programming languages -- Fortran -- Part 1: Base language. Informally known as Fortran 2003.
לקריאה נוספת
עריכה- נסים פרנסיז וגדעון עמיר, שפת FORTRAN הלכה ומעשה, 1987.
קישורים חיצוניים
עריכה- אתר האינטרנט הרשמי של Fortran (באנגלית)
- Fortran, ברשת החברתית אקס (טוויטר)
- Fortran, באתר אנציקלופדיה בריטניקה (באנגלית)
- שפת תכנות מחשבים, FORTRAN, דף שער בספרייה הלאומית
הערות שוליים
עריכה- ^ Manned mission control computers Computers in Spaceflight: The NASA Experience
- ^ אסור לפספס, גשושית החלל וויאג'ר 1 שולחת מסרים מסתוריים שמדאיגים את נאס"א, באתר וואלה, 18 בדצמבר 2023