ALGOL
מתוך ויקיפדיה, האנציקלופדיה החופשית
ALGOL (קיצור של ALGOrithmic Language) היא משפחת שפות תכנות פרוצדורליות שפותחה החל מאמצע שנות ה-50 של המאה ה-20. ALGOL שימשה בעיקר חוקרים במדעי המחשב, אם כי תחביר השפה שימש שנים רבות גם בעולם התוכנה העסקי כאמצעי לתיאור אלגוריתמים בשלב התכנון. ל-ALGOL הייתה השפעה מכרעת על תחביר שפות שנוצרו בשלב מאוחר יותר, כדוגמת פסקל.
[עריכה] היסטוריה
ל-ALGOL היו מספר גרסאות שזוהו על פי השנה בה נוצרו. הגרסה הראשונה, ALGOL 58 הייתה תוצאה של ועדה בינלאומית של מדענים אמריקאים ואירופים. השפה החדשה ניסתה להתמודד עם סוגיות שעלו בשימוש בשפת FORTRAN הוותיקה יותר. ALGOL 60 משנת 1960 הוכרזה שנתיים אחר כך והפכה לניב הנפוץ ביותר של ALGOL. בשנת 1968 הוכרזה גם ALGOL 68 שהציגה מבנים מורכבים יותר שלא זכו להכרה רחבה.
ALGOL סבלה משימוש מועט בעולם התכנות הכללי בגלל החוסר בכלים לטיפול באמצעי קלט/פלט, כלומר השפה לא הכילה פקודות לכתיבה או קריאה מאמצעי קלט/פלט חיצוניים. כמו כן, יצרני המחשבים והתוכנה הבולטים באותה תקופה, כדוגמת IBM, לא השקיעו בקידומה של ALGOL, עקב ההשקעה בשפות מתחרות כמו PL/I, ולכן היא נשארה בתפוצה מוגבלת יחסית.
[עריכה] דוגמת קוד (ALGOL 60)
דוגמה לפרוצדורה בשם Absmax המחשבת את הערך המקסימלי במטריצה a דו-ממדית בגודל n על m. הערך מוחזר במשתנה y שמיקומו במטריצה נתון על ידי המשתנים i ו-k.
procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k); value n, m; array a; integer n, m, i, k; real y; comment The absolute greatest element of the matrix a, of size n by m is transferred to y, and the subscripts of this element to i and k; begin integer p, q; y := 0; i := k := 1; for p:=1 step 1 until n do for q:=1 step 1 until m do if abs(a[p, q]) > y then begin y := abs(a[p, q]); i := p; k := q end end Absmax
[עריכה] קישורים חיצוניים
- דו"ח על שפת התכנות האלגוריתמית ALGOL 60, פיטר נור (אנגלית)
שפות תכנות |
---|
Ada | ALGOL | Awk | Assembly | Basic | BCPL | C | C++ | C# | Cobol | Delphi | Eiffel | Forth | Fortran | Haskell | Java | Lisp | Logo | Miranda | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | PL/I | PL/SQL | Prolog | Python | REXX | Ruby | Smalltalk | Visual Basic |